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