Compare commits

..

No commits in common. 'main' and 'main' have entirely different histories.
main ... main

Binary file not shown.

Binary file not shown.

@ -1,381 +0,0 @@
package com.example.flower.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.flower.entity.Staff;
import com.example.flower.service.StaffService;
import com.example.flower.unit.JWTUtil;
import com.example.flower.unit.MenuList;
import io.jsonwebtoken.Claims;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/staff")
public class StaffController {
@Resource
private StaffService staffService;
@PostMapping("/getByToken") //通过token获取账号信息
public JSONObject getStaffByToken(@RequestHeader String Authorization){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Claims claims = JWTUtil.getBodyByToken(Authorization);
int staff_id = (int) claims.get("id");
Staff staff = staffService.staffInfo(staff_id);
if(staff!=null){
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("staff_id",staff.getStaff_id());
jsonObject1.put("staff_name",staff.getStaff_name());
jsonObject1.put("staff_role",staff.getStaff_role());
jsonObject1.put("staff_pic",staff.getStaff_pic());
jsonObject.put("code",200);
jsonObject.put("msg","成功");
jsonObject.put("data",jsonObject1);
}
else{
jsonObject.put("code",403);
jsonObject.put("msg","获取员工信息失败");
jsonObject.put("data",null);
}
return jsonObject;
}
@PostMapping("/login") //staffLogin员工后台登录
public JSONObject staffLogin(@RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
Staff staff = staffService.staffLogin(param.getString("staff_name"));
//根据用户名没有查到用户
if(staff==null){
jsonObject.put("code",403 );
jsonObject.put("msg"," 用户名不存在" );
jsonObject.put("token",null);
jsonObject.put("data",null); //菜单信息
}
else if (staff.getStaff_state()==0) { //账号为禁用状态
jsonObject.put("code",403);
jsonObject.put("msg","账号禁用,请联系管理员" );
jsonObject.put("token",null);
jsonObject.put("data",null); //菜单信息
}
//密码验证,创建token
else if(staff.getStaff_pwd().equals(param.getString("staff_pwd"))){
String token = JWTUtil.createToken(staff.getStaff_id(),staff.getStaff_role());
jsonObject.put("code",200 );
jsonObject.put("msg","登录成功" );
jsonObject.put("token",token);
JSONObject jsonObject1 = new JSONObject(); //放menu
JSONObject[] menuList = new JSONObject[0];
if(staff.getStaff_role()==1){ //店长可以获得所有菜单的权限
menuList = new JSONObject[8];
MenuList.setMenu(menuList, 1);
}
else if(staff.getStaff_role()==0){ //员工菜单
menuList = new JSONObject[7];
MenuList.setMenu(menuList, 0);
}
jsonObject1.put("menu",menuList);
jsonObject.put("data",jsonObject1);
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg"," 密码错误" );
jsonObject.put("token",null);
jsonObject.put("data",null); //菜单信息
}
return jsonObject;
}
@PostMapping("/list") //staffList获取所有用户信息列表
public JSONObject staffList(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
JSONObject jsonObject1 = new JSONObject();
int page=param.getIntValue("page");
int page_size=param.getIntValue("page_size");
List<Staff> staffList = staffService.staffList(page,page_size).getList();
jsonObject1.put("page_number",staffService.staffList(page,page_size).getPages());
jsonObject1.put("total",staffService.staffList(page,page_size).getTotal());
int size=staffList.size();
JSONObject[] objects = new JSONObject[size];
for(int i = 0;i<size;i++){
objects[i]=new JSONObject();
objects[i].put("staff_id", staffList.get(i).getStaff_id());
objects[i].put("staff_name", staffList.get(i).getStaff_name());
objects[i].put("staff_pwd", staffList.get(i).getStaff_pwd());
objects[i].put("staff_full_name",staffList.get(i).getStaff_full_name());
objects[i].put("staff_phone", staffList.get(i).getStaff_phone());
objects[i].put("staff_state", staffList.get(i).getStaff_state());
objects[i].put("staff_role", staffList.get(i).getStaff_role());
objects[i].put("staff_pic",staffList.get(i).getStaff_pic());
}
jsonObject1.put("staffs",objects);
jsonObject.put("code",200 );
jsonObject.put("msg","token认证成功!" );
jsonObject.put("data",jsonObject1);
return jsonObject;
}
@PostMapping("/query") //staffListByQuery查询用户信息列表
public JSONObject staffListByQuery(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
JSONObject jsonObject1 = new JSONObject();
int page=param.getIntValue("page");
int page_size=param.getIntValue("page_size");
String staff_name = param.getString("staff_name");
List<Staff> staffList = staffService.staffListByQuery(page,page_size,staff_name).getList();
jsonObject1.put("page_number",staffService.staffListByQuery(page,page_size,staff_name).getPages());
jsonObject1.put("total",staffService.staffListByQuery(page,page_size,staff_name).getTotal());
int size=staffList.size();
JSONObject[] objects = new JSONObject[size];
for(int i = 0;i<size;i++){
objects[i]=new JSONObject();
objects[i].put("staff_id", staffList.get(i).getStaff_id());
objects[i].put("staff_name", staffList.get(i).getStaff_name());
objects[i].put("staff_pwd", staffList.get(i).getStaff_pwd());
objects[i].put("staff_full_name",staffList.get(i).getStaff_full_name());
objects[i].put("staff_phone", staffList.get(i).getStaff_phone());
objects[i].put("staff_state", staffList.get(i).getStaff_state());
objects[i].put("staff_role", staffList.get(i).getStaff_role());
objects[i].put("staff_pic",staffList.get(i).getStaff_pic());
}
jsonObject1.put("staffs",objects);
jsonObject.put("code",200 );
jsonObject.put("msg","token认证成功!" );
jsonObject.put("data",jsonObject1);
return jsonObject;
}
@PostMapping("/add") //staffAdd添加新员工
public JSONObject staffAdd(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Staff staff = new Staff();
staff.setStaff_name(param.getString("staff_name"));
staff.setStaff_pwd(param.getString("staff_pwd"));
staff.setStaff_full_name(param.getString("staff_full_name"));
staff.setStaff_phone(param.getString("staff_phone"));
staff.setStaff_role(param.getIntValue("staff_role"));
staff.setStaff_state(param.getIntValue("staff_state"));
staff.setStaff_pic(param.getString("staff_pic"));
staffService.staffAdd(staff);
jsonObject.put("code",200 );
jsonObject.put("msg","成功" );
jsonObject.put("staff_id",staff.getStaff_id());
return jsonObject;
}
@PostMapping("/deletePer") //staffDeletePer删除单个员工
public JSONObject staffDeletePer(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
int flag = staffService.staffDeletePer(param.getIntValue("staff_id"));
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","成功" );
}
else {
jsonObject.put("code",403 );
jsonObject.put("msg","删除失败" );
}
return jsonObject;
}
@PostMapping("/deleteMul") //staffDeleteMul批量删除员工
public JSONObject staffDeleteMul(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
//获取请求参数
JSONArray staff_ids = param.getJSONArray("staff_ids");
int [] ids = new int[staff_ids.size()];
//把userid中的数据进行类型转换并存入到int数组中
for (int i = 0; i < staff_ids.size(); i++) {
ids[i] = Integer.parseInt(staff_ids.getString(i));
}
int result = staffService.staffDeleteMul(ids);
if(result == ids.length){
jsonObject.put("code",200);
jsonObject.put("msg","批量删除成功,删除了"+result+"条员工数据");
}else{
jsonObject.put("code",403);
jsonObject.put("msg","批量删除失败,删除了"+result+"条员工数据");
}
return jsonObject;
}
@PostMapping("/info") //staffInfo获取员工信息
public JSONObject staffInfo(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
int staff_id = param.getIntValue("staff_id");
Staff staff = staffService.staffInfo(staff_id);
if(staff!=null){
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("staff_id",staff.getStaff_id());
jsonObject1.put("staff_name",staff.getStaff_name());
jsonObject1.put("staff_pwd",staff.getStaff_pwd());
jsonObject1.put("staff_full_name",staff.getStaff_full_name());
jsonObject1.put("staff_phone",staff.getStaff_phone());
jsonObject1.put("staff_state",staff.getStaff_state());
jsonObject1.put("staff_role",staff.getStaff_role());
jsonObject1.put("staff_pic",staff.getStaff_pic());
jsonObject.put("code",200);
jsonObject.put("msg","成功");
jsonObject.put("data",jsonObject1);
}
else{
jsonObject.put("code",403);
jsonObject.put("msg","获取员工信息失败");
jsonObject.put("data",null);
}
return jsonObject;
}
@PostMapping("/modify") //staffModify修改员工信息
public JSONObject staffModify(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Staff staff = new Staff();
staff.setStaff_id(param.getIntValue("staff_id"));
staff.setStaff_name(param.getString("staff_name"));
staff.setStaff_pwd(param.getString("staff_pwd"));
staff.setStaff_full_name(param.getString("staff_full_name"));
staff.setStaff_phone(param.getString("staff_phone"));
staff.setStaff_role(param.getIntValue("staff_role"));
staff.setStaff_state(param.getIntValue("staff_state"));
staff.setStaff_pic(param.getString("staff_pic"));
int flag = staffService.staffModify(staff);
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","修改成功" );
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","修改失败" );
}
return jsonObject;
}
@PostMapping("/modifyState") //staffModifyState修改单个员工信息
public JSONObject staffModifyState(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
int staff_id = param.getIntValue("staff_id");
Staff staff = staffService.staffInfo(staff_id);
if(staff==null){
jsonObject.put("code",403 );
jsonObject.put("msg","员工不存在" );
return jsonObject;
}
int staff_state = staff.getStaff_state();
int state_modify = -1;
if(staff_state==0) state_modify=1;
else if (staff_state==1) state_modify=0;
if(state_modify==-1){
jsonObject.put("code",403 );
jsonObject.put("msg","员工状态错误" );
return jsonObject;
}
int flag = staffService.staffModifyState(staff_id,state_modify);
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","状态修改成功" );
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","状态修改失败" );
}
return jsonObject;
}
}

@ -1,63 +0,0 @@
package com.example.flower.controller;
import com.alibaba.fastjson.JSONObject;
import com.example.flower.unit.JWTUtil;
import io.jsonwebtoken.Claims;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.OutputStream;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Date;
@RestController
@RequestMapping("/upload")
public class UploadController {
@Value("${web.upload-path}")
String uploadPath;
//上传图片
@PostMapping("")
public JSONObject upload(@RequestHeader String Authorization,@RequestParam("file") MultipartFile file){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Claims body= JWTUtil.getBodyByToken(Authorization);
int id = (int) body.get("id");
JSONObject json = new JSONObject();
try {
File rootDir = new File(uploadPath);
if(!rootDir.exists()){
rootDir.mkdir();
}
File userDir = new File(uploadPath+"/"+id);
if(!userDir.exists()){
userDir.mkdir();
}
String dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
String type = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
File addFile = new File(userDir,dateFormat + type);
OutputStream outputStream = Files.newOutputStream(addFile.toPath());
outputStream.write(file.getBytes());
jsonObject.put("code",200);
jsonObject.put("msg","成功");
json.put("url","/"+id+ "/" + dateFormat + type);
jsonObject.put("data",json);
}catch (Exception e){
e.printStackTrace();
jsonObject.put("code",403);
jsonObject.put("msg","失败");
}
return jsonObject;
}
}

