diff --git a/src/main/java/com/shanzhu/flower/config/Constant.java b/src/main/java/com/shanzhu/flower/config/Constant.java index 941ad7c..76355e4 100644 --- a/src/main/java/com/shanzhu/flower/config/Constant.java +++ b/src/main/java/com/shanzhu/flower/config/Constant.java @@ -1,7 +1,8 @@ package com.shanzhu.flower.config; public class Constant { + public static final int PAGE_SIZE = 5; public static int SHOW_PAGE_SIZE = 9; - + public static String IMG_USE_PATH="static/imgs/"; public static String DEFAULT_IMG = "img.jpg"; } diff --git a/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java b/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java index 0868103..a9c3928 100644 --- a/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java +++ b/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java @@ -34,5 +34,7 @@ public class ProcessInterceptor implements HandlerInterceptor { } @Override - public void afterCompletion(HttpServletRequest httpServletRequest, Ht } + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + HandlerInterceptor.super.afterCompletion(request, response, handler, ex); + } } diff --git a/src/main/java/com/shanzhu/flower/controller/CartController.java b/src/main/java/com/shanzhu/flower/controller/CartController.java index 5daea89..357e102 100644 --- a/src/main/java/com/shanzhu/flower/controller/CartController.java +++ b/src/main/java/com/shanzhu/flower/controller/CartController.java @@ -12,155 +12,86 @@ import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 购物车 控制层 - * 提供购物车相关的RESTful API接口,包括查询、分页查询、购买、新增、更新和删除购物车项。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ + @RestController @RequestMapping("cart") public class CartController { @Resource - private CartService cartService; // 注入购物车服务层 + private CartService cartService; @Resource - private OrderService orderService; // 注入订单服务层 + private OrderService orderService; @Resource - private FlowersDao flowersDao; // 注入花朵数据访问对象 - /** - * 查询用户购物车 - * 根据用户账号查询其购物车中的所有商品,并计算每个商品的总价。 - * - * @param account 用户账号 - * @return 购物车信息 - */ + private FlowersDao flowersDao; @RequestMapping("/queryByAccount") R queryByAccount(@RequestParam("account") String account) { - R r = new R(); // 创建响应对象 -// 检查用户账号是否为空 + R r = new R(); if (StringUtil.isEmpty(account)) { - return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); // 参数不合法 + return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } -// 查询购物车中的商品 List carts = cartService.queryByAccount(account); -// 计算每个商品的总价 for (Cart cart : carts) { - float price = flowersDao.queryPrice(cart.getFid()); // 查询商品单价 - cart.setPrice(cart.getAmount() * price); // 设置总价 + float price = flowersDao.queryPrice(cart.getFid()); + cart.setPrice(cart.getAmount() * price); } - return r.setCode(2000).setData(carts); // 返回成功响应 + return r.setCode(2000).setData(carts); } - /** - * 分页查询购物车 - * 根据用户账号和查询条件分页查询购物车中的商品。 - * - * @param page 页数 - * @param searchKey 查询条件 - * @param account 用户账号 - * @return 分页后的购物车信息 - */ @RequestMapping("/find") R find( @RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account ) { - R r = new R(); // 创建响应对象 -// 创建返回数据的Map + R r = new R(); Map map = new HashMap<>(); -// 查询购物车中的商品 List carts = cartService.find(searchKey, account); -// 如果查询结果为空,直接返回 if (carts == null) { return r.setCode(2000); } -// 计算分页信息 - int totalSize = carts.size(); // 总记录数 - int pageSize = Constant.PAGE_SIZE; // 每页大小 - int totalPages = (totalSize + pageSize - 1) / pageSize; // 总页数 -// 获取当前页的数据 + int totalSize = carts.size(); + int pageSize = Constant.PAGE_SIZE; + int totalPages = (totalSize + pageSize - 1) / pageSize; int start = (page - 1) * pageSize; int end = Math.min(start + pageSize, totalSize); List items = carts.subList(start, end); -// 将分页信息和当前页数据放入Map map.put("items", items); map.put("len", totalPages); - return r.setCode(2000).setData(map); // 返回成功响应 + return r.setCode(2000).setData(map); } - /** - * 购买 - * 将购物车中的商品生成订单,并清空购物车。 - * - * @param account 用户账号 - * @return 购买结果 - */ @RequestMapping("/buy") R buy(@RequestParam("account") String account) { - R r = new R(); // 创建响应对象 -// 查询该用户的购物车 + R r = new R(); List carts = (List) queryByAccount(account).getData(); -// 遍历购物车中的商品 for (Cart cart : carts) { -// 增加订单数据 orderService.add(cart); -// 删除购物车数据 cartService.delete(cart.getId()); } - return r.setCode(2000).setMsg(HttpMsg.BUY_OK); // 返回购买成功响应 + return r.setCode(2000).setMsg(HttpMsg.BUY_OK); } - /** - * 新增购物车 - * 将商品添加到购物车中。 - * - * @param cart 购物车信息 - * @return 新增结果 - */ @RequestMapping("/create") R create(@RequestBody Cart cart) { - R r = new R(); // 创建响应对象 -// 调用服务层添加购物车 + R r = new R(); int ans = cartService.add(cart); -// 根据返回结果设置响应 if (ans == 1) { - return r.setCode(2000).setMsg(HttpMsg.ADD_CART_OK); // 添加成功 + return r.setCode(2000).setMsg(HttpMsg.ADD_CART_OK); } - return r.setCode(4000).setMsg(HttpMsg.ADD_CART_FAILED); // 添加失败 + return r.setCode(4000).setMsg(HttpMsg.ADD_CART_FAILED); } - /** - * 更新购物车 - * 更新购物车中的商品信息。 - * - * @param cart 购物车信息 - * @return 更新结果 - */ @RequestMapping("/update") R update(@RequestBody Cart cart) { - R r = new R(); // 创建响应对象 -// 调用服务层更新购物车 + R r = new R(); int ans = cartService.update(cart); -// 根据返回结果设置响应 if (ans >= 0) { - return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); // 更新成功 + return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); // 更新失败 + return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } - /** - * 删除购物车 - * 根据购物车ID删除购物车中的商品。 - * - * @param id 购物车ID - * @return 删除结果 - */ @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { - R r = new R(); // 创建响应对象 -// 调用服务层删除购物车 + R r = new R(); int ans = cartService.delete(id); -// 根据返回结果设置响应 if (ans == 1) { - return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); // 删除成功 + return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); // 删除失败 + return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } } diff --git a/src/main/java/com/shanzhu/flower/controller/FlowerController.java b/src/main/java/com/shanzhu/flower/controller/FlowerController.java index 8a55da7..ba00f80 100644 --- a/src/main/java/com/shanzhu/flower/controller/FlowerController.java +++ b/src/main/java/com/shanzhu/flower/controller/FlowerController.java @@ -17,13 +17,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; - -/** - * 鲜花 控制层 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ @RestController @RequestMapping("flower") public class FlowerController { @@ -36,14 +29,6 @@ public class FlowerController { @Resource private FlowersDao flowersDao; - /** - * 分页查询鲜花商品 - * - * @param page 页数 - * @param searchKey 查询条件 - * @param searchType 查询类型 - * @return 商品 - */ @RequestMapping("/find") R find( @RequestParam("page") int page, @@ -60,13 +45,6 @@ public class FlowerController { return getResponse(flowers, page, Constant.SHOW_PAGE_SIZE, r); } - /** - * 管理员查询所有 - * - * @param page 分页页数 - * @param searchKey 查询条件 - * @return 结果 - */ @RequestMapping("/findAll") R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); @@ -79,12 +57,6 @@ public class FlowerController { return getResponse(flowers, page, Constant.PAGE_SIZE, r); } - /** - * 创建鲜花商品 - * - * @param flower 商品信息 - * @return 结果 - */ @RequestMapping("/create") R create(@RequestBody Flower flower) { R r = new R(); @@ -97,12 +69,7 @@ public class FlowerController { return r.setCode(4000).setMsg(HttpMsg.ADD_FLOWER_FAILED); } - /** - * 更新鲜花商品 - * - * @param flower 商品信息 - * @return 结果 - */ + @RequestMapping("/update") R update(@RequestBody Flower flower) { R r = new R(); @@ -115,33 +82,17 @@ public class FlowerController { return r.setCode(4000).setMsg(HttpMsg.UPDATE_FLOWER_FAILED); } - /** - * 改版商品状态 - * - * @param flower 商品信息 - * @return 结果 - */ @RequestMapping("/changeState") R changeState(@RequestBody Flower flower) { R r = new R(); - flowersDao.changeState(flower); String msg = flower.getState() == 1 ? HttpMsg.GOODS_UP_OK : HttpMsg.GOODS_DOWN_OK; - return r.setCode(2000).setMsg(msg); } - /** - * 上传图片 - * - * @param file 文件信息 - * @return 结果 - */ @RequestMapping("/updateImg") R updateImg(@RequestParam("file") MultipartFile file) { R r = new R(); - - // 只接收 jpg/png 图片 String filename = file.getOriginalFilename(); if (!filename.endsWith(".jpg") && !filename.endsWith(".png")) { return r.setCode(4000).setMsg(HttpMsg.ERROR_FILE_TYPE); @@ -158,13 +109,6 @@ public class FlowerController { } - /** - * 更新图片guid - * - * @param guid guid - * @param id id - * @return 结果 - */ @PutMapping("/updateImgGuid") R updateImgGuid(@RequestParam("guid") String guid, @RequestParam("id") int id) { R r = new R(); @@ -177,12 +121,6 @@ public class FlowerController { return r.setCode(4000).setMsg(HttpMsg.UPDATE_PIC_FAILED); } - /** - * 删除图片 - * - * @param id 图片id - * @return 结果 - */ @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); @@ -199,20 +137,15 @@ public class FlowerController { OutputStream os = null; try { String path = uploadPath; - // 1K的数据缓冲 byte[] bs = new byte[1024]; - // 读取到的数据长度 int len; - // 输出的文件流保存到本地文件 os = new FileOutputStream(new File(path + fileName)); - // 开始读取 while ((len = inputStream.read(bs)) != -1) { os.write(bs, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { - // 完毕,关闭所有链接 try { os.close(); inputStream.close(); diff --git a/src/main/java/com/shanzhu/flower/controller/LoginController.java b/src/main/java/com/shanzhu/flower/controller/LoginController.java index 821d691..a25d69a 100644 --- a/src/main/java/com/shanzhu/flower/controller/LoginController.java +++ b/src/main/java/com/shanzhu/flower/controller/LoginController.java @@ -12,44 +12,24 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -/** - * 用户登录 控制层 - * 提供用户登录的RESTful API接口,处理用户登录请求,验证登录信息,并返回登录结果。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ @RestController @RequestMapping("login") public class LoginController { @Resource - private LoginDao loginDao; // 注入登录数据访问对象 + private LoginDao loginDao; - /** - * 用户登录 - * 处理用户登录请求,验证登录表单信息,查询用户数据,返回登录结果。 - * - * @param form 登录表单信息 - * @return 登录结果 - */ @RequestMapping("/doLogin") R doLogin(@RequestBody LoginForm form) { - R r = new R(); // 创建响应对象 - - // 验证登录表单信息 + R r = new R(); if (!VerifyUtil.verifyLoginForm(form)) { - return r.setCode(4000).setMsg(HttpMsg.ERROR_INPUT); // 表单信息不正确 + return r.setCode(4000).setMsg(HttpMsg.ERROR_INPUT); } - // 查询用户信息 User loginUser = loginDao.login(form); if (loginUser != null) { - // 登录成功,返回用户信息和欢迎消息 return r.setCode(2000).setMsg("欢迎您:" + loginUser.getName()).setData(loginUser); } - - // 登录失败,返回错误信息 return r.setCode(4000).setMsg(HttpMsg.ERROR_VERIFY); } } diff --git a/src/main/java/com/shanzhu/flower/controller/OrderController.java b/src/main/java/com/shanzhu/flower/controller/OrderController.java index e05a7bf..1df9ab3 100644 --- a/src/main/java/com/shanzhu/flower/controller/OrderController.java +++ b/src/main/java/com/shanzhu/flower/controller/OrderController.java @@ -15,150 +15,89 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 订单 控制层 - * 提供订单相关的RESTful API接口,包括查询订单、分页查询订单列表、更新订单状态、删除订单等。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ + @RestController @RequestMapping("order") public class OrderController { @Resource - private OrderService orderService; // 注入订单服务层 + private OrderService orderService; @Resource - private UserDao userDao; // 注入用户数据访问对象 + private UserDao userDao; @Resource - private OrderDao orderDao; // 注入订单数据访问对象 - /** - * 根据账号查询订单 - * 查询指定账号的所有订单。 - * - * @param account 用户账号 - * @return 订单列表 - */ + private OrderDao orderDao; + @RequestMapping("/queryByAccount") R queryByAccount(@RequestParam("account") String account) { - R r = new R(); // 创建响应对象 -// 检查账号是否为空 + R r = new R(); if (StringUtil.isEmpty(account)) { - return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); // 参数不合法 + return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } -// 查询订单 List orders = orderService.queryByAccount(account); - return r.setCode(2000).setData(orders); // 返回订单列表 + return r.setCode(2000).setData(orders); } - /** - * 分页查询订单 - * 根据查询条件和页码分页查询订单列表。 - * - * @param page 页码 - * @param searchKey 查询条件 - * @param account 用户账号 - * @return 分页后的订单列表 - */ @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account) { - R r = new R(); // 创建响应对象 - Map map = new HashMap<>(); // 创建返回数据的Map -// 查询订单列表 + R r = new R(); + Map map = new HashMap<>(); List orders = orderService.find(searchKey, account); if (orders == null) { - return r.setCode(2000); // 没有查询到数据 + return r.setCode(2000); } -// 将订单列表放入Map map.put("items", orders); map.put("len", orders.size()); - return r.setCode(2000).setData(map); // 返回分页后的订单列表 + return r.setCode(2000).setData(map); } - /** - * 分页查询所有订单 - * 查询所有订单,并根据页码分页。 - * - * @param page 页码 - * @param searchKey 查询条件 - * @return 分页后的订单列表 - */ @RequestMapping("/findAll") R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { - R r = new R(); // 创建响应对象 - Map map = new HashMap<>(); // 创建返回数据的Map -// 查询所有订单 + R r = new R(); + Map map = new HashMap<>(); List orders = orderService.findAll(searchKey); if (orders == null) { - return r.setCode(2000); // 没有查询到数据 + return r.setCode(2000); } -// 计算分页信息 - int totalSize = orders.size(); // 总记录数 - int pageSize = Constant.PAGE_SIZE; // 每页大小 - int totalPages = (totalSize + pageSize - 1) / pageSize; // 总页数 -// 获取当前页的数据 + int totalSize = orders.size(); + int pageSize = Constant.PAGE_SIZE; + int totalPages = (totalSize + pageSize - 1) / pageSize; int start = (page - 1) * pageSize; int end = Math.min(start + pageSize, totalSize); List items = orders.subList(start, end); -// 将订单信息转换为OrderVo List vos = new ArrayList<>(); for (Order item : items) { - User user = userDao.queryById(item.getUid()); // 查询用户信息 - OrderVo vo = new OrderVo(); // 创建OrderVo对象 + User user = userDao.queryById(item.getUid()); + OrderVo vo = new OrderVo(); vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName()) .setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId()) .setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice()) .setState(item.getState()); - vos.add(vo); // 添加到列表 + vos.add(vo); } -// 将分页信息和订单列表放入Map map.put("items", vos); map.put("len", totalPages); - return r.setCode(2000).setData(map); // 返回分页后的订单列表 + return r.setCode(2000).setData(map); } - /** - * 更新订单 - * 更新指定订单的信息。 - * - * @param order 订单信息 - * @return 更新结果 - */ + @RequestMapping("/update") R update(@RequestBody Order order) { - R r = new R(); // 创建响应对象 -// 调用服务层更新订单 + R r = new R(); int ans = orderService.update(order); -// 根据返回结果设置响应 if (ans >= 0) { - return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); // 更新成功 + return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); // 更新失败 + return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } - /** - * 改变订单状态 - * 更新指定订单的状态。 - * - * @param order 订单信息 - * @return 更新结果 - */ + @RequestMapping("/changeState") R changeState(@RequestBody Order order) { - orderDao.changeState(order); // 调用数据访问对象更新订单状态 - return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK); // 返回成功响应 + orderDao.changeState(order); + return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK); } - /** - * 删除订单 - * 根据订单ID删除订单。 - * - * @param id 订单ID - * @return 删除结果 - */ @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { - R r = new R(); // 创建响应对象 -// 调用服务层删除订单 + R r = new R(); int ans = orderService.delete(id); -// 根据返回结果设置响应 if (ans == 1) { - return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); // 删除成功 + return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); // 删除失败 + return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } } diff --git a/src/main/java/com/shanzhu/flower/controller/UserController.java b/src/main/java/com/shanzhu/flower/controller/UserController.java index 16afd92..87da874 100644 --- a/src/main/java/com/shanzhu/flower/controller/UserController.java +++ b/src/main/java/com/shanzhu/flower/controller/UserController.java @@ -13,144 +13,86 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 用户 控制层 - * 提供用户相关的RESTful API接口,包括查询用户信息、分页查询用户列表、新增用户、更新用户信息和删除用户。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ @RestController @RequestMapping("user") public class UserController { @Resource - private UserService userService; // 注入用户服务层 - - /** - * 根据账号查询用户信息 - * 查询指定账号的用户详细信息。 - * - * @param account 用户账号 - * @return 用户信息 - */ + private UserService userService; + @RequestMapping("/queryInfoByAccount") R queryInfoByAccount(@RequestParam("account") String account) { - R r = new R(); // 创建响应对象 + R r = new R(); - // 检查账号是否为空 if (StringUtil.isEmpty(account)) { - return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); // 参数不合法 + return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } - // 查询用户信息 User loginUser = userService.queryInfo(account); if (loginUser == null) { - return r.setCode(4000).setMsg(HttpMsg.INVALID_USER); // 用户不存在 + return r.setCode(4000).setMsg(HttpMsg.INVALID_USER); } - return r.setCode(2000).setData(loginUser); // 返回用户信息 + return r.setCode(2000).setData(loginUser); } - /** - * 分页查询用户列表 - * 根据查询条件和页码分页查询用户列表。 - * - * @param page 页码 - * @param searchKey 查询条件 - * @return 分页后的用户列表 - */ @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { - R r = new R(); // 创建响应对象 - Map map = new HashMap<>(); // 创建返回数据的Map + R r = new R(); + Map map = new HashMap<>(); - // 查询用户列表 List users = userService.find(searchKey); if (users == null) { - return r.setCode(2000); // 没有查询到数据 + return r.setCode(2000); } - // 计算分页信息 - int totalSize = users.size(); // 总记录数 - int pageSize = Constant.PAGE_SIZE; // 每页大小 - int totalPages = (totalSize + pageSize - 1) / pageSize; // 总页数 + int totalSize = users.size(); + int pageSize = Constant.PAGE_SIZE; + int totalPages = (totalSize + pageSize - 1) / pageSize; - // 获取当前页的数据 int start = (page - 1) * pageSize; int end = Math.min(start + pageSize, totalSize); List items = users.subList(start, end); - // 将分页信息和当前页数据放入Map map.put("items", items); map.put("len", totalPages); - return r.setCode(2000).setData(map); // 返回分页后的用户列表 + return r.setCode(2000).setData(map); } - /** - * 新增用户 - * 添加一个新的用户记录。 - * - * @param user 用户信息 - * @return 新增结果 - */ @RequestMapping("/create") R create(@RequestBody User user) { - R r = new R(); // 创建响应对象 - - // 调用服务层添加用户 + R r = new R(); int ans = userService.add(user); - - // 根据返回结果设置响应 if (ans == 1) { - return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK); // 添加成功 + return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK); } - - return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED); // 添加失败 + return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED); } - /** - * 更新用户信息 - * 更新指定用户的详细信息。 - * - * @param user 用户信息 - * @return 更新结果 - */ @RequestMapping("/update") R update(@RequestBody User user) { - R r = new R(); // 创建响应对象 + R r = new R(); - // 调用服务层更新用户 int ans = userService.update(user); - // 根据返回结果设置响应 if (ans >= 0) { - return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); // 更新成功 + return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); // 更新失败 + return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } - /** - * 删除用户 - * 根据用户ID删除用户记录。 - * - * @param id 用户ID - * @return 删除结果 - */ @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { - R r = new R(); // 创建响应对象 + R r = new R(); - // 调用服务层删除用户 int ans = userService.delete(id); - // 根据返回结果设置响应 if (ans == 1) { - return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); // 删除成功 + return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } - return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); // 删除失败 + return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } } diff --git a/src/main/java/com/shanzhu/flower/dao/CartDao.java b/src/main/java/com/shanzhu/flower/dao/CartDao.java index 189bee9..589f0b9 100644 --- a/src/main/java/com/shanzhu/flower/dao/CartDao.java +++ b/src/main/java/com/shanzhu/flower/dao/CartDao.java @@ -9,83 +9,30 @@ import java.util.List; @Repository public interface CartDao { -// -// 根据搜索关键词和用户账号查询购物车 -// 查询购物车中包含指定搜索关键词的商品,并且属于指定用户账号的记录。 -// -// @param searchKey 搜索关键词 -// @param account 用户账号 -// @return 购物车列表 -// + @Select("select * from carts where flower like concat('%',#{searchKey},'%') and account = #{account};") List find(@Param("searchKey") String searchKey, @Param("account") String account); -// -// 查询所有购物车记录 -// 查询购物车表中的所有记录。 -// -// @return 购物车记录列表 -// @Select("select * from carts;") List findAll(); -// -// 检查商品是否已添加到购物车 -// 查询指定用户是否已将指定商品添加到购物车。 -// -// @param cart 购物车对象,包含商品ID(fid)和用户ID(uid) -// @return 购物车记录,如果已添加则返回记录,否则返回null -// @Select("select * from carts where fid = #{fid} and uid = #{uid};") Cart checkIsAdded(Cart cart); -// -// 增加购物车中商品的数量 -// 将指定用户购物车中指定商品的数量加1。 -// -// @param cart 购物车对象,包含商品ID(fid)和用户ID(uid) -// @return 影响的行数,成功返回1,失败返回0 -// @Update("update carts set amount = amount + 1 where fid = #{fid} and uid = #{uid};") int addAmount(Cart cart); -// -// 根据用户ID查询购物车 -// 查询指定用户购物车中的所有商品。 -// -// @param uid 用户ID -// @return 购物车列表 -// @Select("select * from carts where uid = #{uid};") List queryByUid(int uid); -// -// 更新购物车记录 -// 更新购物车中的记录,包括商品名称、密码、电话和地址。 -// -// @param cart 购物车对象,包含需要更新的字段 -// @return 影响的行数,成功返回1,失败返回0 -// @Update("update carts set name = #{name},password = #{password},phone = #{phone},address = #{address} where id = #{id};") int update(Cart cart); -// -// 删除购物车记录 -// 根据购物车ID删除记录。 -// -// @param id 购物车ID -// @return 影响的行数,成功返回1,失败返回0 -// + @Delete("delete from carts where id = #{id};") int delete(int id); -// -// 添加购物车记录 -// 将新的购物车记录插入到数据库中。 -// -// @param cart 购物车对象,包含商品ID、商品名称、数量和用户ID -// @return 影响的行数,成功返回1,失败返回0 -// + @Insert("insert into carts(fid,flower,amount,uid) " + "values(#{fid},#{flower},1,#{uid});") int add(Cart cart); diff --git a/src/main/java/com/shanzhu/flower/dao/LoginDao.java b/src/main/java/com/shanzhu/flower/dao/LoginDao.java index ba5a803..d795449 100644 --- a/src/main/java/com/shanzhu/flower/dao/LoginDao.java +++ b/src/main/java/com/shanzhu/flower/dao/LoginDao.java @@ -7,15 +7,7 @@ import org.springframework.stereotype.Repository; @Repository public interface LoginDao { -// -// -// 用户登录验证 -// 根据登录表单信息(账号、密码和角色)查询用户信息。 -// 如果查询到用户记录,则表示登录成功;否则登录失败。 -// -// @param form 登录表单信息,包含账号(account)、密码(password)和角色(role) -// @return 查询到的用户信息,如果登录成功返回User对象,否则返回null -// + @Select("select * from users where account = #{account} and password = #{password} and role = #{role};") User login(LoginForm form); } diff --git a/src/main/java/com/shanzhu/flower/dao/OrderDao.java b/src/main/java/com/shanzhu/flower/dao/OrderDao.java index 16404ed..8098b27 100644 --- a/src/main/java/com/shanzhu/flower/dao/OrderDao.java +++ b/src/main/java/com/shanzhu/flower/dao/OrderDao.java @@ -10,84 +10,27 @@ import java.util.List; @Repository public interface OrderDao { -// -// 根据搜索关键词和用户ID查询订单 -// 查询指定用户的所有订单,订单中的商品名称包含指定的搜索关键词。 -// -// @param searchKey 搜索关键词 -// @param uid 用户ID -// @return 订单列表 -// @Select("select * from orders where flower like concat('%',#{searchKey},'%') and uid = #{uid};") List find(@Param("searchKey") String searchKey, @Param("uid") int uid); -// -// 根据搜索关键词查询所有订单 -// 查询所有订单,订单中的商品名称包含指定的搜索关键词。 -// -// @param searchKey 搜索关键词 -// @return 订单列表 -// @Select("select * from orders where flower like concat('%',#{searchKey},'%');") List findAll(String searchKey); -// -// 检查订单是否已存在 -// 查询指定用户是否已存在指定商品的订单。 -// -// @param order 订单对象,包含商品ID(fid)和用户ID(uid) -// @return 订单记录,如果已存在则返回订单对象,否则返回null -// @Select("select * from orders where fid = #{fid} and uid = #{uid};") Order checkIsAdded(Order order); -// -// 更新订单状态 -// 根据订单ID更新订单的状态。 -// -// @param order 订单对象,包含订单ID(id)和新状态(state) -// @return 影响的行数,成功返回1,失败返回0 -// @Update("update orders set state = #{state} where id = #{id};") int changeState(Order order); -// -// 根据用户ID查询订单 -// 查询指定用户的所有订单。 -// -// @param uid 用户ID -// @return 订单列表 -// @Select("select * from orders where uid = #{uid};") List queryByUid(int uid); -// -// 更新订单信息 -// 更新订单的详细信息,包括商品名称、密码、电话和地址。 -// -// @param order 订单对象,包含需要更新的字段 -// @return 影响的行数,成功返回1,失败返回0 -// @Update("update orders set name = #{name},password = #{password},phone = #{phone},address = #{address} where id = #{id};") int update(Order order); -// -// 删除订单 -// 根据订单ID删除订单。 -// -// @param id 订单ID -// @return 影响的行数,成功返回1,失败返回0 -// @Delete("delete from orders where id = #{id};") int delete(int id); -// -// 添加订单 -// 将新的订单记录插入到数据库中。 -// -// @param cart 购物车对象,包含商品名称、数量、价格和用户ID -// @return 影响的行数,成功返回1,失败返回0 -// @Insert("insert into orders(flower,amount,price,state,uid) " + "values(#{flower},#{amount},#{price},0,#{uid});") int add(Cart cart); diff --git a/src/main/java/com/shanzhu/flower/dao/UserDao.java b/src/main/java/com/shanzhu/flower/dao/UserDao.java index e0f409f..cad90aa 100644 --- a/src/main/java/com/shanzhu/flower/dao/UserDao.java +++ b/src/main/java/com/shanzhu/flower/dao/UserDao.java @@ -12,82 +12,27 @@ import java.util.List; @Repository public interface UserDao { -// -// 根据搜索关键词查询用户 -// 查询用户表中账号或姓名包含指定搜索关键词的普通用户(角色为'user')。 -// -// @param searchKey 搜索关键词 -// @return 用户列表 -// @Select("select * from users where (account like concat('%',#{searchKey},'%') or name like concat('%',#{searchKey},'%')) and role = 'user';") List find(String searchKey); -// -// 根据用户ID查询用户 -// 查询指定ID的用户信息。 -// -// @param id 用户ID -// @return 用户信息 -// @Select("select * from users where id = #{id};") User queryById(Integer id); -// -// 查询所有用户 -// 查询用户表中的所有用户信息。 -// -// @return 用户列表 -// @Select("select * from users;") List findAll(); -// -// 根据账号查询用户信息 -// 查询指定账号的普通用户信息(角色为'user')。 -// -// @param account 用户账号 -// @return 用户信息 -// @Select("select * from users where account = #{account} and role = 'user';") User queryInfo(String account); -// -// 根据账号查询用户ID -// 查询指定账号的普通用户的ID。 -// -// @param account 用户账号 -// @return 用户ID -// @Select("select id from users where account = #{account} and role = 'user';") Integer queryIdByAccount(String account); -// -// 更新用户信息 -// 更新用户的基本信息,包括姓名、密码、电话和地址。 -// -// @param user 用户对象,包含需要更新的字段 -// @return 影响的行数,成功返回1,失败返回0 -// @Update("update users set name = #{name},password = #{password},phone = #{phone},address = #{address} where id = #{id};") int update(User user); -// -// 删除用户 -// 根据用户ID删除用户记录。 -// -// @param id 用户ID -// @return 影响的行数,成功返回1,失败返回0 -// @Delete("delete from users where id = #{id};") int delete(int id); -// -// 添加用户 -// 将新的用户记录插入到数据库中,用户角色默认为'user'。 -// -// @param user 用户对象,包含账号、姓名、密码、电话和地址 -// @return 影响的行数,成功返回1,失败返回0 -// @Insert("insert into users(account,name,password,phone,address,role) " + "values(#{account},#{name},#{password},#{phone},#{address},'user');") int add(User user); diff --git a/src/main/java/com/shanzhu/flower/entity/Cart.java b/src/main/java/com/shanzhu/flower/entity/Cart.java index 555827d..f6d275d 100644 --- a/src/main/java/com/shanzhu/flower/entity/Cart.java +++ b/src/main/java/com/shanzhu/flower/entity/Cart.java @@ -7,39 +7,11 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class Cart { -// -// 购物车记录的唯一标识符。 -// 用于在数据库中唯一标识每条购物车记录。 -// private int id; - -// -// 商品的唯一标识符。 -// 用于标识购物车中的具体商品。 -// private int fid; - -// -// 商品名称。 -// 用于存储购物车中商品的名称。 -// private String flower; - -// -// 商品数量。 -// 用于存储购物车中商品的数量。 -// private int amount; - -// -// 商品总价。 -// 用于存储购物车中商品的总价,计算方式为单价乘以数量。 -// private float price; -// 用户的唯一标识符。 -// 用于标识购物车记录所属的用户。 private int uid; -// 用户账号。 -// 用于存储购物车记录所属用户的账号信息。 private String account; } diff --git a/src/main/java/com/shanzhu/flower/entity/Flower.java b/src/main/java/com/shanzhu/flower/entity/Flower.java index d61e979..1324e73 100644 --- a/src/main/java/com/shanzhu/flower/entity/Flower.java +++ b/src/main/java/com/shanzhu/flower/entity/Flower.java @@ -9,14 +9,10 @@ public class Flower { private int id; private String name; - // 分类名称 private String species_name; private float price; - // 详细介绍 private String detail; - // 图片 private String img_guid; - // 是否上架 private int state; } diff --git a/src/main/java/com/shanzhu/flower/entity/Order.java b/src/main/java/com/shanzhu/flower/entity/Order.java index 7d622ca..0748b3f 100644 --- a/src/main/java/com/shanzhu/flower/entity/Order.java +++ b/src/main/java/com/shanzhu/flower/entity/Order.java @@ -6,46 +6,11 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class Order { - -// -// 订单的唯一标识符。 -// 用于在数据库中唯一标识每条订单记录。 -// private int id; - -// -// 订单的全局唯一标识符(GUID)。 -// 用于在系统中唯一标识订单,便于跟踪和管理。 -// private String order_guid; - -// -// 订单中的商品名称。 -// 用于存储订单中商品的名称。 -// private String flower; - -// -// 商品数量。 -// 用于存储订单中商品的数量。 -// private int amount; - -// -// 商品总价。 -// 用于存储订单中商品的总价,计算方式为单价乘以数量。 -// private float price; - -// -// 订单状态。 -// 用于标识订单的当前状态,例如:0表示未发货,1表示已发货,2表示已完成等。 -// private float state; - -// -// 用户ID。 -// 用于标识订单所属的用户。 -// - private int uid; // 用户 id + private int uid; } diff --git a/src/main/java/com/shanzhu/flower/entity/User.java b/src/main/java/com/shanzhu/flower/entity/User.java index 1d17ff0..aa12125 100644 --- a/src/main/java/com/shanzhu/flower/entity/User.java +++ b/src/main/java/com/shanzhu/flower/entity/User.java @@ -6,45 +6,12 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class User { -// -// 用户的唯一标识符。 -// 用于在数据库中唯一标识每个用户。 -// private int id; -// -// 用户账号。 -// 用于用户登录和身份验证。 -// private String account; - -// -// 用户姓名。 -// 用于存储用户的真实姓名或昵称。 -// private String name; - -// -// 用户密码。 -// 用于用户登录验证,存储时应加密处理以保证安全。 -// private String password; - -// -// 用户电话号码。 -// 用于联系用户或验证用户身份。 -// private String phone; - -// -// 用户地址。 -// 用于存储用户的配送地址或其他联系地址。 -// private String address; - -// -// 用户角色。 -// 用于标识用户在系统中的权限级别,例如:"admin" 表示管理员,"user" 表示普通用户。 -// private String role; } diff --git a/src/main/java/com/shanzhu/flower/service/CartService.java b/src/main/java/com/shanzhu/flower/service/CartService.java index 32fcda8..adfaaa2 100644 --- a/src/main/java/com/shanzhu/flower/service/CartService.java +++ b/src/main/java/com/shanzhu/flower/service/CartService.java @@ -3,58 +3,15 @@ package com.shanzhu.flower.service; import com.shanzhu.flower.entity.Cart; import java.util.List; -/** - * 购物车 服务 - * 定义了购物车相关的业务逻辑接口,包括添加、删除、更新购物车项,以及查询购物车内容。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ public interface CartService { -// -// 添加商品到购物车 -// 如果商品已存在于购物车中,则增加该商品的数量;否则,将商品作为新的记录添加到购物车。 -// -// @param cart 购物车对象,包含商品信息和用户账号 -// @return 添加结果,成功返回1,失败返回0 -// int add(Cart cart); -// -// 删除购物车中的商品 -// 根据用户ID删除购物车中的所有商品。 -// -// @param uid 用户ID -// @return 删除结果,成功返回1,失败返回0 -// int delete(int uid); -// -// 更新购物车中的商品信息 -// 更新购物车中指定商品的数量或其他信息。 -// -// @param cart 购物车对象,包含需要更新的商品信息 -// @return 更新结果,成功返回1,失败返回0 -// int update(Cart cart); -// -// 根据搜索关键词和用户账号查询购物车 -// 查询购物车中商品名称包含指定搜索关键词的记录,并且属于指定用户账号。 -// -// @param searchKey 搜索关键词 -// @param account 用户账号 -// @return 购物车记录列表 -// List find(String searchKey, String account); -// -// 根据用户账号查询购物车 -// 查询指定用户账号的购物车中的所有商品。 -// -// @param account 用户账号 -// @return 购物车记录列表 -// List queryByAccount(String account); } diff --git a/src/main/java/com/shanzhu/flower/service/OrderService.java b/src/main/java/com/shanzhu/flower/service/OrderService.java index a2fb68a..372b1ea 100644 --- a/src/main/java/com/shanzhu/flower/service/OrderService.java +++ b/src/main/java/com/shanzhu/flower/service/OrderService.java @@ -24,49 +24,13 @@ public interface OrderService { // int add(Cart cart); -// -// 删除订单 -// 根据用户ID删除所有订单。 -// -// @param uid 用户ID -// @return 删除结果,成功返回1,失败返回0 -// int delete(int uid); -// -// 更新订单 -// 更新订单的状态或其他信息。 -// -// @param order 订单对象,包含需要更新的订单信息 -// @return 更新结果,成功返回1,失败返回0 -// int update(Order order); -// -// 根据搜索关键词和用户账号查询订单 -// 查询订单中商品名称包含指定搜索关键词的记录,并且属于指定用户账号。 -// -// @param searchKey 搜索关键词 -// @param account 用户账号 -// @return 订单记录列表 -// List find(String searchKey, String account); -// -// 根据搜索关键词查询所有订单 -// 查询所有订单中商品名称包含指定搜索关键词的记录。 -// -// @param searchKey 搜索关键词 -// @return 订单记录列表 -// List findAll(String searchKey); -// /** -// 根据用户账号查询订单 -// 查询指定用户账号的所有订单。 -// -// @param account 用户账号 -// @return 订单记录列表 -// List queryByAccount(String account); } diff --git a/src/main/java/com/shanzhu/flower/service/UserService.java b/src/main/java/com/shanzhu/flower/service/UserService.java index 9618a13..74d35b1 100644 --- a/src/main/java/com/shanzhu/flower/service/UserService.java +++ b/src/main/java/com/shanzhu/flower/service/UserService.java @@ -3,57 +3,14 @@ package com.shanzhu.flower.service; import com.shanzhu.flower.entity.User; import java.util.List; -/** - * 用户 服务层 - * 定义了用户相关的业务逻辑接口,包括添加用户、删除用户、更新用户信息,以及查询用户。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ public interface UserService { -// -// 添加用户 -// 将新的用户记录插入到数据库中。 -// -// @param user 用户对象,包含用户的基本信息(账号、姓名、密码等) -// @return 添加结果,成功返回1,失败返回0 -// int add(User user); - -// -// 删除用户 -// 根据用户ID删除用户记录。 -// -// @param uid 用户ID -// @return 删除结果,成功返回1,失败返回0 -// int delete(int uid); -// -// 更新用户信息 -// 更新用户的基本信息,如姓名、密码、电话和地址。 -// -// @param user 用户对象,包含需要更新的用户信息 -// @return 更新结果,成功返回1,失败返回0 -// int update(User user); -// -// 根据搜索关键词查询用户 -// 查询用户表中账号或姓名包含指定搜索关键词的用户。 -// -// @param searchKey 搜索关键词 -// @return 用户列表 -// List find(String searchKey); -// -// 根据账号查询用户信息 -// 查询指定账号的用户详细信息。 -// -// @param account 用户账号 -// @return 用户信息,如果查询不到返回null -// User queryInfo(String account); } diff --git a/src/main/java/com/shanzhu/flower/service/impl/CartServiceImpl.java b/src/main/java/com/shanzhu/flower/service/impl/CartServiceImpl.java index 74b17b3..b84a596 100644 --- a/src/main/java/com/shanzhu/flower/service/impl/CartServiceImpl.java +++ b/src/main/java/com/shanzhu/flower/service/impl/CartServiceImpl.java @@ -13,51 +13,41 @@ import java.util.List; public class CartServiceImpl implements CartService { @Resource - private CartDao cartDao; // 注入购物车数据访问对象 + private CartDao cartDao; @Resource - private UserDao userDao; // 注入用户数据访问对象 + private UserDao userDao; @Override public int add(Cart cart) { - // 根据用户账号查询用户ID int uid = userDao.queryIdByAccount(cart.getAccount()); - cart.setUid(uid); // 设置购物车记录的用户ID - - // 检查该用户是否已将该商品添加到购物车 + cart.setUid(uid); Cart cart1 = cartDao.checkIsAdded(cart); if (cart1 == null) { - // 如果未添加,直接插入新的购物车记录 return cartDao.add(cart); } else { - // 如果已添加,增加该商品的数量 return cartDao.addAmount(cart); } } @Override public int delete(int uid) { - // 根据用户ID删除购物车记录 return cartDao.delete(uid); } @Override public int update(Cart cart) { - // 更新购物车记录 return cartDao.update(cart); } @Override public List find(String searchKey, String account) { - // 根据搜索关键词和用户账号查询购物车记录 return cartDao.find(searchKey, account); } @Override public List queryByAccount(String account) { - // 根据用户账号查询用户ID Integer uid = userDao.queryIdByAccount(account); - // 根据用户ID查询购物车记录 return cartDao.queryByUid(uid); } } diff --git a/src/main/java/com/shanzhu/flower/service/impl/OrderServiceImpl.java b/src/main/java/com/shanzhu/flower/service/impl/OrderServiceImpl.java index 04a70c0..94de084 100644 --- a/src/main/java/com/shanzhu/flower/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/shanzhu/flower/service/impl/OrderServiceImpl.java @@ -14,54 +14,39 @@ import java.util.List; public class OrderServiceImpl implements OrderService { @Resource - private OrderDao orderdao; // 注入订单数据访问对象 - + private OrderDao orderdao; @Resource - private UserDao userDao; // 注入用户数据访问对象 + private UserDao userDao; @Override public int add(Cart cart) { - // 将购物车中的商品添加为订单 - // 直接调用订单数据访问对象的add方法,将购物车对象转换为订单对象后插入数据库 return orderdao.add(cart); } @Override public int delete(int uid) { - // 根据用户ID删除订单 - // 调用订单数据访问对象的delete方法,删除指定用户ID的所有订单 return orderdao.delete(uid); } @Override public int update(Order order) { - // 更新订单信息 - // 调用订单数据访问对象的update方法,更新指定订单的详细信息 return orderdao.update(order); } @Override public List find(String searchKey, String account) { - // 根据搜索关键词和用户账号查询订单 - // 首先根据用户账号查询用户ID Integer uid = userDao.queryIdByAccount(account); - // 然后根据搜索关键词和用户ID查询订单 return orderdao.find(searchKey, uid); } @Override public List findAll(String searchKey) { - // 根据搜索关键词查询所有订单 - // 调用订单数据访问对象的findAll方法,查询所有包含搜索关键词的订单 return orderdao.findAll(searchKey); } @Override public List queryByAccount(String account) { - // 根据用户账号查询订单 - // 首先根据用户账号查询用户ID Integer uid = userDao.queryIdByAccount(account); - // 然后根据用户ID查询订单 return orderdao.queryByUid(uid); } } diff --git a/src/main/java/com/shanzhu/flower/service/impl/UserServiceImpl.java b/src/main/java/com/shanzhu/flower/service/impl/UserServiceImpl.java index 299e290..37fe836 100644 --- a/src/main/java/com/shanzhu/flower/service/impl/UserServiceImpl.java +++ b/src/main/java/com/shanzhu/flower/service/impl/UserServiceImpl.java @@ -12,45 +12,33 @@ import java.util.List; public class UserServiceImpl implements UserService { @Resource - private UserDao userdao; // 注入用户数据访问对象 - + private UserDao userdao; @Override public int add(User user) { try { - // 尝试添加用户记录 - // 调用用户数据访问对象的add方法,将用户对象插入数据库 return userdao.add(user); } catch (Exception e) { - // 如果发生异常,返回0表示添加失败 return 0; } } @Override public int delete(int uid) { - // 根据用户ID删除用户记录 - // 调用用户数据访问对象的delete方法,删除指定用户ID的用户记录 return userdao.delete(uid); } @Override public int update(User user) { - // 更新用户信息 - // 调用用户数据访问对象的update方法,更新指定用户的详细信息 return userdao.update(user); } @Override public List find(String searchKey) { - // 根据搜索关键词查询用户 - // 调用用户数据访问对象的find方法,查询用户表中账号或姓名包含指定搜索关键词的用户 return userdao.find(searchKey); } @Override public User queryInfo(String account) { - // 根据账号查询用户信息 - // 调用用户数据访问对象的queryInfo方法,查询指定账号的用户信息 return userdao.queryInfo(account); } }