From bfdb3faf4f27df01718f58ac8c4ec0bcc092e7b6 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 30 十一月 2024 18:50:47 +0800 Subject: [PATCH] 生成数据明细导出修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java | 70 ++++++++++++++++++++++++++++++++--- 1 files changed, 64 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java index 2bf55d3..d8182d0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java @@ -1,12 +1,15 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.system.domain.TGoods; +import com.ruoyi.common.utils.CodeGenerateUtils; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.*; import com.ruoyi.system.query.TGoodsQuery; -import com.ruoyi.system.service.TGoodsService; -import com.ruoyi.system.service.TGoodsService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TGoodsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,6 +17,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; /** * <p> @@ -29,10 +33,20 @@ public class TGoodsController { private final TGoodsService goodsService; + private final TGoodsTypeService goodsTypeService; + private final TokenService tokenService; + private final TOrderStockGoodsService orderStockGoodsService; + private final TOrderSaleGoodsService orderSaleGoodsService; + private final TOrderMealGoodsService orderMealGoodsService; @Autowired - public TGoodsController(TGoodsService goodsService) { + public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService, TOrderStockGoodsService orderStockGoodsService, TOrderSaleGoodsService orderSaleGoodsService, TOrderMealGoodsService orderMealGoodsService) { this.goodsService = goodsService; + this.goodsTypeService = goodsTypeService; + this.tokenService = tokenService; + this.orderStockGoodsService = orderStockGoodsService; + this.orderSaleGoodsService = orderSaleGoodsService; + this.orderMealGoodsService = orderMealGoodsService; } /** @@ -41,6 +55,10 @@ @ApiOperation( value = "查询商品管理分页列表") @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TGoodsVO>> pageList(@RequestBody TGoodsQuery query) { + Integer roleType = tokenService.getLoginUser().getRoleType(); + if(roleType != 1){ + query.setShopId(tokenService.getLoginUser().getObjectId()); + } return AjaxResult.success(goodsService.pageList(query)); } @@ -50,6 +68,14 @@ @ApiOperation( value = "添加商品管理") @PostMapping(value = "/add") public AjaxResult<Boolean> add(@RequestBody TGoods dto) { + dto.setShopId(tokenService.getLoginUser().getObjectId()); + String num = CodeGenerateUtils.generateVolumeSn(); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getGoodsNum, num)); + if(count>0){ + num = CodeGenerateUtils.generateVolumeSn(); + } + dto.setGoodsNum(num); return AjaxResult.success(goodsService.save(dto)); } @@ -59,6 +85,24 @@ @ApiOperation( value = "修改商品管理") @PostMapping(value = "/update") public AjaxResult<Boolean> update(@RequestBody TGoods dto) { + // 判断是否修改了名称 + TGoods goods = goodsService.getById(dto.getId()); + if(!goods.getGoodsName().equals(dto.getGoodsName())){ + List<TOrderStockGoods> orderStockGoods = orderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class) + .eq(TOrderStockGoods::getGoodsNum, goods.getGoodsNum())); + orderStockGoods.stream().forEach(tOrderStockGoods -> tOrderStockGoods.setGoodsName(dto.getGoodsName())); + orderStockGoodsService.updateBatchById(orderStockGoods); + + List<TOrderMealGoods> orderMealGoods = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getGoodsNum, goods.getGoodsNum())); + orderMealGoods.stream().forEach(tOrderMealGoods -> tOrderMealGoods.setGoodsName(dto.getGoodsName())); + orderMealGoodsService.updateBatchById(orderMealGoods); + + List<TOrderSaleGoods> list = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) + .eq(TOrderSaleGoods::getGoodsNum, goods.getGoodsNum())); + list.stream().forEach(tOrderSaleGoods -> tOrderSaleGoods.setGoodsName(dto.getGoodsName())); + orderSaleGoodsService.updateBatchById(list); + } return AjaxResult.success(goodsService.updateById(dto)); } @@ -67,8 +111,15 @@ */ @ApiOperation( value = "查看商品管理详情") @GetMapping(value = "/getDetailById") - public AjaxResult<TGoods> getDetailById(@RequestParam("id") Long id) { - return AjaxResult.success(goodsService.getById(id)); + public AjaxResult<TGoodsVO> getDetailById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + TGoodsVO tGoodsVO = new TGoodsVO(); + BeanUtils.copyProperties(goods, tGoodsVO); + TGoodsType goodsType = goodsTypeService.getById(goods.getTypeId()); + if(Objects.nonNull(goodsType)){ + tGoodsVO.setTypeName(goodsType.getTypeName()); + } + return AjaxResult.success(tGoodsVO); } /** @@ -77,6 +128,13 @@ @ApiOperation( value = "删除商品管理") @DeleteMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getTypeId, goods.getTypeId()) + .ne(TGoods::getId,id)); + if(count == 0){ + return AjaxResult.error("当前菜品所属分类下至少保留一种菜品"); + } return AjaxResult.success(goodsService.removeById(id)); } -- Gitblit v1.7.1