@ -1,386 +0,0 @@
package com.example.flower.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.flower.entity.User;
import com.example.flower.service.UserService;
import com.example.flower.unit.JWTUtil;
import io.jsonwebtoken.Claims;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.ParseException;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
//后台
@PostMapping("/list") //userList获取所有用户信息列表
public JSONObject userList(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
JSONObject jsonObject1 = new JSONObject();
int page=param.getIntValue("page");
int page_size=param.getIntValue("page_size");
List<User> userList = userService.userList(page,page_size).getList();
jsonObject1.put("page_number",userService.userList(page,page_size).getPages());
jsonObject1.put("total",userService.userList(page,page_size).getTotal());
int size=userList.size();
JSONObject[] objects = new JSONObject[size];
for(int i = 0;i<size;i++){
objects[i]=new JSONObject();
objects[i].put("user_id", userList.get(i).getUser_id());
objects[i].put("user_name", userList.get(i).getUser_name());
objects[i].put("user_pwd", userList.get(i).getUser_pwd());
objects[i].put("user_phone", userList.get(i).getUser_phone());
objects[i].put("user_state", userList.get(i).getUser_state());
objects[i].put("user_role", userList.get(i).getUser_role());
if(userList.get(i).getUser_role() == 1) //是会员则返回会员日期
objects[i].put("member_time",userList.get(i).getMember_end_time());
else
objects[i].put("member_time","--");
objects[i].put("user_pic",userList.get(i).getUser_pic());
}
jsonObject.put("code",200 );
jsonObject.put("msg","token认证成功!" );
jsonObject1.put("users",objects);
jsonObject.put("data",jsonObject1);
return jsonObject;
}
@PostMapping("/query") //userListByQuery查询用户信息列表
public JSONObject userListByQuery(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
JSONObject jsonObject1 = new JSONObject();
int page=param.getIntValue("page");
int page_size=param.getIntValue("page_size");
String user_name = param.getString("user_name");
List<User> userList = userService.userListByQuery(page,page_size,user_name).getList();
int page_number=userService.userListByQuery(page,page_size,user_name).getPages();
jsonObject1.put("page_number",page_number);
jsonObject1.put("total",userService.userListByQuery(page,page_size,user_name).getTotal());
int size=userList.size();
JSONObject[] objects = new JSONObject[size];
for(int i = 0;i<size;i++){
objects[i]=new JSONObject();
objects[i].put("user_id", userList.get(i).getUser_id());
objects[i].put("user_name", userList.get(i).getUser_name());
objects[i].put("user_pwd", userList.get(i).getUser_pwd());
objects[i].put("user_phone", userList.get(i).getUser_phone());
objects[i].put("user_state", userList.get(i).getUser_state());
objects[i].put("user_role", userList.get(i).getUser_role());
if(userList.get(i).getUser_role() == 1) //是会员则返回会员日期
objects[i].put("member_time",userList.get(i).getMember_end_time());
else
objects[i].put("member_time","--");
objects[i].put("user_pic",userList.get(i).getUser_pic());
}
jsonObject.put("code",200 );
jsonObject.put("msg","成功" );
jsonObject1.put("users",objects);
jsonObject.put("data",jsonObject1);
return jsonObject;
}
@PostMapping("/deletePer") //userDeletePer删除单个用户
public JSONObject userDeletePer(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
int flag = userService.userDeletePer(param.getIntValue("user_id"));
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","成功" );
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","删除失败" );
}
return jsonObject;
}
@PostMapping("/deleteMul") //userDeleteMul批量删除用户
public JSONObject userDeleteMul(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
//获取请求参数
JSONArray user_ids = param.getJSONArray("user_ids");
int [] ids = new int[user_ids.size()];
//把userid中的数据进行类型转换并存入到int数组中
for (int i = 0; i < user_ids.size(); i++) {
ids[i] = Integer.parseInt(user_ids.getString(i));
}
int result = userService.userDeleteMul(ids);
if(result == ids.length){
jsonObject.put("code",200);
jsonObject.put("msg","批量删除成功,删除了"+result+"条用户数据");
}else{
jsonObject.put("code",403);
jsonObject.put("msg","批量删除失败,删除了"+result+"条用户数据");
}
return jsonObject;
}
@PostMapping("/modifyState") //userModifyState修改单个用户状态
public JSONObject userModifyState(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
int user_id = param.getIntValue("user_id");
User user = userService.userInfo(user_id);
if(user==null){
jsonObject.put("code",403 );
jsonObject.put("msg","用户不存在" );
return jsonObject;
}
int user_state = user.getUser_state();
int state_modify = -1;
if(user_state==0) state_modify=1;
else if (user_state==1) state_modify=0;
if(state_modify==-1){
jsonObject.put("code",403 );
jsonObject.put("msg","用户状态错误" );
return jsonObject;
}
int flag = userService.userModifyState(user_id,state_modify);
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","状态修改成功" );
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","状态修改失败" );
}
return jsonObject;
}
//前台
@PostMapping("/getByToken") //通过token获取用户账号信息
public JSONObject getStaffByToken(@RequestHeader String Authorization){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Claims claims = JWTUtil.getBodyByToken(Authorization);
int user_id = (int) claims.get("id");
User user = userService.userInfo(user_id);
if(user!=null){
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("user_id",user.getUser_id());
jsonObject1.put("user_name",user.getUser_name());
jsonObject1.put("user_role",user.getUser_role());
jsonObject1.put("user_pic",user.getUser_pic());
jsonObject1.put("member_point",user.getMember_point());
jsonObject.put("code",200);
jsonObject.put("msg","成功");
jsonObject.put("data",jsonObject1);
}
else{
jsonObject.put("code",403);
jsonObject.put("msg","获取用户信息失败");
jsonObject.put("data",null);
}
return jsonObject;
}
@PostMapping("/login") //userLogin用户登录
public JSONObject staffLogin(@RequestBody JSONObject param) throws ParseException {
JSONObject jsonObject = new JSONObject();
User user = userService.userLogin(param.getString("user_name"));
//根据用户名没有查到用户
if(user==null){
jsonObject.put("code",403 );
jsonObject.put("msg"," 用户名不存在" );
jsonObject.put("token",null);
}
else if (user.getUser_state()==0) { //账号为禁用状态
jsonObject.put("code",403);
jsonObject.put("msg","账号禁用,请联系客服" );
jsonObject.put("token",null);
}
//密码验证,创建token
else if(user.getUser_pwd().equals(param.getString("user_pwd"))){
// 验证用户会员身份是否过期
if(user.getUser_role() == 1){
System.out.println(user.getUser_role());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 格式化
Date date = new Date();
String date_now = sdf.format(date); //当前时间
Date date1 = sdf.parse(user.getMember_end_time());
Date date2 = sdf.parse(date_now);
boolean before = date1.before(date2);
if(before) { //当前用户会员过期
user.setUser_role(0);
userService.userModify(user);
System.out.println(user.getUser_role());
}
}
String token = JWTUtil.createToken(user.getUser_id(),user.getUser_role());
jsonObject.put("code",200 );
jsonObject.put("msg"," 登录成功,欢迎来到好花!" );
jsonObject.put("token",token);
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg"," 密码错误" );
jsonObject.put("token",null);
}
return jsonObject;
}
@PostMapping("/register") //userRegister用户注册
public JSONObject userAdd(@RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(userService.findByName(param.getString("user_name")) != null){
jsonObject.put("code",403 );
jsonObject.put("msg","该用户名已被占用" );
return jsonObject;
}
User user = new User();
user.setUser_name(param.getString("user_name"));
user.setUser_pwd(param.getString("user_pwd"));
user.setUser_role(0);
user.setUser_state(1);
user.setUser_phone("");
user.setUser_pic("");
userService.userRegister(user);
jsonObject.put("code",200 );
jsonObject.put("msg","注册成功!" );
jsonObject.put("user_id",user.getUser_id());
return jsonObject;
}
@PostMapping("/info") //useInfo获取用户信息
public JSONObject useInfo(@RequestHeader String Authorization){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Claims claims = JWTUtil.getBodyByToken(Authorization);
int user_id = (int) claims.get("id");
User user = userService.userInfo(user_id);
if(user!=null){
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("user_id",user.getUser_id());
jsonObject1.put("user_name",user.getUser_name());
jsonObject1.put("user_pwd",user.getUser_pwd());
jsonObject1.put("user_role",user.getUser_role());
jsonObject1.put("user_phone",user.getUser_phone());
jsonObject1.put("user_pic",user.getUser_pic());
jsonObject1.put("member_end_time",user.getMember_end_time());
jsonObject1.put("member_point",user.getMember_point());
jsonObject.put("code",200 );
jsonObject.put("msg","成功" );
jsonObject.put("data",jsonObject1);
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","获取用户信息失败" );
jsonObject.put("data",null);
}
return jsonObject;
}
@PostMapping("/modify") //userModify修改用户信息
public JSONObject userModify(@RequestHeader String Authorization, @RequestBody JSONObject param){
JSONObject jsonObject = new JSONObject();
if(!JWTUtil.checkToken(Authorization)){ //token认证失败
JWTUtil.checkTokenFailed(jsonObject);
return jsonObject;
}
Claims claims = JWTUtil.getBodyByToken(Authorization);
int user_id = (int) claims.get("id");
User user = new User();
user.setUser_id(user_id);
user.setUser_name(param.getString("user_name"));
user.setUser_pwd(param.getString("user_pwd"));
user.setUser_phone(param.getString("user_phone"));
user.setUser_pic(param.getString("user_pic"));
user.setUser_state(1);
int flag = userService.userModify(user);
if(flag==1){
jsonObject.put("code",200 );
jsonObject.put("msg","修改成功" );
}
else{
jsonObject.put("code",403 );
jsonObject.put("msg","修改失败" );
}
return jsonObject;
}
}

@ -1,19 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Address {
private int address_id;
private int user_id;
private String address_name;
private String address_sheng;
private String address_shi;
private String address_qu;
private String address_detail;
private String address_phone;
}

@ -1,16 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Cart {
private int cart_id;
private int user_id;
private int flower_id;
private String pack_ids;
private int number;
}

@ -1,119 +0,0 @@
package com.example.flower.entity;
import javax.persistence.*;
@Table(name = "chatuser")
public class ChatUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "password")
private String password;
@Column(name = "sex")
private String sex;
@Column(name = "age")
private Integer age;
@Column(name = "phone")
private String phone;
@Column(name = "role")
private String role;
@Column(name = "avatar")
private String avatar;
@Transient
private String token;
@Transient
private String verCode;
@Transient
private String newPassword;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getVerCode() {
return verCode;
}
public void setVerCode(String verCode) {
this.verCode = verCode;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getNewPassword() {
return newPassword;
}
public void setNewPassword(String newPassword) {
this.newPassword = newPassword;
}
}

@ -1,13 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Class {
private int class_id;
private String class_name;
}

@ -1,16 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Comment {
private int comment_id;
private int user_id;
private int flower_id;
private String comment_content;
private String comment_time;
}

@ -1,18 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Discount {
private int discount_id;
private String discount_name;
private int discount_num;
private int discount_f_id;
private int discount_c_id;
private String discount_start_time;
private String discount_end_time;
}

@ -1,17 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Flower {
private int flower_id;
private int flower_class;
private String flower_name;
private double flower_price;
private int flower_sale;
private String flower_pic;
}

@ -1,16 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Gift {
private int gift_id;
private String gift_name;
private int gift_point;
private int gift_stock;
private String gift_pic;
}

@ -1,109 +0,0 @@
package com.example.flower.entity;
import jakarta.persistence.*;
/**
*
*/
@Table(name = "imsingle")
public class ImSingle {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/** 内容 */
@Column(name = "content")
private String content;
/** 发送人 */
@Column(name = "fromuser")
private String fromuser;
/** 发送人头像 */
@Column(name = "fromavatar")
private String fromavatar;
/** 时间 */
@Column(name = "time")
private String time;
/** 类型 */
@Column(name = "type")
private String type;
/** 接收人 */
@Column(name = "touser")
private String touser;
/** 接收人头像 */
@Column(name = "toavatar")
private String toavatar;
/** 是否已读 */
@Column(name = "readed")
private Integer readed;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getFromuser() {
return fromuser;
}
public void setFromuser(String fromuser) {
this.fromuser = fromuser;
}
public String getFromavatar() {
return fromavatar;
}
public void setFromavatar(String fromavatar) {
this.fromavatar = fromavatar;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getTouser() {
return touser;
}
public void setTouser(String touser) {
this.touser = touser;
}
public String getToavatar() {
return toavatar;
}
public void setToavatar(String toavatar) {
this.toavatar = toavatar;
}
public Integer getReaded() {
return readed;
}
public void setReaded(Integer readed) {
this.readed = readed;
}
}

@ -1,17 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Member {
private int member_id;
private int user_id;
private String member_start_time;
private String member_end_time;
private int member_period;
private double member_money;
}

@ -1,15 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Notice {
private int notice_id;
private String notice_title;
private String notice_content;
private String notice_time;
}

@ -1,27 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order {
private int order_id;
private int user_id;
private int order_type; //订单类型花卉订单0/礼品换赠订单1
private double order_price;
private String order_delivery_number; //快递单号
private String order_time; //下单时间
private String order_time_pay; //支付时间
private String order_time_delivery; //发货时间
private String order_time_receive; //收货时间
private String order_address;
private String order_phone;
private int order_state; //订单状态待支付0/待发货1/待收货2/已收货3/已取消4/已退款5
private int order_method; //配送方式到店自取0/送货上门1
private double trans_fee;
private int order_discount; //订单使用的优惠套餐id
private int order_seen; //订单是否可被用户看到用户删除订单不可见0/可见1
}

@ -1,15 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order_Detail_Flower {
private int order_id;
private int flower_id;
private String pack_ids;
private int number; //花卉数量
}

@ -1,14 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order_Detail_Gift {
private int order_id;
private int gift_id;
private int number; //礼品数量
}

@ -1,14 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pack {
private int pack_id;
private String pack_name;
private double pack_price;
}

@ -1,68 +0,0 @@
package com.example.flower.entity;
public class Params {
private String name;
private String username;
private String phone;
private String author;
private Integer userId;
private Integer pageNum;
private Integer pageSize;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}

@ -1,14 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Rank {
private int id;
private String name;
private int value;
}

@ -1,14 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RecommendUtil {
private int order_id;
private int flower_id;
private int user_id;
}

@ -1,18 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RelateDTO {
/** 用户id */
private Integer useId;
/** 商品id */
private Integer goodsId;
/** 指数 */
private Integer index;
}

@ -1,19 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Staff {
private int staff_id;
private String staff_name;
private String staff_pwd;
private String staff_full_name;
private String staff_pic;
private int staff_role; //员工身份店长1/普通员工0
private int staff_state; //员工账号状态可用1/不可用0
private String staff_phone;
}

@ -1,23 +0,0 @@
package com.example.flower.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int user_id;
private String user_name;
private String user_pwd;
private String user_phone;
private int user_state; //账号状态可用1/不可用0
private int user_role; //用户身份会员1/非会员0
private String user_pic;
private String member_start_time;
private String member_end_time;
private int member_point;
}

