From 5010da70efa7e64479c8c9af1510fb357109bce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E8=8F=8A=E8=8F=8A?= <2582304574@qq.com> Date: Sat, 26 Apr 2025 22:01:31 +0800 Subject: [PATCH 1/2] 111 --- .../com/shanzhu/flower/config/Constant.java | 22 ---- .../com/shanzhu/flower/config/HttpMsg.java | 122 +----------------- .../flower/config/ProcessInterceptor.java | 32 +---- .../shanzhu/flower/config/WebMvcConfig.java | 16 +-- 4 files changed, 11 insertions(+), 181 deletions(-) diff --git a/src/main/java/com/shanzhu/flower/config/Constant.java b/src/main/java/com/shanzhu/flower/config/Constant.java index 852767f..941ad7c 100644 --- a/src/main/java/com/shanzhu/flower/config/Constant.java +++ b/src/main/java/com/shanzhu/flower/config/Constant.java @@ -1,29 +1,7 @@ package com.shanzhu.flower.config; -/** - * 常量类,用于存储项目中常用的配置常量。 - * 包括分页大小、图片路径等配置。 - * - */ public class Constant { -// 默认分页大小,用于分页查询时每页显示的记录数。 -// 默认值为5,可根据实际需求调整。 - public static int PAGE_SIZE = 5; - -// -// 商品展示页面的分页大小。 -// 用于商品列表展示时每页显示的商品数量。 -// 默认值为9,可根据页面布局调整。 -// public static int SHOW_PAGE_SIZE = 9; -// 图片静态文件的存储路径。 -// 用于存放项目中使用的图片资源。 -// 路径为项目根目录下的static/imgs/文件夹。 - public static String IMG_USE_PATH = "static/imgs/"; - -// 默认图片文件名。 -// 当没有指定图片时,使用此默认图片作为占位图。 -// 文件名为img.jpg,位于IMG_USE_PATH路径下。 public static String DEFAULT_IMG = "img.jpg"; } diff --git a/src/main/java/com/shanzhu/flower/config/HttpMsg.java b/src/main/java/com/shanzhu/flower/config/HttpMsg.java index d23e562..af6931e 100644 --- a/src/main/java/com/shanzhu/flower/config/HttpMsg.java +++ b/src/main/java/com/shanzhu/flower/config/HttpMsg.java @@ -1,186 +1,68 @@ package com.shanzhu.flower.config; -/** - * HTTP状态消息常量类。 - * 用于存储项目中常见的HTTP响应消息,便于统一管理和维护。 - * 包括用户操作、类型管理、商品管理、订单管理等操作的反馈信息。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ + public class HttpMsg { -// 表单输入错误的提示信息。 -// 当用户提交的表单数据不符合要求时返回此消息。 public static String ERROR_INPUT = "表单信息不正确"; -// 用户名或密码错误的提示信息。 -// 当用户登录时输入的用户名或密码不匹配时返回此消息。 - public static String ERROR_VERIFY = "用户名或密码错误"; -// 新建用户成功的提示信息。 -// 当用户注册成功时返回此消息。 - public static String ADD_USER_OK = "新建用户成功"; - -// 新建用户失败的提示信息(账号已存在)。 -// 当用户注册时输入的账号已存在时返回此消息。 - public static String ADD_USER_FAILED = "新建用户失败,该账号已存在"; -// 修改用户信息成功的提示信息。 -// 当用户更新个人信息成功时返回此消息。 - public static String UPDATE_USER_OK = "修改用户信息成功"; -// 修改用户信息失败的提示信息。 -// 当用户更新个人信息失败时返回此消息。 - public static String UPDATE_USER_FAILED = "修改用户信息失败"; -// 删除用户信息成功的提示信息。 -// 当管理员删除用户信息成功时返回此消息。 - public static String DELETE_USER_OK = "删除用户信息成功"; -// 删除用户信息失败的提示信息。 -// 当管理员删除用户信息失败时返回此消息。 public static String DELETE_USER_FAILED = "删除用户信息失败"; -// 删除类型成功的提示信息。 -// 当管理员删除花朵类型成功时返回此消息。 - public static String DELETE_TYPE_OK = "删除类型成功"; -// 删除类型失败的提示信息(有商品绑定此类型)。 -// 当管理员删除花朵类型失败(因为有商品绑定此类型)时返回此消息。 -// public static String DELETE_TYPE_FAILED = "有商品绑定此类型,删除类型失败"; - -// 修改类型成功的提示信息。 -// 当管理员修改花朵类型成功时返回此消息。 - public static String UPDATE_TYPE_OK = "修改类型成功"; -// 修改类型失败的提示信息(有商品绑定此类型)。 -// 当管理员修改花朵类型失败(因为有商品绑定此类型)时返回此消息。 public static String UPDATE_TYPE_FAILED = "有商品绑定此类型,修改类型失败"; - -// 新建类型成功的提示信息。 -// 当管理员新建花朵类型成功时返回此消息。 public static String ADD_TYPE_OK = "新建类型成功"; - -// 新建类型失败的提示信息(该类型名称已存在)。 -// 当管理员新建花朵类型失败(因为该类型名称已存在)时返回此消息。 - public static String ADD_TYPE_FAILED = "新建类型失败,该类型名称已存在"; -// 删除商品成功的提示信息。 -// 当管理员删除商品成功时返回此消息。 + public static String DELETE_FLOWER_OK = "删除商品成功"; -// -// 删除商品失败的提示信息(有商品绑定此类型)。 -// 当管理员删除商品失败(因为有商品绑定此类型)时返回此消息。 -// public static String DELETE_FLOWER_FAILED = "有商品绑定此类型,删除商品失败"; -// -// 修改商品成功的提示信息。 -// 当管理员修改商品成功时返回此消息。 -// public static String UPDATE_FLOWER_OK = "修改商品成功"; -// -// 修改商品失败的提示信息(有商品绑定此类型)。 -// 当管理员修改商品失败(因为有商品绑定此类型)时返回此消息。 -// public static String UPDATE_FLOWER_FAILED = "有商品绑定此类型,修改商品失败"; -// -// 新建商品成功的提示信息。 -// 当管理员新建商品成功时返回此消息。 -// public static String ADD_FLOWER_OK = "新建商品成功"; -// -// 新建商品失败的提示信息(该商品名称已存在)。 -// 当管理员新建商品失败(因为该商品名称已存在)时返回此消息。 -// public static String ADD_FLOWER_FAILED = "新建商品失败,该商品名称已存在"; -// -// 当前没有花朵种类的提示信息。 -// 当系统中没有花朵种类时返回此消息,提示管理员需要先创建种类。 -// public static String NO_TYPE_NOW = "当前没有花朵种类,请先创建!"; -// -// 更新图片成功的提示信息。 -// 当用户或管理员更新图片成功时返回此消息。 -// public static String UPDATE_PIC_OK = "更新图片成功"; -// -// 更新图片失败的提示信息。 -// 当用户或管理员更新图片失败时返回此消息。 -// public static String UPDATE_PIC_FAILED = "更新图片失败"; -// -// 参数不合法的提示信息。 -// 当请求中包含的参数不符合要求时返回此消息。 -// public static String INVALID_PARAM = "参数不合法"; -// -// 登录失效的提示信息。 -// 当用户登录状态失效时返回此消息,提示用户重新登录。 -// public static String INVALID_USER = "登录失效,请重新登录"; -// -// 加入购物车成功的提示信息。 -// 当用户将商品加入购物车成功时返回此消息。 -// public static String ADD_CART_OK = "加入购物车成功"; -// -// 加入购物车失败的提示信息。 -// 当用户将商品加入购物车失败时返回此消息。 -// public static String ADD_CART_FAILED = "加入购物车失败"; -// -// 下单成功的提示信息。 -// 当用户下单成功时返回此消息。 -// public static String BUY_OK = "下单成功"; -// -// 订单发货状态更新成功的提示信息。 -// 当管理员更新订单发货状态成功时返回此消息。 -// public static String UPDATE_ORDER_OK = "订单发货状态更新成功"; -// -// 错误的文件类型的提示信息。 -// 当上传的文件类型不符合要求时返回此消息。 -// public static String ERROR_FILE_TYPE = "错误的文件类型"; -// -// 商品上架成功的提示信息。 -// 当管理员将商品上架成功时返回此消息。 -// public static String GOODS_UP_OK = "商品上架成功"; -// -// 商品下架成功的提示信息。 -// 当管理员将商品下架成功时返回此消息。 -// public static String GOODS_DOWN_OK = "商品下架成功"; } diff --git a/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java b/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java index 72b2b31..0868103 100644 --- a/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java +++ b/src/main/java/com/shanzhu/flower/config/ProcessInterceptor.java @@ -7,50 +7,32 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -/** - * 请求处理拦截器 - * 用于处理跨域请求和预请求(OPTIONS方法)。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ @Component public class ProcessInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { - // 设置允许跨域访问的来源,允许所有来源 + httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); - // 设置允许的请求头字段 + httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); - // 设置允许的请求方法 + httpServletResponse.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); - // 设置服务器信息头,表明服务器使用的服务器软件 httpServletResponse.setHeader("X-Powered-By", "Jetty"); - // 获取请求的方法类型 String method = httpServletRequest.getMethod(); - // 判断是否为OPTIONS预请求 + if (method.equals("OPTIONS")) { - // 如果是OPTIONS请求,直接返回200状态码,表示预请求通过 httpServletResponse.setStatus(200); - return false; // 不继续处理后续的请求 + return false; } - // 如果不是OPTIONS请求,继续后续的处理流程 return true; } @Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { - // 在请求处理之后进行调用(在Controller方法之后) - // 用于修改ModelAndView对象,例如添加额外的模型数据或修改视图 - // 本拦截器中未实现具体逻辑 - } + } @Override - public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { - // 在整个请求结束之后被调用,主要用于进行资源清理工作 - // 例如关闭数据库连接、释放资源等 - // 本拦截器中未实现具体逻辑 - } + public void afterCompletion(HttpServletRequest httpServletRequest, Ht } } diff --git a/src/main/java/com/shanzhu/flower/config/WebMvcConfig.java b/src/main/java/com/shanzhu/flower/config/WebMvcConfig.java index bc48af9..e8e0aa8 100644 --- a/src/main/java/com/shanzhu/flower/config/WebMvcConfig.java +++ b/src/main/java/com/shanzhu/flower/config/WebMvcConfig.java @@ -4,24 +4,12 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -/** - * Web MVC配置类,用于配置Spring MVC的相关功能。 - * 主要功能包括: - * - 添加拦截器,用于处理跨域请求等。 - * - * @author: ShanZhu - * @date: 2024-01-24 - */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { - // 添加自定义的拦截器ProcessInterceptor - // ProcessInterceptor用于处理跨域请求和预请求(OPTIONS方法) - registry.addInterceptor(new ProcessInterceptor()) - // 指定拦截器的应用路径模式 - // 使用"/**"表示拦截所有请求路径 - .addPathPatterns("/**"); + registry.addInterceptor(new ProcessInterceptor()) + .addPathPatterns("/**"); } } -- 2.34.1 From 89b3af72acfd63de7db40f7c56e82cdb01eb62cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E8=8F=8A=E8=8F=8A?= <2582304574@qq.com> Date: Sat, 26 Apr 2025 22:23:19 +0800 Subject: [PATCH 2/2] 111 --- .../com/shanzhu/flower/config/Constant.java | 3 +- .../flower/config/ProcessInterceptor.java | 4 +- .../flower/controller/CartController.java | 119 ++++------------- .../flower/controller/FlowerController.java | 69 +--------- .../flower/controller/LoginController.java | 26 +--- .../flower/controller/OrderController.java | 125 +++++------------- .../flower/controller/UserController.java | 102 +++----------- .../java/com/shanzhu/flower/dao/CartDao.java | 59 +-------- .../java/com/shanzhu/flower/dao/LoginDao.java | 10 +- .../java/com/shanzhu/flower/dao/OrderDao.java | 57 -------- .../java/com/shanzhu/flower/dao/UserDao.java | 55 -------- .../java/com/shanzhu/flower/entity/Cart.java | 28 ---- .../com/shanzhu/flower/entity/Flower.java | 4 - .../java/com/shanzhu/flower/entity/Order.java | 37 +----- .../java/com/shanzhu/flower/entity/User.java | 33 ----- .../shanzhu/flower/service/CartService.java | 43 ------ .../shanzhu/flower/service/OrderService.java | 36 ----- .../shanzhu/flower/service/UserService.java | 43 ------ .../flower/service/impl/CartServiceImpl.java | 16 +-- .../flower/service/impl/OrderServiceImpl.java | 19 +-- .../flower/service/impl/UserServiceImpl.java | 14 +- 21 files changed, 99 insertions(+), 803 deletions(-) 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); } } -- 2.34.1