From 6f3e48f79f04989735054ef9903d86a74eae795b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 10 十二月 2024 10:17:12 +0800
Subject: [PATCH] 修改
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java | 66 ++++++++++++++++++++++++++++++---
1 files changed, 60 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 b5ebe82..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.common.utils.CodeGenerateUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.domain.TGoods;
+import com.ruoyi.system.domain.*;
import com.ruoyi.system.query.TGoodsQuery;
-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,12 +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, TokenService tokenService) {
+ 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;
}
/**
@@ -43,7 +55,10 @@
@ApiOperation( value = "查询商品管理分页列表")
@PostMapping(value = "/pageList")
public AjaxResult<PageInfo<TGoodsVO>> pageList(@RequestBody TGoodsQuery query) {
- query.setShopId(tokenService.getLoginUser().getObjectId());
+ Integer roleType = tokenService.getLoginUser().getRoleType();
+ if(roleType != 1){
+ query.setShopId(tokenService.getLoginUser().getObjectId());
+ }
return AjaxResult.success(goodsService.pageList(query));
}
@@ -54,6 +69,13 @@
@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));
}
@@ -63,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));
}
@@ -71,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);
}
/**
@@ -81,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