From decc7e949e2f89ddbce6e593d14bba67b2fef4c3 Mon Sep 17 00:00:00 2001
From: liushenping <3267288595@qq.com>
Date: Mon, 16 Dec 2024 19:53:02 +0800
Subject: [PATCH] 1234
---
.../bus/controller/GoodsController.java | 177 +++++++++---------
1 file changed, 91 insertions(+), 86 deletions(-)
diff --git a/src/main/java/com/yeqifu/bus/controller/GoodsController.java b/src/main/java/com/yeqifu/bus/controller/GoodsController.java
index 06731d8..7f33b89 100644
--- a/src/main/java/com/yeqifu/bus/controller/GoodsController.java
+++ b/src/main/java/com/yeqifu/bus/controller/GoodsController.java
@@ -1,112 +1,115 @@
package com.yeqifu.bus.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yeqifu.bus.entity.Goods;
-import com.yeqifu.bus.entity.Provider;
-import com.yeqifu.bus.service.IGoodsService;
-import com.yeqifu.bus.service.IProviderService;
-import com.yeqifu.bus.vo.GoodsVo;
-import com.yeqifu.sys.common.AppFileUtils;
-import com.yeqifu.sys.common.Constast;
-import com.yeqifu.sys.common.DataGridView;
-import com.yeqifu.sys.common.ResultObj;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; // MyBatis-Plus的查询条件构造器
+import com.baomidou.mybatisplus.core.metadata.IPage; // MyBatis-Plus的分页接口
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page; // MyBatis-Plus的分页实现类
+import com.yeqifu.bus.entity.Goods; // 商品实体类
+import com.yeqifu.bus.entity.Provider; // 供应商实体类
+import com.yeqifu.bus.service.IGoodsService; // 商品服务接口
+import com.yeqifu.bus.service.IProviderService; // 供应商服务接口
+import com.yeqifu.bus.vo.GoodsVo; // 商品的VO类,用于封装请求参数
+import com.yeqifu.sys.common.AppFileUtils; // 文件工具类,用于操作图片
+import com.yeqifu.sys.common.Constast; // 常量类
+import com.yeqifu.sys.common.DataGridView; // 用于封装表格数据的类
+import com.yeqifu.sys.common.ResultObj; // 封装操作结果的类
+import org.apache.commons.lang3.StringUtils; // 字符串工具类
+import org.springframework.beans.factory.annotation.Autowired; // 自动注入注解
+import org.springframework.web.bind.annotation.RequestMapping; // 请求映射注解
+import org.springframework.web.bind.annotation.RestController; // RESTful控制器注解
+
+import java.util.List; // List集合类
/**
- *
- * InnoDB free: 9216 kB; (`providerid`) REFER `warehouse/bus_provider`(`id`) 前端控制器
- *
- *
+ * 商品管理的前端控制器
+ * 提供商品的增删改查以及相关查询功能
* @author luoyi-
* @since 2019-12-06
*/
-@RestController
-@RequestMapping("/goods")
+@RestController // 标记为RESTful控制器
+@RequestMapping("/goods") // 定义请求路径前缀为"/goods"
public class GoodsController {
@Autowired
- private IGoodsService goodsService;
+ private IGoodsService goodsService; // 自动注入商品服务
@Autowired
- private IProviderService providerService;
+ private IProviderService providerService; // 自动注入供应商服务
/**
- * 查询商品
- * @param goodsVo
- * @return
+ * 分页查询商品信息
+ * @param goodsVo 封装商品查询条件和分页参数
+ * @return 包含商品列表和总记录数的DataGridView
*/
@RequestMapping("loadAllGoods")
- public DataGridView loadAllGoods(GoodsVo goodsVo){
- IPage page = new Page(goodsVo.getPage(),goodsVo.getLimit());
- QueryWrapper queryWrapper = new QueryWrapper();
- queryWrapper.eq(goodsVo.getProviderid()!=null&&goodsVo.getProviderid()!=0,"providerid",goodsVo.getProviderid());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()),"goodsname",goodsVo.getGoodsname());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()),"productcode",goodsVo.getProductcode());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()),"promitcode",goodsVo.getPromitcode());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()),"description",goodsVo.getDescription());
- queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()),"size",goodsVo.getSize());
-
- queryWrapper.orderByDesc("id");
- goodsService.page(page,queryWrapper);
+ public DataGridView loadAllGoods(GoodsVo goodsVo) {
+ // 1. 创建分页对象
+ IPage page = new Page<>(goodsVo.getPage(), goodsVo.getLimit());
+ // 2. 创建查询条件构造器
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq(goodsVo.getProviderid() != null && goodsVo.getProviderid() != 0, "providerid", goodsVo.getProviderid());
+ queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()), "goodsname", goodsVo.getGoodsname());
+ queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()), "productcode", goodsVo.getProductcode());
+ queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()), "promitcode", goodsVo.getPromitcode());
+ queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()), "description", goodsVo.getDescription());
+ queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()), "size", goodsVo.getSize());
+ queryWrapper.orderByDesc("id"); // 按照ID降序排列
+
+ // 3. 执行分页查询
+ goodsService.page(page, queryWrapper);
List records = page.getRecords();
for (Goods goods : records) {
+ // 根据供应商ID设置供应商名称
Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
+ if (provider != null) {
goods.setProvidername(provider.getProvidername());
}
}
- return new DataGridView(page.getTotal(),page.getRecords());
+ // 返回分页数据
+ return new DataGridView(page.getTotal(), page.getRecords());
}
/**
* 添加商品
- * @param goodsVo
- * @return
+ * @param goodsVo 包含商品信息
+ * @return 操作结果
*/
@RequestMapping("addGoods")
- public ResultObj addGoods(GoodsVo goodsVo){
+ public ResultObj addGoods(GoodsVo goodsVo) {
try {
- System.out.println("====================================");
- System.out.println(goodsVo.getGoodsimg());
- if (goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().endsWith("_temp")){
+ if (goodsVo.getGoodsimg() != null && goodsVo.getGoodsimg().endsWith("_temp")) {
+ // 重命名临时图片为正式图片
String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());
goodsVo.setGoodsimg(newName);
}
+ // 保存商品信息
goodsService.save(goodsVo);
- return ResultObj.ADD_SUCCESS;
+ return ResultObj.ADD_SUCCESS; // 返回成功结果
} catch (Exception e) {
e.printStackTrace();
- return ResultObj.ADD_ERROR;
+ return ResultObj.ADD_ERROR; // 返回失败结果
}
}
/**
- * 修改商品
- * @param goodsVo
- * @return
+ * 修改商品信息
+ * @param goodsVo 包含商品修改信息
+ * @return 操作结果
*/
@RequestMapping("updateGoods")
- public ResultObj updateGoods(GoodsVo goodsVo){
+ public ResultObj updateGoods(GoodsVo goodsVo) {
try {
- //商品图片不是默认图片
- if (!(goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().equals(Constast.DEFAULT_IMG_GOODS))){
-
- if (goodsVo.getGoodsimg().endsWith("_temp")){
+ // 如果商品图片不是默认图片
+ if (goodsVo.getGoodsimg() != null && !goodsVo.getGoodsimg().equals(Constast.DEFAULT_IMG_GOODS)) {
+ if (goodsVo.getGoodsimg().endsWith("_temp")) {
+ // 重命名临时图片
String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());
goodsVo.setGoodsimg(newName);
- //删除原先的图片
+ // 删除原图片文件
String oldPath = goodsService.getById(goodsVo.getId()).getGoodsimg();
AppFileUtils.removeFileByPath(oldPath);
}
}
+ // 更新商品信息
goodsService.updateById(goodsVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
@@ -117,15 +120,16 @@ public class GoodsController {
/**
* 删除商品
- * @param id 商品id
- * @return
+ * @param id 商品ID
+ * @param goodsimg 商品图片路径
+ * @return 操作结果
*/
@RequestMapping("deleteGoods")
- public ResultObj deleteGoods(Integer id,String goodsimg){
+ public ResultObj deleteGoods(Integer id, String goodsimg) {
try {
- //删除商品的图片
+ // 删除商品图片
AppFileUtils.removeFileByPath(goodsimg);
-// goodsService.removeById(id);
+ // 删除商品记录
goodsService.deleteGoodsById(id);
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
@@ -135,17 +139,18 @@ public class GoodsController {
}
/**
- * 加载所有可用的商品
- * @return
+ * 加载所有可用商品
+ * @return 包含商品列表的DataGridView
*/
@RequestMapping("loadAllGoodsForSelect")
- public DataGridView loadAllGoodsForSelect(){
- QueryWrapper queryWrapper = new QueryWrapper();
- queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
+ public DataGridView loadAllGoodsForSelect() {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
List list = goodsService.list(queryWrapper);
for (Goods goods : list) {
+ // 设置供应商名称
Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
+ if (provider != null) {
goods.setProvidername(provider.getProvidername());
}
}
@@ -154,32 +159,32 @@ public class GoodsController {
/**
* 根据供应商ID查询商品信息
- * @param providerid 供应商ID
- * @return
+ * @param providerid 供应商ID
+ * @return 包含商品列表的DataGridView
*/
@RequestMapping("loadGoodsByProviderId")
- public DataGridView loadGoodsByProviderId(Integer providerid){
- QueryWrapper queryWrapper = new QueryWrapper();
- queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
- queryWrapper.eq(providerid!=null,"providerid",providerid);
+ public DataGridView loadGoodsByProviderId(Integer providerid) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
+ queryWrapper.eq(providerid != null, "providerid", providerid);
List list = goodsService.list(queryWrapper);
for (Goods goods : list) {
+ // 设置供应商名称
Provider provider = providerService.getById(goods.getProviderid());
- if (null!=provider){
+ if (provider != null) {
goods.setProvidername(provider.getProvidername());
}
}
return new DataGridView(list);
}
+ /**
+ * 加载所有库存预警的商品
+ * @return 包含预警商品列表的DataGridView
+ */
@RequestMapping("loadAllWarningGoods")
- public DataGridView loadAllWarningGoods(){
+ public DataGridView loadAllWarningGoods() {
List goods = goodsService.loadAllWarning();
- return new DataGridView((long) goods.size(),goods);
+ return new DataGridView((long) goods.size(), goods);
}
-
-
-
}
-
-////
\ No newline at end of file