@ -1,18 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Address;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface AddressMapper {
List<Address> addressList(int user_id); //获取所有地址信息
void addressAdd(Address c); //添加新地址
int addressDeletePer(int address_id); //删除单个地址
int addressDeleteMul(int[] address_ids); //批量删除地址
Address addressInfo(int address_id); //获取地址信息
int addressModify(Address c); //修改地址信息
}

@ -1,24 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Cart;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface CartMapper {
List<Cart> cartList(int user_id); //获取所有购物车信息
List<Cart> cartListByQuery(int user_id,String flower_name);//查询购物车信息列表
void cartAdd(Cart cart); //添加新购物车
int cartDeletePer(int cart_id); //删除单个购物车
int cartDeleteMul(int[] cart_ids); //批量删除购物车
Cart cartInfo(int cart_id); //获取购物车信息
int cartModify(Cart cart); //修改购物车信息
int cartModify_num(Cart cart); //修改购物车信息_数量
List<Cart> cartRepeat(int user_id,int flower_id); //处理购物车重复加入
int cartNum(int user_id); //统计用户购物车数
List<Cart> findAllCart(); //查询所有购物车信息
}

@ -1,16 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.ChatUser;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
@org.apache.ibatis.annotations.Mapper
@Repository
public interface ChatUserDao extends Mapper<ChatUser> {
@Select("select * from chatuser")
List<ChatUser> findAll();
}

@ -1,19 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Class;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface ClassMapper {
List<Class> classList(); //获取所有类别信息
List<Class> classListByQuery(String class_name);//查询类别信息列表
void classAdd(Class c); //添加新类别
int classDeletePer(int class_id); //删除单个类别
int classDeleteMul(int[] class_ids); //批量删除类别
Class classInfo(int class_id); //获取类别信息
int classModify(Class c); //修改类别信息
}

@ -1,15 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Comment;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface CommentMapper {
List<Comment> commentList(int flower_id); //获取商品评论信息
void commentAdd(Comment comment); //添加新评论
List<Comment> findAllComment(); //查找所有评论
}

@ -1,19 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Discount;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface DiscountMapper {
List<Discount> discountList(); //获取所有折扣信息
List<Discount> discountListByQuery(String discount_name);//查询折扣信息列表
void discountAdd(Discount discount); //添加新折扣
int discountDeletePer(int discount_id); //删除单个折扣
int discountDeleteMul(int[] discount_ids); //批量删除折扣
Discount discountInfo(int discount_id); //获取折扣信息
int discountModify(Discount discount); //修改折扣信息
}

@ -1,22 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Flower;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface FlowerMapper {
List<Flower> flowerList(); //获取所有花卉信息
List<Flower> flowerListByQuery(String flower_name);//查询花卉信息列表
void flowerAdd(Flower flower); //添加新花卉
int flowerDeletePer(int flower_id); //删除单个花卉
int flowerDeleteMul(int[] flower_ids); //批量删除花卉
Flower flowerInfo(int flower_id); //获取花卉信息
int flowerModify(Flower flower); //修改花卉信息
//前台
List<Flower> flowerRecommend(int class_id); // 花卉专区推荐
int flowerAddNum(int flower_id,int flower_sale); //下单花卉销量增加
}

@ -1,22 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Gift;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface GiftMapper {
List<Gift> giftList(); //获取所有赠品信息
List<Gift> giftListByQuery(String gift_name);//查询赠品信息列表
void giftAdd(Gift gift); //添加新赠品
int giftDeletePer(int gift_id); //删除单个赠品
int giftDeleteMul(int[] gift_ids); //批量删除赠品
Gift giftInfo(int gift_id); //获取赠品信息
int giftModify(Gift gift); //修改赠品信息
//前台相关
int giftModifyStock(int gift_id,int gift_stock); //修改赠品库存
}

@ -1,28 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.ImSingle;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Update;
import tk.mybatis.mapper.common.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@org.apache.ibatis.annotations.Mapper
@Repository
public interface ImSingleDao extends Mapper<ImSingle> {
@Select("select * from imsingle where (fromuser = #{fromUser} and touser = #{toUser}) or (fromuser = #{toUser} and touser = #{fromUser})")
List<ImSingle> findByUsername(String fromUser, String toUser);
@Select("select * from imsingle where touser = #{toUser} and readed = 0")
List<ImSingle> findByToUsername(String toUser);
@Insert("insert into flower.imsingle(id,content,fromuser,fromavatar,time,type,touser,toavatar,readed) " +
"value (#{id},#{content},#{fromuser},#{fromavatar},#{time},#{type},#{touser},#{toavatar},#{readed})")
int insert(ImSingle imSingle);
@Update("update flower.imsingle set readed=#{readed} where id = #{id}")
void updateById(ImSingle imSingle);
}

@ -1,14 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Member;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface MemberMapper {
void memberCharge(Member member); //会员充值
List<Member> memberHistory(int user_id); //查询充值记录
}

@ -1,19 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Notice;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface NoticeMapper {
List<Notice> noticeList(); //获取所有公告信息
List<Notice> noticeListByQuery(String notice_content);//查询公告信息列表
void noticeAdd(Notice notice); //添加新公告
int noticeDeletePer(int notice_id); //删除单个公告
int noticeDeleteMul(int[] notice_ids); //批量删除公告
Notice noticeInfo(int notice_id); //获取公告信息
int noticeModify(Notice notice); //修改公告信息
}

@ -1,49 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Order;
import com.example.flower.entity.Order_Detail_Flower;
import com.example.flower.entity.Order_Detail_Gift;
import com.example.flower.entity.Rank;
import com.example.flower.entity.RecommendUtil;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface OrderMapper {
List<Order> orderList(); //获取所有订单信息
List<Order> orderListByQuery(int order_id);//查询订单信息列表
int orderAdd(Order order); //添加新订单(总表)
int orderAdd_flower(Order_Detail_Flower order_detail_flower); //添加新订单(商品表)
int orderAdd_gift(Order_Detail_Gift order_detail_gift); //添加新订单(换赠表)
int orderDeletePer(int order_id); //删除单个订单
int orderDeleteMul(int[] order_ids); //批量删除订单
int orderModify(int order_id,int order_state,String time,String order_delivery_number); //订单状态修改
Order orderInfo(int order_id); //获取订单信息
List<Order_Detail_Flower> orderDetailFlower(int order_id); //获取花卉订单详情
List<Order_Detail_Gift> orderDetailGift(int order_id); //获取礼品订单详情
//前台
List<Order> orderUserListFlower(int user_id); //查询用户所有商品订单
List<Order> orderUserListGift(int user_id); //查询用户所有换赠订单
int orderUserDelete(int order_id); //用户删除订单(仅不可见)
int orderUserPay(int user_id); //用户订单统计-待付款
int orderUserSend(int user_id); //用户订单统计-待发货
int orderUserReceive(int user_id); //用户订单统计-待收货
//订单统计相关
int order_pay_num(); //今日下单数
int order_ok_num(); //今日成交订单数
double order_today_money(); //今日成交金额
double order_month_money(); //本月成交金额
int order_delivery_num(); //待发货订单数
int order_refund_num(); //待退款订单数
double order_month_line(String month); //每月成交金额折线图
List<Rank> order_flower_top3(); //花卉销量top3
List<Rank> order_class_rank(); //花卉类别销量饼图
//猜你喜欢
List<RecommendUtil> findAllFlowerOrder(); //查找所有花卉订单
}

@ -1,19 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Pack;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface PackMapper {
List<Pack> packList(); //获取所有花材信息
List<Pack> packListByQuery(String pack_name);//查询花材信息列表
void packAdd(Pack pack); //添加新花材
int packDeletePer(int pack_id); //删除单个花材
int packDeleteMul(int[] pack_ids); //批量删除花材
Pack packInfo(int pack_id); //获取员工花材
int packModify(Pack pack); //修改花材信息
}

@ -1,21 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Staff;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface StaffMapper {
Staff staffLogin(String staff_name); //员工后台登录
List<Staff> staffList(); //获取所有员工信息
List<Staff> staffListByQuery(String staff_name);//查询员工信息列表
void staffAdd(Staff staff); //添加新员工
int staffDeletePer(int staff_id); //删除单个员工
int staffDeleteMul(int[] staff_ids); //批量删除员工
Staff staffInfo(int staff_id); //获取员工信息
int staffModify(Staff staff); //修改员工信息
int staffModifyState(int staff_id,int staff_state); //修改单个员工状态
}

@ -1,27 +0,0 @@
package com.example.flower.mapper;
import com.example.flower.entity.Staff;
import com.example.flower.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserMapper {
List<User> userList();//获取所有员工列表
List<User> userListByQuery(String user_name);//查询用户信息列表
int userDeletePer(int user_id); //删除单个用户
int userDeleteMul(int[] user_ids); //批量删除用户
int userModifyState(int user_id,int user_state); //修改单个用户状态
//前台
User userLogin(String user_name); //用户登录
void userRegister(User user); //用户注册
User findByName(String user_name); //通过用户名查找用户,用于防止注册时用户名重复
User userInfo(int user_id); //获取用户信息
int userModify(User user); //修改用户信息
int userModifyMember(User user); //修改用户会员信息
int userModifyPoint(User user); //修改会员积分
}

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.AddressMapper">
<select id="addressList" resultType="com.example.flower.entity.Address">
select *
from flower.address
where user_id = #{user_id}
order by address_id desc
</select>
<insert id="addressAdd" useGeneratedKeys="true" keyProperty="address_id" parameterType="com.example.flower.entity.Address">
insert into flower.address(user_id, address_name, address_sheng, address_shi, address_qu, address_detail, address_phone)
value (#{user_id},#{address_name},#{address_sheng},#{address_shi},#{address_qu},#{address_detail},#{address_phone})
</insert>
<delete id="addressDeletePer">
delete
from flower.address
where address_id = #{address_id}
</delete>
<delete id="addressDeleteMul" parameterType="Integer">
delete from flower.address where address.address_id in
<foreach collection="address_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="addressInfo" resultType="com.example.flower.entity.Address">
select *
from flower.address
where address_id = #{address_id}
</select>
<update id="addressModify" parameterType="com.example.flower.entity.Address">
update flower.address
set address_name=if(#{address_name} is not null and #{address_name} != '',#{address_name},address_name),
address_sheng=if(#{address_sheng} is not null and #{address_sheng} != '',#{address_sheng},address_sheng),
address_shi=if(#{address_shi} is not null and #{address_shi} != '',#{address_shi},address_shi),
address_qu=if(#{address_qu} is not null and #{address_qu} != '',#{address_qu},address_qu),
address_detail=if(#{address_detail} is not null and #{address_detail} != '',#{address_detail},address_detail),
address_phone=if(#{address_phone} is not null and #{address_phone} != '',#{address_phone},address_phone)
where address.address_id = #{address_id}
</update>
</mapper>

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.CartMapper">
<select id="cartList" resultType="com.example.flower.entity.Cart">
select *
from flower.cart
where user_id = #{user_id}
order by cart_id desc
</select>
<select id="cartListByQuery" resultType="com.example.flower.entity.Cart">
select *
from flower.cart,flower.flower
<where>
and cart.flower_id = flower.flower_id
and user_id = #{user_id}
<if test="flower_name != null and flower_name != '' ">
and flower_name like concat('%',#{flower_name},'%')
</if>
</where>
order by cart_id desc
</select>
<insert id="cartAdd" useGeneratedKeys="true" keyProperty="cart_id" parameterType="com.example.flower.entity.Cart">
insert into flower.cart(user_id, flower_id, pack_ids, number)
value (#{user_id},#{flower_id},#{pack_ids},#{number})
</insert>
<delete id="cartDeletePer">
delete
from flower.cart
where cart_id = #{cart_id}
</delete>
<delete id="cartDeleteMul" parameterType="Integer">
delete from flower.cart where cart.cart_id in
<foreach collection="cart_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="cartInfo" resultType="com.example.flower.entity.Cart">
select *
from flower.cart
where cart_id = #{cart_id}
</select>
<update id="cartModify" parameterType="com.example.flower.entity.Cart">
update flower.cart
set pack_ids=#{pack_ids}
where cart.cart_id = #{cart_id}
</update>
<update id="cartModify_num" parameterType="com.example.flower.entity.Cart">
update flower.cart
set number=#{number}
where cart.cart_id = #{cart_id}
</update>
<select id="cartRepeat" resultType="com.example.flower.entity.Cart">
select *
from flower.cart
where user_id = #{user_id} and flower_id = #{flower_id}
</select>
<select id="cartNum" resultType="Integer">
select count(cart_id)
from cart
where user_id = #{user_id}
</select>
<select id="findAllCart" resultType="com.example.flower.entity.Cart">
select *
from cart
</select>
</mapper>

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.ClassMapper">
<select id="classList" resultType="com.example.flower.entity.Class">
select *
from flower.class
</select>
<select id="classListByQuery" resultType="com.example.flower.entity.Class">
select *
from flower.class
<where>
<if test="class_name != null and class_name != '' ">
and class_name like concat('%',#{class_name},'%')
</if>
</where>
</select>
<insert id="classAdd" useGeneratedKeys="true" keyProperty="class_id" parameterType="com.example.flower.entity.Class">
insert into flower.class(class_name)
value (#{class_name})
</insert>
<delete id="classDeletePer">
delete
from flower.class
where class_id = #{class_id}
</delete>
<delete id="classDeleteMul" parameterType="Integer">
delete from flower.class where class.class_id in
<foreach collection="class_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="classInfo" resultType="com.example.flower.entity.Class">
select *
from flower.class
where class_id = #{class_id}
</select>
<update id="classModify" parameterType="com.example.flower.entity.Class">
update flower.class
set class_name=if(#{class_name} is not null and #{class_name} != '',#{class_name},class_name)
where class.class_id = #{class_id}
</update>
</mapper>

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.CommentMapper">
<select id="commentList" resultType="com.example.flower.entity.Comment">
select *
from flower.comment
where flower_id=#{flower_id}
order by comment_id desc
</select>
<insert id="commentAdd" useGeneratedKeys="true" keyProperty="comment_id" parameterType="com.example.flower.entity.Comment">
insert into flower.comment(flower_id, user_id, comment_content, comment_time)
value (#{flower_id},#{user_id},#{comment_content},#{comment_time})
</insert>
<select id="findAllComment" resultType="com.example.flower.entity.Comment">
select *
from flower.comment
</select>
</mapper>

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.DiscountMapper">
<select id="discountList" resultType="com.example.flower.entity.Discount">
select *
from flower.discount
order by discount_start_time desc
</select>
<select id="discountListByQuery" resultType="com.example.flower.entity.Discount">
select *
from flower.discount
<where>
<if test="discount_name != null and discount_name != '' ">
and discount_name like concat('%',#{discount_name},'%')
</if>
</where>
order by discount_start_time desc
</select>
<insert id="discountAdd" useGeneratedKeys="true" keyProperty="discount_id" parameterType="com.example.flower.entity.Discount">
insert into flower.discount(discount_name, discount_num,discount_f_id,discount_c_id,discount_start_time,discount_end_time)
value (#{discount_name},#{discount_num},#{discount_f_id},#{discount_c_id},#{discount_start_time},#{discount_end_time})
</insert>
<delete id="discountDeletePer">
delete
from flower.discount
where discount_id = #{discount_id}
</delete>
<delete id="discountDeleteMul" parameterType="Integer">
delete from flower.discount where discount.discount_id in
<foreach collection="discount_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="discountInfo" resultType="com.example.flower.entity.Discount">
select *
from flower.discount
where discount_id = #{discount_id}
</select>
<update id="discountModify" parameterType="com.example.flower.entity.Discount">
update flower.discount
set discount_name=if(#{discount_name} is not null and #{discount_name} != '',#{discount_name},discount_name),
discount_num=#{discount_num},
discount_f_id=#{discount_f_id},
discount_c_id=#{discount_c_id},
discount_start_time=if(#{discount_start_time} is not null and #{discount_start_time} != '',#{discount_start_time},discount_start_time),
discount_end_time=if(#{discount_end_time} is not null and #{discount_end_time} != '',#{discount_end_time},discount_end_time)
where discount.discount_id = #{discount_id}
</update>
</mapper>

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.FlowerMapper">
<select id="flowerList" resultType="com.example.flower.entity.Flower">
select *
from flower.flower
order by flower_id desc
</select>
<select id="flowerListByQuery" resultType="com.example.flower.entity.Flower">
select *
from flower.flower,flower.class
<where>
and flower.flower_class=class.class_id
<if test="flower_name != null and flower_name != '' ">
and (flower_name like concat('%',#{flower_name},'%')
or class_name like concat('%',#{flower_name},'%') )
</if>
</where>
order by flower_id desc
</select>
<insert id="flowerAdd" useGeneratedKeys="true" keyProperty="flower_id" parameterType="com.example.flower.entity.Flower">
insert into flower.flower(flower_name,flower_class, flower_price,flower_pic)
value (#{flower_name},#{flower_class},#{flower_price},#{flower_pic})
</insert>
<delete id="flowerDeletePer">
delete
from flower.flower
where flower_id = #{flower_id}
</delete>
<delete id="flowerDeleteMul" parameterType="Integer">
delete from flower.flower where flower.flower_id in
<foreach collection="flower_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="flowerInfo" resultType="com.example.flower.entity.Flower">
select *
from flower.flower
where flower_id = #{flower_id}
</select>
<update id="flowerModify" parameterType="com.example.flower.entity.Flower">
update flower.flower
set flower_name=if(#{flower_name} is not null and #{flower_name} != '',#{flower_name},flower_name),
flower_class=if(#{flower_class} != -1,#{flower_class},flower_class),
flower_price=#{flower_price},
flower_pic=if(#{flower_pic} is not null and #{flower_pic} != '',#{flower_pic},flower_pic)
where flower.flower_id = #{flower_id}
</update>
<!-- 前台 -->
<select id="flowerRecommend" resultType="com.example.flower.entity.Flower">
select *
from flower.flower
where
flower.flower_class = #{class_id}
limit 6
</select>
<update id="flowerAddNum" parameterType="com.example.flower.entity.Flower">
update flower.flower
set flower_sale= flower_sale+#{flower_sale}
where flower.flower_id = #{flower_id}
</update>
</mapper>

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.GiftMapper">
<select id="giftList" resultType="com.example.flower.entity.Gift">
select *
from flower.gift
</select>
<select id="giftListByQuery" resultType="com.example.flower.entity.Gift">
select *
from flower.gift
<where>
<if test="gift_name != null and gift_name != '' ">
and gift_name like concat('%',#{gift_name},'%')
</if>
</where>
</select>
<insert id="giftAdd" useGeneratedKeys="true" keyProperty="gift_id" parameterType="com.example.flower.entity.Gift">
insert into flower.gift(gift_name, gift_point,gift_stock,gift_pic)
value (#{gift_name},#{gift_point},#{gift_stock},#{gift_pic})
</insert>
<delete id="giftDeletePer">
delete
from flower.gift
where gift_id = #{gift_id}
</delete>
<delete id="giftDeleteMul" parameterType="Integer">
delete from flower.gift where gift.gift_id in
<foreach collection="gift_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="giftInfo" resultType="com.example.flower.entity.Gift">
select *
from flower.gift
where gift_id = #{gift_id}
</select>
<update id="giftModify" parameterType="com.example.flower.entity.Gift">
update flower.gift
set gift_name=if(#{gift_name} is not null and #{gift_name} != '',#{gift_name},gift_name),
gift_point=#{gift_point},
gift_stock=#{gift_stock},
gift_pic=if(#{gift_pic} is not null and #{gift_pic} != '',#{gift_pic},gift_pic)
where gift.gift_id = #{gift_id}
</update>
<update id="giftModifyStock" parameterType="com.example.flower.entity.Gift">
update flower.gift
set gift_stock=gift_stock-#{gift_stock}
where gift.gift_id = #{gift_id}
</update>
</mapper>

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.MemberMapper">
<select id="memberHistory" resultType="com.example.flower.entity.Member">
select *
from flower.member
where user_id=#{user_id}
order by member_id desc
</select>
<insert id="memberCharge" useGeneratedKeys="true" keyProperty="member_id" parameterType="com.example.flower.entity.Member">
insert into flower.member(user_id, member_start_time, member_end_time, member_period, member_money)
value (#{user_id},#{member_start_time},#{member_end_time},#{member_period},#{member_money})
</insert>
</mapper>

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.NoticeMapper">
<select id="noticeList" resultType="com.example.flower.entity.Notice">
select *
from flower.notice
order by notice_time desc
</select>
<select id="noticeListByQuery" resultType="com.example.flower.entity.Notice">
select *
from flower.notice
<where>
<if test="notice_content != null and notice_content != '' ">
and notice_title like concat('%',#{notice_content},'%')
or notice_content like concat('%',#{notice_content},'%')
</if>
</where>
order by notice_time desc
</select>
<insert id="noticeAdd" useGeneratedKeys="true" keyProperty="notice_id" parameterType="com.example.flower.entity.Notice">
insert into flower.notice(notice_title,notice_content,notice_time)
value (#{notice_title},#{notice_content},#{notice_time})
</insert>
<delete id="noticeDeletePer">
delete
from flower.notice
where notice_id = #{notice_id}
</delete>
<delete id="noticeDeleteMul" parameterType="Integer">
delete from flower.notice where notice.notice_id in
<foreach collection="notice_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="noticeInfo" resultType="com.example.flower.entity.Notice">
select *
from flower.notice
where notice_id = #{notice_id}
</select>
<update id="noticeModify" parameterType="com.example.flower.entity.Notice">
update flower.notice
set notice_title=if(#{notice_title} is not null and #{notice_title} != '',#{notice_title},notice_title),
notice_content=if(#{notice_content} is not null and #{notice_content} != '',#{notice_content},notice_content),
notice_time=if(#{notice_time} is not null and #{notice_time} != '',#{notice_time},notice_time)
where notice.notice_id = #{notice_id}
</update>
</mapper>

@ -1,187 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.OrderMapper">
<select id="orderList" resultType="com.example.flower.entity.Order">
select *
from flower.order
order by order_id desc
</select>
<select id="orderListByQuery" resultType="com.example.flower.entity.Order">
select *
from flower.order
where
order_id like concat('%',#{order_id},'%')
order by order_id desc
</select>
<insert id="orderAdd" useGeneratedKeys="true" keyProperty="order_id" parameterType="com.example.flower.entity.Order">
insert into flower.order(user_id, order_type, order_price, order_time, order_time_pay, order_address, order_phone, order_state, order_method, trans_fee, order_discount,order_seen)
value (#{user_id},#{order_type},#{order_price},#{order_time},#{order_time_pay},#{order_address},#{order_phone},#{order_state},#{order_method},#{trans_fee},#{order_discount},#{order_seen})
</insert>
<insert id="orderAdd_flower" parameterType="com.example.flower.entity.Order_Detail_Flower">
insert into flower.order_detail_flower(order_id, flower_id, pack_ids, number)
value (#{order_id},#{flower_id},#{pack_ids},#{number})
</insert>
<insert id="orderAdd_gift" parameterType="com.example.flower.entity.Order_Detail_Gift">
insert into flower.order_detail_gift(order_id, gift_id, number)
value (#{order_id},#{gift_id},#{number})
</insert>
<delete id="orderDeletePer">
delete
from flower.order
where order_id = #{order_id}
</delete>
<delete id="orderDeleteMul" parameterType="Integer">
delete from flower.order where order.order_id in
<foreach collection="order_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<update id="orderModify" parameterType="com.example.flower.entity.Order">
update flower.order
<set>
<if test="order_state==1">
order_state = #{order_state},
order_time_pay = #{time},
</if>
<if test="order_state==2">
order_state = #{order_state},
order_time_delivery = #{time},
order_delivery_number = #{order_delivery_number},
</if>
<if test="order_state==3">
order_state = #{order_state},
order_time_receive = #{time},
</if>
<if test="order_state==4">
order_state = #{order_state},
</if>
<if test="order_state==5">
order_state = #{order_state}
</if>
</set>
where order_id = #{order_id}
</update>
<select id="orderInfo" resultType="com.example.flower.entity.Order">
select *
from flower.order
where order_id = #{order_id}
</select>
<select id="orderDetailFlower" resultType="com.example.flower.entity.Order_Detail_Flower">
select *
from flower.order_detail_flower
where order_id = #{order_id}
</select>
<select id="orderDetailGift" resultType="com.example.flower.entity.Order_Detail_Gift">
select *
from flower.order_detail_gift
where order_id = #{order_id}
</select>
<!-- 前台相关 -->
<select id="orderUserListFlower" resultType="com.example.flower.entity.Order">
select *
from flower.order
where user_id=#{user_id} and order_seen=1 and order_type=0
order by order_id desc
</select>
<select id="orderUserListGift" resultType="com.example.flower.entity.Order">
select *
from flower.order
where user_id=#{user_id} and order_seen=1 and order_type=1
order by order_id desc
</select>
<update id="orderUserDelete" parameterType="Integer">
update flower.order
set order_seen=0
where order_id = #{order_id}
</update>
<select id="orderUserPay" resultType="Integer">
select count(order_id)
from flower.order
where order_state = 0 and user_id=#{user_id} and order_seen=1
</select>
<select id="orderUserSend" resultType="Integer">
select count(order_id)
from flower.order
where order_state = 1 and user_id=#{user_id} and order_seen=1
</select>
<select id="orderUserReceive" resultType="Integer">
select count(order_id)
from flower.order
where order_state = 2 and user_id=#{user_id} and order_seen=1
</select>
<!-- 后台订单统计相关 -->
<select id="order_pay_num" resultType="Integer">
select count(order_id)
from flower.order
where
order_type = 0 and TO_DAYS(order_time) = TO_DAYS(Now())
</select>
<select id="order_ok_num" resultType="Integer">
select count(order_id)
from flower.order
where
order_type = 0
and TO_DAYS(order_time_receive) = TO_DAYS(Now())
and order_state = 3
</select>
<select id="order_today_money" resultType="Double">
select COALESCE(SUM(order_price),0)
from flower.order
where
order_type = 0
and TO_DAYS(order_time_receive) = TO_DAYS(Now())
and order_state = 3
</select>
<select id="order_month_money" resultType="Double">
select COALESCE(SUM(order_price),0)
from flower.order
where
order_type = 0
and DATE_FORMAT(order_time_receive, '%Y-%m') = DATE_FORMAT(now(),'%Y-%m')
and order_state = 3
</select>
<select id="order_delivery_num" resultType="Integer">
select count(order_id)
from flower.order
where order_state = 1
</select>
<select id="order_refund_num" resultType="Integer">
select count(order_id)
from flower.order
where order_state = 4
</select>
<select id="order_month_line" resultType="Double">
select COALESCE(SUM(order_price),0)
from flower.order
where
order_type = 0
and DATE_FORMAT(order_time_receive, '%Y-%m') = #{month}
and order_state = 3
</select>
<select id="order_flower_top3" resultType="com.example.flower.entity.Rank">
SELECT
flower_id as id,
flower_name as name,
flower_sale as value
FROM flower
ORDER BY
value DESC
LIMIT 3
</select>
<select id="order_class_rank" resultType="com.example.flower.entity.Rank">
SELECT
class_id as id,
class_name as name,
SUM(flower_sale) as value
FROM flower, class
WHERE
flower.flower_class = class.class_id
GROUP BY class_id
</select>
<!-- 猜你喜欢 -->
<select id="findAllFlowerOrder" resultType="com.example.flower.entity.RecommendUtil">
SELECT `order`.order_id,flower_id,user_id
FROM `order`,order_detail_flower
WHERE `order`.order_id = order_detail_flower.flower_id
</select>
</mapper>

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.PackMapper">
<select id="packList" resultType="com.example.flower.entity.Pack">
select *
from flower.pack
</select>
<select id="packListByQuery" resultType="com.example.flower.entity.Pack">
select *
from flower.pack
<where>
<if test="pack_name != null and pack_name != '' ">
and pack_name like concat('%',#{pack_name},'%')
</if>
</where>
</select>
<insert id="packAdd" useGeneratedKeys="true" keyProperty="pack_id" parameterType="com.example.flower.entity.Pack">
insert into flower.pack(pack_name, pack_price)
value (#{pack_name},#{pack_price})
</insert>
<delete id="packDeletePer">
delete
from flower.pack
where pack_id = #{pack_id}
</delete>
<delete id="packDeleteMul" parameterType="Integer">
delete from flower.pack where pack.pack_id in
<foreach collection="pack_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="packInfo" resultType="com.example.flower.entity.Pack">
select *
from flower.pack
where pack_id = #{pack_id}
</select>
<update id="packModify" parameterType="com.example.flower.entity.Pack">
update flower.pack
set pack_name=if(#{pack_name} is not null and #{pack_name} != '',#{pack_name},pack_name),
pack_price=#{pack_price}
where pack.pack_id = #{pack_id}
</update>
</mapper>

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.StaffMapper">
<select id="staffLogin" resultType="com.example.flower.entity.Staff">
select *
from flower.staff
where staff_name = #{staff_name}
</select>
<select id="staffList" resultType="com.example.flower.entity.Staff">
select *
from flower.staff
</select>
<select id="staffListByQuery" resultType="com.example.flower.entity.Staff">
select *
from flower.staff
<where>
<if test="staff_name != null and staff_name != '' ">
and staff_name like concat('%',#{staff_name},'%')
or staff_full_name like concat('%',#{staff_name},'%')
</if>
</where>
</select>
<insert id="staffAdd" useGeneratedKeys="true" keyProperty="staff_id" parameterType="com.example.flower.entity.Staff">
insert into flower.staff(staff_name, staff_pwd,staff_full_name,staff_role,staff_state,staff_phone,staff_pic)
value (#{staff_name},#{staff_pwd},#{staff_full_name},#{staff_role},#{staff_state},#{staff_phone},#{staff_pic})
</insert>
<delete id="staffDeletePer">
delete
from flower.staff
where staff_id = #{staff_id}
</delete>
<delete id="staffDeleteMul" parameterType="Integer">
delete from flower.staff where staff.staff_id in
<foreach collection="staff_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<select id="staffInfo" resultType="com.example.flower.entity.Staff">
select *
from flower.staff
where staff_id = #{staff_id}
</select>
<update id="staffModify" parameterType="com.example.flower.entity.Staff">
update flower.staff
set staff_name=if(#{staff_name} is not null and #{staff_name} != '',#{staff_name},staff_name),
staff_pwd=if(#{staff_pwd} is not null and #{staff_pwd} != '',#{staff_pwd},staff_pwd),
staff_full_name=if(#{staff_full_name} is not null and #{staff_full_name} != '',#{staff_full_name},staff_full_name),
staff_state=if(#{staff_state} =1 or #{staff_state} = 0,#{staff_state},staff_state),
staff_role=if(#{staff_role} =1 or #{staff_role} = 0,#{staff_role},staff_role),
staff_phone=if(#{staff_phone} is not null and #{staff_phone} != '',#{staff_phone},staff_phone),
staff_pic=if(#{staff_pic} is not null and #{staff_pic} != '',#{staff_pic},staff_pic)
where staff.staff_id = #{staff_id}
</update>
<update id="staffModifyState" parameterType="Integer">
update flower.staff
set staff_state = #{staff_state}
where staff_id = #{staff_id}
</update>
</mapper>

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.flower.mapper.UserMapper">
<select id="userList" resultType="com.example.flower.entity.User">
select *
from flower.user
</select>
<select id="userListByQuery" resultType="com.example.flower.entity.User">
select *
from flower.user
<where>
<if test="user_name != null and user_name != '' ">
and user_name like concat('%',#{user_name},'%')
</if>
</where>
</select>
<delete id="userDeletePer">
delete
from flower.user
where user_id = #{user_id}
</delete>
<delete id="userDeleteMul" parameterType="Integer">
delete from flower.user where user.user_id in
<foreach collection="user_ids" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</delete>
<update id="userModifyState" parameterType="Integer">
update flower.user
set user_state = #{user_state}
where user_id = #{user_id}
</update>
<!-- 前台 -->
<select id="userLogin" resultType="com.example.flower.entity.User">
select *
from flower.user
where user_name = #{user_name}
</select>
<insert id="userRegister" useGeneratedKeys="true" keyProperty="user_id" parameterType="com.example.flower.entity.User">
insert into flower.user(user_name, user_pwd,user_role,user_state,user_phone,user_pic)
value (#{user_name},#{user_pwd},#{user_role},#{user_state},#{user_phone},#{user_pic})
</insert>
<select id="findByName" resultType="com.example.flower.entity.User">
select *
from flower.user
where user_name = #{user_name}
</select>
<select id="userInfo" resultType="com.example.flower.entity.User">
select *
from flower.user
where user_id = #{user_id}
</select>
<update id="userModify" parameterType="com.example.flower.entity.User">
update flower.user
set user_name=if(#{user_name} is not null and #{user_name} != '',#{user_name},user_name),
user_pwd=if(#{user_pwd} is not null and #{user_pwd} != '',#{user_pwd},user_pwd),
user_state=if(#{user_state} =1 or #{user_state} = 0,#{user_state},user_state),
user_role=if(#{user_role} =1 or #{user_role} = 0,#{user_role},user_role),
user_phone=if(#{user_phone} is not null and #{user_phone} != '',#{user_phone},user_phone),
user_pic=if(#{user_pic} is not null and #{user_pic} != '',#{user_pic},user_pic)
where user.user_id = #{user_id}
</update>
<update id="userModifyMember" parameterType="com.example.flower.entity.User">
update flower.user
set member_start_time=if(#{member_start_time} is not null and #{member_start_time} != '',#{member_start_time},member_start_time),
member_end_time=if(#{member_end_time} is not null and #{member_end_time} != '',#{member_end_time},member_end_time),
user_role=1
where user.user_id = #{user_id}
</update>
<update id="userModifyPoint" parameterType="com.example.flower.entity.User">
update flower.user
set member_point=if(#{member_point} is not null and #{member_point} != '',#{member_point},member_point)
where user.user_id = #{user_id} and user_role = 1
</update>
</mapper>

@ -1,41 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Address;
import com.example.flower.mapper.AddressMapper;
import com.example.flower.service.impl.AddressServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class AddressService implements AddressServiceImpl {
@Resource
private AddressMapper addressMapper;
@Override
public PageInfo<Address> addressList(int page, int page_size,int user_id) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(addressMapper.addressList(user_id));
}
@Override
public void addressAdd(Address address){
addressMapper.addressAdd(address);
}
@Override
public int addressDeletePer(int address_id){
return addressMapper.addressDeletePer(address_id);
}
@Override
public int addressDeleteMul(int[] address_ids){
return addressMapper.addressDeleteMul(address_ids);
}
@Override
public Address addressInfo(int address_id){
return addressMapper.addressInfo(address_id);
}
@Override
public int addressModify(Address address){
return addressMapper.addressModify(address);
}
}

@ -1,60 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Cart;
import com.example.flower.mapper.CartMapper;
import com.example.flower.service.impl.CartServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CartService implements CartServiceImpl {
@Resource
private CartMapper cartMapper;
@Override
public PageInfo<Cart> cartList(int page, int page_size,int user_id) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(cartMapper.cartList(user_id));
}
@Override
public PageInfo<Cart> cartListByQuery(int page,int page_size,int user_id,String flower_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(cartMapper.cartListByQuery(user_id,flower_name));
}
@Override
public void cartAdd(Cart cart){
cartMapper.cartAdd(cart);
}
@Override
public int cartDeletePer(int cart_id){
return cartMapper.cartDeletePer(cart_id);
}
@Override
public int cartDeleteMul(int[] cart_ids){
return cartMapper.cartDeleteMul(cart_ids);
}
@Override
public Cart cartInfo(int cart_id){
return cartMapper.cartInfo(cart_id);
}
@Override
public int cartModify(Cart cart){
return cartMapper.cartModify(cart);
}
@Override
public int cartModify_num(Cart cart){
return cartMapper.cartModify_num(cart);
}
@Override
public List<Cart> cartRepeat(int user_id, int flower_id){
return cartMapper.cartRepeat(user_id,flower_id);
}
@Override
public int cartNum(int user_id){
return cartMapper.cartNum(user_id);
}
}

@ -1,20 +0,0 @@
package com.example.flower.service;
import com.example.flower.mapper.ChatUserDao;
import com.example.flower.entity.Params;
import com.example.flower.entity.ChatUser;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import java.util.List;
@Service
public class ChatUserService {
@Resource
private ChatUserDao chatUserDao;
public List<ChatUser> findAll() {
return chatUserDao.findAll();
}
}

@ -1,46 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Class;
import com.example.flower.mapper.ClassMapper;
import com.example.flower.service.impl.ClassServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
@Service
public class ClassService implements ClassServiceImpl {
@Resource
private ClassMapper classMapper;
@Override
public PageInfo<Class> classList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(classMapper.classList());
}
@Override
public PageInfo<Class> classListByQuery(int page,int page_size,String class_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(classMapper.classListByQuery(class_name));
}
@Override
public void classAdd(Class c){
classMapper.classAdd(c);
}
@Override
public int classDeletePer(int class_id){
return classMapper.classDeletePer(class_id);
}
@Override
public int classDeleteMul(int[] class_ids){
return classMapper.classDeleteMul(class_ids);
}
@Override
public Class classInfo(int class_id){
return classMapper.classInfo(class_id);
}
@Override
public int classModify(Class c){
return classMapper.classModify(c);
}
}

@ -1,25 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Comment;
import com.example.flower.mapper.CommentMapper;
import com.example.flower.service.impl.CommentServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class CommentService implements CommentServiceImpl {
@Resource
private CommentMapper commentMapper;
@Override
public PageInfo<Comment> commentList(int page, int page_size,int flower_id) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(commentMapper.commentList(flower_id));
}
@Override
public void commentAdd(Comment comment){
commentMapper.commentAdd(comment);
}
}

@ -1,46 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Discount;
import com.example.flower.mapper.DiscountMapper;
import com.example.flower.service.impl.DiscountServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class DiscountService implements DiscountServiceImpl{
@Resource
private DiscountMapper discountMapper;
@Override
public PageInfo<Discount> discountList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(discountMapper.discountList());
}
@Override
public PageInfo<Discount> discountListByQuery(int page,int page_size,String discount_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(discountMapper.discountListByQuery(discount_name));
}
@Override
public void discountAdd(Discount discount){
discountMapper.discountAdd(discount);
}
@Override
public int discountDeletePer(int discount_id){
return discountMapper.discountDeletePer(discount_id);
}
@Override
public int discountDeleteMul(int[] discount_ids){
return discountMapper.discountDeleteMul(discount_ids);
}
@Override
public Discount discountInfo(int discount_id){
return discountMapper.discountInfo(discount_id);
}
@Override
public int discountModify(Discount discount){
return discountMapper.discountModify(discount);
}
}

@ -1,149 +0,0 @@
package com.example.flower.service;
import cn.hutool.core.collection.CollectionUtil;
import com.example.flower.entity.*;
import com.example.flower.mapper.*;
import com.example.flower.service.impl.FlowerServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import com.example.flower.unit.UserCF;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Random;
import java.util.stream.Collectors;
@Service
public class FlowerService implements FlowerServiceImpl {
@Resource
private FlowerMapper flowerMapper;
@Resource
private CartMapper cartMapper;
@Resource
private OrderMapper orderMapper;
@Resource
private UserMapper userMapper;
@Resource
private CommentMapper commentMapper;
@Override
public PageInfo<Flower> flowerList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(flowerMapper.flowerList());
}
@Override
public PageInfo<Flower> flowerListByQuery(int page,int page_size,String flower_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(flowerMapper.flowerListByQuery(flower_name));
}
@Override
public void flowerAdd(Flower flower){
flowerMapper.flowerAdd(flower);
}
@Override
public int flowerDeletePer(int flower_id){
return flowerMapper.flowerDeletePer(flower_id);
}
@Override
public int flowerDeleteMul(int[] flower_ids){
return flowerMapper.flowerDeleteMul(flower_ids);
}
@Override
public Flower flowerInfo(int flower_id){
return flowerMapper.flowerInfo(flower_id);
}
@Override
public int flowerModify(Flower flower){
return flowerMapper.flowerModify(flower);
}
//前台
@Override
public List<Flower> flowerRecommend(int class_id){
return flowerMapper.flowerRecommend(class_id);
}
@Override
public int flowerAddNum(int flower_id,int flower_sale){
return flowerMapper.flowerAddNum(flower_id,flower_sale);
}
//猜你喜欢
@Override
public List<Flower> recommend(int user_id) {
// 用户的哪些行为可以认为他跟商品产生了关系?加入购物车、下单、评论
// 1. 获取所有的购物车信息
List<Cart> allCarts = cartMapper.findAllCart();
// 2. 获取所有的订单信息
List<RecommendUtil> allOrders = orderMapper.findAllFlowerOrder();
// 3. 获取所有的评论信息
List<Comment> allComments = commentMapper.findAllComment();
// 4. 获取所有的用户信息
List<User> allUsers = userMapper.userList();
// 5. 获取所有的商品信息
List<Flower> allFlower = flowerMapper.flowerList();
// 定义一个存储每个商品和每个用户关系的List
List<RelateDTO> data = new ArrayList<>();
// 定义一个存储最后返回给前端的商品List
List<Flower> result;
// 开始计算每个商品和每个用户之间的关系数据
for (Flower flower : allFlower) {
Integer flowerId = flower.getFlower_id();
for (User user : allUsers) {
int userId = user.getUser_id();
int index = 1;
// 1. 判断该用户有没有给该商品加入购物车,加入购物车的权重给 2
Optional<Cart> cartOptional = allCarts.stream().filter(x -> x.getFlower_id()==flowerId && x.getUser_id()==userId).findFirst();
if (cartOptional.isPresent()) {
index += 2;
}
// 2. 判断该用户有没有对该商品下过单(已完成的订单),订单的权重给 3
Optional<RecommendUtil> ordersOptional = allOrders.stream().filter(x -> x.getFlower_id()==flowerId && x.getUser_id()==userId).findFirst();
if (ordersOptional.isPresent()) {
index += 3;
}
// 3. 判断该用户有没有对该商品评论过,评论的权重给 1
Optional<Comment> commentOptional = allComments.stream().filter(x -> x.getFlower_id()==flowerId && x.getUser_id()==userId).findFirst();
if (commentOptional.isPresent()) {
index += 1;
}
if (index > 1) {
RelateDTO relateDTO = new RelateDTO(userId, flowerId, index);
data.add(relateDTO);
}
}
}
// 数据准备结束后,就把这些数据一起给这个推荐算法
List<Integer> flowerIds = UserCF.recommend(user_id, data);
// 把商品id转换成商品
result = flowerIds.stream().map(flowerId -> allFlower.stream()
.filter(x -> x.getFlower_id()==flowerId).findFirst().orElse(null))
.limit(6).collect(Collectors.toList());
if (CollectionUtil.isEmpty(result)) {
// 随机给它推荐10个
return getRandomFlower(6);
}
if (result.size() < 6) {
int num = 6 - result.size();
List<Flower> list = getRandomFlower(num);
result.addAll(list);
}
return result;
}
private List<Flower> getRandomFlower(int num) {
List<Flower> list = new ArrayList<>(num);
List<Flower> flower = flowerMapper.flowerList();
for (int i = 0; i < num; i++) {
int index = new Random().nextInt(flower.size());
list.add(flower.get(index));
}
return list;
}
}

@ -1,50 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Gift;
import com.example.flower.mapper.GiftMapper;
import com.example.flower.service.impl.GiftServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class GiftService implements GiftServiceImpl{
@Resource
private GiftMapper giftMapper;
@Override
public PageInfo<Gift> giftList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(giftMapper.giftList());
}
@Override
public PageInfo<Gift> giftListByQuery(int page,int page_size,String gift_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(giftMapper.giftListByQuery(gift_name));
}
@Override
public void giftAdd(Gift gift){
giftMapper.giftAdd(gift);
}
@Override
public int giftDeletePer(int gift_id){
return giftMapper.giftDeletePer(gift_id);
}
@Override
public int giftDeleteMul(int[] gift_ids){
return giftMapper.giftDeleteMul(gift_ids);
}
@Override
public Gift giftInfo(int gift_id){
return giftMapper.giftInfo(gift_id);
}
@Override
public int giftModify(Gift gift){
return giftMapper.giftModify(gift);
}
@Override
public int giftModifyStock(int gift_id,int gift_stock){
return giftMapper.giftModifyStock(gift_id,gift_stock);
}
}

@ -1,41 +0,0 @@
package com.example.flower.service;
import cn.hutool.core.lang.Dict;
import com.example.flower.mapper.ImSingleDao;
import com.example.flower.entity.ImSingle;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class ImSingleService {
@Resource
private ImSingleDao imSingleDao;
public ImSingle add(ImSingle imSingle) {
imSingle.setReaded(0);
imSingleDao.insert(imSingle);
return imSingle;
}
public List<ImSingle> findByUsername(String fromUser, String toUser) {
List<ImSingle> list = imSingleDao.findByUsername(fromUser, toUser);
list.forEach(x -> {
if (x.getTouser().equals(fromUser) && x.getFromuser().equals(toUser)) {
x.setReaded(1);
imSingleDao.updateById(x);
}
});
return list;
}
public Dict findUnReadNums(String toUsername) {
List<ImSingle> list = imSingleDao.findByToUsername(toUsername);
Map<String, List<ImSingle>> collect = list.stream().collect(Collectors.groupingBy(ImSingle::getFromuser));
Dict dict = Dict.create();
collect.forEach((k,v) -> dict.set(k, v.size()));
return dict;
}
}

@ -1,25 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Member;
import com.example.flower.mapper.MemberMapper;
import com.example.flower.service.impl.MemberServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class MemberService implements MemberServiceImpl {
@Resource
private MemberMapper memberMapper;
@Override
public PageInfo<Member> memberHistory(int page, int page_size,int user_id) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(memberMapper.memberHistory(user_id));
}
@Override
public void memberCharge(Member member){
memberMapper.memberCharge(member);
}
}

@ -1,46 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Notice;
import com.example.flower.mapper.NoticeMapper;
import com.example.flower.service.impl.NoticeServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class NoticeService implements NoticeServiceImpl {
@Resource
private NoticeMapper noticeMapper;
@Override
public PageInfo<Notice> noticeList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(noticeMapper.noticeList());
}
@Override
public PageInfo<Notice> noticeListByQuery(int page,int page_size,String notice_content){
PageHelper.startPage(page,page_size);
return new PageInfo<>(noticeMapper.noticeListByQuery(notice_content));
}
@Override
public void noticeAdd(Notice notice){
noticeMapper.noticeAdd(notice);
}
@Override
public int noticeDeletePer(int notice_id){
return noticeMapper.noticeDeletePer(notice_id);
}
@Override
public int noticeDeleteMul(int[] notice_ids){
return noticeMapper.noticeDeleteMul(notice_ids);
}
@Override
public Notice noticeInfo(int notice_id){
return noticeMapper.noticeInfo(notice_id);
}
@Override
public int noticeModify(Notice notice){
return noticeMapper.noticeModify(notice);
}
}

@ -1,133 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Order;
import com.example.flower.entity.Order_Detail_Flower;
import com.example.flower.entity.Order_Detail_Gift;
import com.example.flower.entity.Rank;
import com.example.flower.mapper.OrderMapper;
import com.example.flower.service.impl.OrderServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OrderService implements OrderServiceImpl {
@Resource
private OrderMapper orderMapper;
@Override
public PageInfo<Order> orderList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(orderMapper.orderList());
}
@Override
public PageInfo<Order> orderListByQuery(int page,int page_size,int order_id){
PageHelper.startPage(page,page_size);
return new PageInfo<>(orderMapper.orderListByQuery(order_id));
}
@Override
public int orderAdd(Order order){
return orderMapper.orderAdd(order);
}
@Override
public int orderAdd_flower(Order_Detail_Flower order_detail_flower) {
return orderMapper.orderAdd_flower(order_detail_flower);
}
@Override
public int orderAdd_gift(Order_Detail_Gift order_detail_gift){
return orderMapper.orderAdd_gift(order_detail_gift);
}
@Override
public int orderDeletePer(int order_id){
return orderMapper.orderDeletePer(order_id);
}
@Override
public int orderDeleteMul(int[] order_ids){
return orderMapper.orderDeleteMul(order_ids);
}
@Override
public int orderModify(int order_id,int order_state,String time,String order_delivery_number){
return orderMapper.orderModify(order_id,order_state,time,order_delivery_number);
}
@Override
public Order orderInfo(int order_id){
return orderMapper.orderInfo(order_id);
}
@Override
public List<Order_Detail_Flower> orderDetailFlower(int order_id){
return orderMapper.orderDetailFlower(order_id);
}
@Override
public List<Order_Detail_Gift> orderDetailGift(int order_id){
return orderMapper.orderDetailGift(order_id);
}
//前台
@Override
public PageInfo<Order> orderUserListFlower(int page,int page_size,int user_id){
PageHelper.startPage(page,page_size);
return new PageInfo<>(orderMapper.orderUserListFlower(user_id));
}
@Override
public PageInfo<Order> orderUserListGift(int page,int page_size,int user_id){
PageHelper.startPage(page,page_size);
return new PageInfo<>(orderMapper.orderUserListGift(user_id));
}
@Override
public int orderUserDelete(int user_id){
return orderMapper.orderUserDelete(user_id);
}
@Override
public int orderUserPay(int user_id){
return orderMapper.orderUserPay(user_id);
}
@Override
public int orderUserSend(int user_id){
return orderMapper.orderUserSend(user_id);
}
@Override
public int orderUserReceive(int user_id){
return orderMapper.orderUserReceive(user_id);
}
//订单统计相关
@Override
public int order_pay_num(){
return orderMapper.order_pay_num();
}
@Override
public int order_ok_num(){
return orderMapper.order_ok_num();
}
@Override
public double order_today_money(){
return orderMapper.order_today_money();
}
@Override
public double order_month_money(){
return orderMapper.order_month_money();
}
@Override
public int order_delivery_num(){
return orderMapper.order_delivery_num();
}
@Override
public int order_refund_num(){
return orderMapper.order_refund_num();
}
@Override
public double order_month_line(String month){
return orderMapper.order_month_line(month);
}
@Override
public List<Rank> order_flower_top3(){
return orderMapper.order_flower_top3();
}
@Override
public List<Rank> order_class_rank(){
return orderMapper.order_class_rank();
}
}

@ -1,46 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Pack;
import com.example.flower.mapper.PackMapper;
import com.example.flower.service.impl.PackServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class PackService implements PackServiceImpl {
@Resource
private PackMapper packMapper;
@Override
public PageInfo<Pack> packList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(packMapper.packList());
}
@Override
public PageInfo<Pack> packListByQuery(int page,int page_size,String pack_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(packMapper.packListByQuery(pack_name));
}
@Override
public void packAdd(Pack pack){
packMapper.packAdd(pack);
}
@Override
public int packDeletePer(int pack_id){
return packMapper.packDeletePer(pack_id);
}
@Override
public int packDeleteMul(int[] pack_ids){
return packMapper.packDeleteMul(pack_ids);
}
@Override
public Pack packInfo(int pack_id){
return packMapper.packInfo(pack_id);
}
@Override
public int packModify(Pack pack){
return packMapper.packModify(pack);
}
}

@ -1,55 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.Staff;
import com.example.flower.mapper.StaffMapper;
import com.example.flower.service.impl.StaffServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
@Service
public class StaffService implements StaffServiceImpl {
@Resource
private StaffMapper staffMapper;
@Override
public Staff staffLogin(String staff_name){
return staffMapper.staffLogin(staff_name);
}
@Override
public PageInfo<Staff> staffList(int page, int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(staffMapper.staffList());
}
@Override
public PageInfo<Staff> staffListByQuery(int page,int page_size,String staff_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(staffMapper.staffListByQuery(staff_name));
}
@Override
public void staffAdd(Staff staff){
staffMapper.staffAdd(staff);
}
@Override
public int staffDeletePer(int staff_id){
return staffMapper.staffDeletePer(staff_id);
}
@Override
public int staffDeleteMul(int[] staff_ids){
return staffMapper.staffDeleteMul(staff_ids);
}
@Override
public Staff staffInfo(int staff_id){
return staffMapper.staffInfo(staff_id);
}
@Override
public int staffModify(Staff staff){
return staffMapper.staffModify(staff);
}
@Override
public int staffModifyState(int staff_id,int staff_state){
return staffMapper.staffModifyState(staff_id, staff_state);
}
}

@ -1,67 +0,0 @@
package com.example.flower.service;
import com.example.flower.entity.User;
import com.example.flower.mapper.UserMapper;
import com.example.flower.service.impl.UserServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class UserService implements UserServiceImpl {
@Resource
private UserMapper userMapper;
@Override
public PageInfo<User> userList(int page,int page_size) {
PageHelper.startPage(page,page_size);
return new PageInfo<>(userMapper.userList());
}
@Override
public PageInfo<User> userListByQuery(int page,int page_size,String user_name){
PageHelper.startPage(page,page_size);
return new PageInfo<>(userMapper.userListByQuery(user_name));
}
@Override
public int userDeletePer(int user_id){
return userMapper.userDeletePer(user_id);
}
@Override
public int userDeleteMul(int[] user_ids){
return userMapper.userDeleteMul(user_ids);
}
@Override
public int userModifyState(int user_id,int user_state){
return userMapper.userModifyState(user_id,user_state);
}
//前台
@Override
public User userLogin(String user_name){
return userMapper.userLogin(user_name);
}
@Override
public void userRegister(User user){
userMapper.userRegister(user);
}
@Override
public User findByName(String user_name){
return userMapper.findByName(user_name);
}
@Override
public User userInfo(int user_id){
return userMapper.userInfo(user_id);
}
@Override
public int userModify(User user){
return userMapper.userModify(user);
}
@Override
public int userModifyMember(User user){
return userMapper.userModifyMember(user);
}
@Override
public int userModifyPoint(User user){
return userMapper.userModifyPoint(user);
}
}

@ -1,17 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Address;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface AddressServiceImpl {
PageInfo<Address> addressList(int page, int page_size,int user_id);
void addressAdd(Address address);
int addressDeletePer(int address_id);
int addressDeleteMul(int[] address_ids);
Address addressInfo(int address_id);
int addressModify(Address address);
}

@ -1,23 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Cart;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface CartServiceImpl {
PageInfo<Cart> cartList(int page, int page_size,int user_id);
PageInfo<Cart> cartListByQuery(int page,int page_size,int user_id,String flower_name);
void cartAdd(Cart cart);
int cartDeletePer(int cart_id);
int cartDeleteMul(int[] cart_ids);
Cart cartInfo(int cart_id);
int cartModify(Cart cart);
int cartModify_num(Cart cart);
List<Cart> cartRepeat(int user_id, int flower_id);
int cartNum(int user_id);
}

@ -1,18 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Class;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ClassServiceImpl {
PageInfo<Class> classList(int page, int page_size);
PageInfo<Class> classListByQuery(int page,int page_size,String class_name);
void classAdd(Class c);
int classDeletePer(int class_id);
int classDeleteMul(int[] class_ids);
Class classInfo(int class_id);
int classModify(Class c);
}

@ -1,13 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Comment;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface CommentServiceImpl {
PageInfo<Comment> commentList(int page, int page_size,int flower_id);
void commentAdd(Comment comment);
}

@ -1,18 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Discount;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface DiscountServiceImpl {
PageInfo<Discount> discountList(int page, int page_size);
PageInfo<Discount> discountListByQuery(int page,int page_size,String discount_name);
void discountAdd(Discount discount);
int discountDeletePer(int discount_id);
int discountDeleteMul(int[] discount_ids);
Discount discountInfo(int discount_id);
int discountModify(Discount discount);
}

@ -1,27 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Flower;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface FlowerServiceImpl {
PageInfo<Flower> flowerList(int page, int page_size);
PageInfo<Flower> flowerListByQuery(int page,int page_size,String flower_name);
void flowerAdd(Flower flower);
int flowerDeletePer(int flower_id);
int flowerDeleteMul(int[] flower_ids);
Flower flowerInfo(int flower_id);
int flowerModify(Flower flower);
//前台
List<Flower> flowerRecommend(int class_id);
int flowerAddNum(int flower_id,int flower_sale);
//猜你喜欢
List<Flower> recommend(int user_id);
// List<Flower> getRandomFlower(int num);
}

@ -1,19 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Gift;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface GiftServiceImpl {
PageInfo<Gift> giftList(int page, int page_size);
PageInfo<Gift> giftListByQuery(int page,int page_size,String gift_name);
void giftAdd(Gift gift);
int giftDeletePer(int gift_id);
int giftDeleteMul(int[] gift_ids);
Gift giftInfo(int gift_id);
int giftModify(Gift gift);
int giftModifyStock(int gift_id,int gift_stock);
}

@ -1,13 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Member;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface MemberServiceImpl {
PageInfo<Member> memberHistory(int page, int page_size,int user_id);
void memberCharge(Member member);
}

@ -1,18 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Notice;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface NoticeServiceImpl {
PageInfo<Notice> noticeList(int page, int page_size);
PageInfo<Notice> noticeListByQuery(int page,int page_size,String notice_content);
void noticeAdd(Notice notice);
int noticeDeletePer(int notice_id);
int noticeDeleteMul(int[] notice_ids);
Notice noticeInfo(int notice_id);
int noticeModify(Notice notice);
}

@ -1,46 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Order;
import com.example.flower.entity.Order_Detail_Flower;
import com.example.flower.entity.Order_Detail_Gift;
import com.example.flower.entity.Rank;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface OrderServiceImpl {
PageInfo<Order> orderList(int page, int page_size);
PageInfo<Order> orderListByQuery(int page,int page_size,int order_id);
int orderAdd(Order order);
int orderAdd_flower(Order_Detail_Flower order_detail_flower);
int orderAdd_gift(Order_Detail_Gift order_detail_gift);
int orderDeletePer(int order_id);
int orderDeleteMul(int[] order_ids);
int orderModify(int order_id,int order_state,String time,String order_delivery_number);
Order orderInfo(int order_id);
List<Order_Detail_Flower> orderDetailFlower(int order_id);
List<Order_Detail_Gift> orderDetailGift(int order_id);
//前台
PageInfo<Order> orderUserListFlower(int page, int page_size,int user_id);
PageInfo<Order> orderUserListGift(int page, int page_size,int user_id);
int orderUserDelete(int user_id);
int orderUserPay(int user_id);
int orderUserSend(int user_id);
int orderUserReceive(int user_id);
//订单统计相关
int order_pay_num();
int order_ok_num();
double order_today_money();
double order_month_money();
int order_delivery_num();
int order_refund_num();
double order_month_line(String month);
List<Rank> order_flower_top3();
List<Rank> order_class_rank();
}

@ -1,18 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Pack;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface PackServiceImpl {
PageInfo<Pack> packList(int page, int page_size);
PageInfo<Pack> packListByQuery(int page,int page_size,String pack_name);
void packAdd(Pack staff);
int packDeletePer(int pack_id);
int packDeleteMul(int[] pack_ids);
Pack packInfo(int pack_id);
int packModify(Pack pack);
}

@ -1,20 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.Staff;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface StaffServiceImpl {
Staff staffLogin(String staff_name);
PageInfo<Staff> staffList(int page, int page_size);
PageInfo<Staff> staffListByQuery(int page,int page_size,String staff_name);
void staffAdd(Staff staff);
int staffDeletePer(int staff_id);
int staffDeleteMul(int[] staff_ids);
Staff staffInfo(int staff_id);
int staffModify(Staff staff);
int staffModifyState(int staff_id,int staff_state);
}

@ -1,28 +0,0 @@
package com.example.flower.service.impl;
import com.example.flower.entity.User;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface UserServiceImpl {
PageInfo<User> userList(int page,int page_size);
//后台
PageInfo<User> userListByQuery(int page,int page_size,String user_name);
int userDeletePer(int user_id);
int userDeleteMul(int[] user_ids);
int userModifyState(int user_id,int user_state);
//前台
User userLogin(String user_name);
void userRegister(User user);
User findByName(String user_name);
User userInfo(int user_id);
int userModify(User user);
int userModifyMember(User user);
int userModifyPoint(User user);
}

@ -1,82 +0,0 @@
package com.example.flower.unit;
import cn.hutool.core.collection.CollectionUtil;
import com.example.flower.entity.RelateDTO;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.IntStream;
public class CoreMath {
/**
*
*/
public static Map<Integer, Double> computeNeighbor(Integer key, Map<Integer, List<RelateDTO>> map, int type) {
Map<Integer, Double> distMap = new TreeMap<>();
List<RelateDTO> userItems = map.get(key);
if (CollectionUtil.isNotEmpty(userItems)) {
map.forEach((k, v) -> {
//排除此用户
if (!k.equals(key)) {
//关系系数
double coefficient = relateDist(v, userItems, type);
//关系距离
double distance = Math.abs(coefficient);
distMap.put(k, distance);
}
});
}
return distMap;
}
/**
*
*/
private static double relateDist(List<RelateDTO> xList, List<RelateDTO> yList, int type) {
List<Integer> xs = new ArrayList<>();
List<Integer> ys = new ArrayList<>();
xList.forEach(x -> yList.forEach(y -> {
if (type == 0) {
if (x.getGoodsId().equals(y.getGoodsId())) {
xs.add(x.getIndex());
ys.add(y.getIndex());
}
} else {
if (x.getUseId().equals(y.getUseId())) {
xs.add(x.getIndex());
ys.add(y.getIndex());
}
}
}));
return getRelate(xs, ys);
}
/**
* : pearson
* @param xs x
* @param ys y
* @Return {@link double}
*/
public static double getRelate(List<Integer> xs, List<Integer> ys) {
int n = xs.size();
//至少有两个元素
if (n < 2) {
return 0D;
}
double Ex = xs.stream().mapToDouble(x -> x).sum();
double Ey = ys.stream().mapToDouble(y -> y).sum();
double Ex2 = xs.stream().mapToDouble(x -> Math.pow(x, 2)).sum();
double Ey2 = ys.stream().mapToDouble(y -> Math.pow(y, 2)).sum();
double Exy = IntStream.range(0, n).mapToDouble(i -> xs.get(i) * ys.get(i)).sum();
double numerator = Exy - Ex * Ey / n;
double denominator = Math.sqrt((Ex2 - Math.pow(Ex, 2) / n) * (Ey2 - Math.pow(Ey, 2) / n));
if (denominator == 0) {
return 0D;
}
return numerator / denominator;
}
}

@ -1,71 +0,0 @@
package com.example.flower.unit;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class HttpUtils {
public static String getRequest(String httpurl) {
HttpURLConnection connection = null;
InputStream is = null;
BufferedReader br = null;
String result = null;// 返回结果字符串
try {
// 创建远程url连接对象
URL url = new URL(httpurl);
// 通过远程url连接对象打开一个连接强转成httpURLConnection类
connection = (HttpURLConnection) url.openConnection();
// 设置连接方式get
connection.setRequestMethod("GET");
// 设置连接主机服务器的超时时间15000毫秒
connection.setConnectTimeout(15000);
// 设置读取远程返回的数据时间60000毫秒
connection.setReadTimeout(60000);
// 发送请求
connection.connect();
// 通过connection连接获取输入流
if (connection.getResponseCode() == 200) {
is = connection.getInputStream();
// 封装输入流is并指定字符集
br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
// 存放数据
StringBuilder sbf = new StringBuilder();
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp);
sbf.append("\r\n");
}
result = sbf.toString();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (connection != null) {
connection.disconnect();// 关闭远程连接
}
}
return result;
}
}

@ -1,57 +0,0 @@
package com.example.flower.unit;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWT;
import io.jsonwebtoken.*;
import java.util.Date;
import java.util.UUID;
public class JWTUtil {
private static long time = 1000*60*60*24;
private static String signature = "flower";
//创建token(示例)
public static String createToken(int id,int role){
JwtBuilder jwtBuilder = Jwts.builder();
String jwtToken = jwtBuilder
//header
.setHeaderParam("typ","JWT")
.setHeaderParam("alg","HS256")
//payload
.claim("id",id)
.claim("role",role)
.setSubject("admin-test")
.setExpiration(new Date(System.currentTimeMillis()+time))
.setId(UUID.randomUUID().toString())
//signature
.signWith(SignatureAlgorithm.HS256,signature)
.compact();
return jwtToken;
}
//检查token是否有效
public static boolean checkToken(String token){
if(token == null){
return false;
}
try {
Jwts.parser().setSigningKey(signature).parseClaimsJws(token);
}catch (ExpiredJwtException e){
return false;
}
return true;
}
//token认证失败
public static void checkTokenFailed(JSONObject jsonObject){
jsonObject.put("code",401 );
jsonObject.put("msg","token认证异常!" );
jsonObject.put("data",null );
}
//解析token,获取body信息
public static Claims getBodyByToken(String token){
Jws<Claims> claimsJws = Jwts.parser().setSigningKey(signature).parseClaimsJws(token);
return claimsJws.getBody();
}
}

@ -1,188 +0,0 @@
package com.example.flower.unit;
import com.alibaba.fastjson.JSONObject;
public class MenuList { //菜单权限功能
public static JSONObject[] setMenu(JSONObject[] j ,int role){
if(role==1){ //店长可以获得所有菜单的权限
//统计信息
j[0] = new JSONObject();
j[0].put("path","/statistic");
j[0].put("name","statistic");
j[0].put("label","统计信息");
j[0].put("icon","el-icon-data-line");
j[0].put("url","statisticView.vue");
//人员管理
JSONObject[] children1 = new JSONObject[2];
children1[0] = new JSONObject();
children1[0].put("path","/user");
children1[0].put("name","user");
children1[0].put("label","用户管理");
children1[0].put("icon","el-icon-user-solid");
children1[0].put("url","userView.vue");
children1[1] = new JSONObject();
children1[1].put("path","/staff");
children1[1].put("name","staff");
children1[1].put("label","员工管理");
children1[1].put("icon","el-icon-s-custom");
children1[1].put("url","staffView.vue");
j[1] = new JSONObject();
j[1].put("label","人员管理");
j[1].put("icon","el-icon-user");
j[1].put("children",children1);
//商品管理
JSONObject[] children2 = new JSONObject[3];
children2[0] = new JSONObject();
children2[0].put("path","/class");
children2[0].put("name","class");
children2[0].put("label","类别管理");
children2[0].put("icon","el-icon-menu");
children2[0].put("url","classView.vue");
children2[1] = new JSONObject();
children2[1].put("path","/flower");
children2[1].put("name","flower");
children2[1].put("label","花卉管理");
children2[1].put("icon","el-icon-star-on");
children2[1].put("url","flowerView.vue");
children2[2] = new JSONObject();
children2[2].put("path","/pack");
children2[2].put("name","pack");
children2[2].put("label","花材管理");
children2[2].put("icon","el-icon-s-shop");
children2[2].put("url","packView.vue");
j[2] = new JSONObject();
j[2].put("label","商品管理");
j[2].put("icon","el-icon-box");
j[2].put("children",children2);
//订单管理
j[3] = new JSONObject();
j[3].put("path","/order");
j[3].put("name","order");
j[3].put("label","订单管理");
j[3].put("icon","el-icon-document");
j[3].put("url","orderView.vue");
//套餐管理
j[4] = new JSONObject();
j[4].put("path","/discount");
j[4].put("name","discount");
j[4].put("label","套餐管理");
j[4].put("icon","el-icon-shopping-bag-1");
j[4].put("url","discountView.vue");
//发布公告
j[5] = new JSONObject();
j[5].put("path","/notice");
j[5].put("name","notice");
j[5].put("label","发布公告");
j[5].put("icon","el-icon-news");
j[5].put("url","noticeView.vue");
//换赠设置
j[6] = new JSONObject();
j[6].put("path","/gift");
j[6].put("name","gift");
j[6].put("label","换赠设置");
j[6].put("icon","el-icon-present");
j[6].put("url","giftView.vue");
//聊天室
j[7] = new JSONObject();
j[7].put("path","/chat");
j[7].put("name","chat");
j[7].put("label","聊 天 室");
j[7].put("icon","el-icon-chat-dot-round");
j[7].put("url","chatView.vue");
}
else if(role==0){ //员工菜单
//统计信息
j[0] = new JSONObject();
j[0].put("path","/statistic");
j[0].put("name","statistic");
j[0].put("label","统计信息");
j[0].put("icon","el-icon-data-line");
j[0].put("url","statisticView.vue");
//商品管理
JSONObject[] children3 = new JSONObject[3];
children3[0] = new JSONObject();
children3[0].put("path","/class");
children3[0].put("name","class");
children3[0].put("label","类别管理");
children3[0].put("icon","el-icon-menu");
children3[0].put("url","classView.vue");
children3[1] = new JSONObject();
children3[1].put("path","/flower");
children3[1].put("name","flower");
children3[1].put("label","花卉管理");
children3[1].put("icon","el-icon-star-on");
children3[1].put("url","flowerView.vue");
children3[2] = new JSONObject();
children3[2].put("path","/pack");
children3[2].put("name","pack");
children3[2].put("label","花材管理");
children3[2].put("icon","el-icon-s-shop");
children3[2].put("url","packView.vue");
j[1] = new JSONObject();
j[1].put("label","商品管理");
j[1].put("icon","el-icon-box");
j[1].put("children",children3);
//订单管理
j[2] = new JSONObject();
j[2].put("path","/order");
j[2].put("name","order");
j[2].put("label","订单管理");
j[2].put("icon","el-icon-document");
j[2].put("url","orderView.vue");
//套餐管理
j[3] = new JSONObject();
j[3].put("path","/discount");
j[3].put("name","discount");
j[3].put("label","套餐管理");
j[3].put("icon","el-icon-shopping-bag-1");
j[3].put("url","discountView.vue");
//发布公告
j[4] = new JSONObject();
j[4].put("path","/notice");
j[4].put("name","notice");
j[4].put("label","发布公告");
j[4].put("icon","el-icon-news");
j[4].put("url","noticeView.vue");
//换赠设置
j[5] = new JSONObject();
j[5].put("path","/gift");
j[5].put("name","gift");
j[5].put("label","换赠设置");
j[5].put("icon","el-icon-present");
j[5].put("url","giftView.vue");
//聊天室
j[6] = new JSONObject();
j[6].put("path","/chat");
j[6].put("name","chat");
j[6].put("label","聊 天 室");
j[6].put("icon","el-icon-chat-dot-round");
j[6].put("url","chatView.vue");
}
return j;
}
}

@ -1,46 +0,0 @@
package com.example.flower.unit;
import cn.hutool.core.collection.CollectionUtil;
import com.example.flower.entity.RelateDTO;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
public class UserCF {
/**
* : id
*
* @param userId
* @param list
* @return {@link List<Integer>}
*/
public static List<Integer> recommend(Integer userId, List<RelateDTO> list) {
// 按用户分组
Map<Integer, List<RelateDTO>> userMap = list.stream().collect(Collectors.groupingBy(RelateDTO::getUseId));
// 获取其他用户与当前用户的关系值
Map<Integer, Double> userDisMap = CoreMath.computeNeighbor(userId, userMap, 0);
if (CollectionUtil.isEmpty(userDisMap)) {
return Collections.emptyList();
}
// 获取关系最近的用户
double maxValue = Collections.max(userDisMap.values());
Set<Integer> userIds = userDisMap.entrySet().stream().filter(e -> e.getValue() == maxValue).map(Map.Entry::getKey).collect(Collectors.toSet());
// 取关系最近的用户
Integer nearestUserId = userIds.stream().findAny().orElse(null);
if (nearestUserId == null) {
return Collections.emptyList();
}
// 最近邻用户看过商品列表
List<Integer> neighborItems = userMap.get(nearestUserId).stream().map(RelateDTO::getGoodsId).collect(Collectors.toList());
// 指定用户看过商品列表
List<Integer> userItems = userMap.get(userId).stream().map(RelateDTO::getGoodsId).collect(Collectors.toList());
// 找到最近邻看过,但是该用户没看过的商品
neighborItems.removeAll(userItems);
return neighborItems;
}
}

Binary file not shown.
Loading…
Cancel
Save