From 13a3236249d21e1ed1a0f1e8ae20a29d6bf3913a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 26 九月 2025 17:49:11 +0800
Subject: [PATCH] 修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java
index e19d6fe..369860c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java
@@ -3,10 +3,14 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.domain.TFoundationConfig;
 import com.ruoyi.system.domain.TGoodsType;
 import com.ruoyi.system.domain.TShop;
+import com.ruoyi.system.service.TFoundationConfigService;
 import com.ruoyi.system.service.TGoodsTypeService;
 import com.ruoyi.system.service.TShopService;
 import io.swagger.annotations.Api;
@@ -33,12 +37,14 @@
     private final TGoodsTypeService goodsTypeService;
     private final TokenService tokenService;
     private final TShopService shopService;
+    private final TFoundationConfigService foundationConfigService;
 
     @Autowired
-    public TGoodsTypeController(TGoodsTypeService goodsTypeService, TokenService tokenService, TShopService shopService) {
+    public TGoodsTypeController(TGoodsTypeService goodsTypeService, TokenService tokenService, TShopService shopService, TFoundationConfigService foundationConfigService) {
         this.goodsTypeService = goodsTypeService;
         this.tokenService = tokenService;
         this.shopService = shopService;
+        this.foundationConfigService = foundationConfigService;
     }
 
     /**
@@ -52,7 +58,11 @@
         TShop shop = shopService.getById(shopId);
         LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>();
         if(roleType != 1){
-            wrapper.eq(TGoodsType::getMealType, shop.getMealType());
+            if(roleType == 2){
+                wrapper.eq(TGoodsType::getMealType, shop.getMealType());
+            }else {
+                wrapper.isNull(TGoodsType::getMealType);
+            }
         }
         return AjaxResult.success(goodsTypeService.list(wrapper));
     }
@@ -62,7 +72,7 @@
      */
     @ApiOperation( value = "查询商品分类列表-后台使用")
     @GetMapping(value = "/getList")
-    public AjaxResult<List<TGoodsType>> getList(@RequestParam("mealType") Integer mealType) {
+    public AjaxResult<List<TGoodsType>> getList(@RequestParam(value = "mealType",required = false) Integer mealType) {
         // 获取餐饮分类店铺id
 //        TShop one = shopService.getOne(Wrappers.lambdaQuery(TShop.class)
 //                .eq(TShop::getMealType, mealType)
@@ -72,26 +82,30 @@
 //            return AjaxResult.error("无"+str+"类型店铺");
 //        }
         LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(TGoodsType::getMealType, mealType);
-        return AjaxResult.success(goodsTypeService.list());
+        if(Objects.nonNull(mealType)){
+            wrapper.eq(TGoodsType::getMealType, mealType);
+        }
+        return AjaxResult.success(goodsTypeService.list(wrapper));
     }
 
     /**
      * 添加商品分类管理
      */
+    @Log(title = "商品分类-添加商品分类", businessType = BusinessType.INSERT)
     @ApiOperation( value = "添加商品分类")
     @PostMapping(value = "/add")
     public AjaxResult<Boolean> add(@RequestBody TGoodsType dto) {
         Long shopId = tokenService.getLoginUser().getObjectId();
         TShop shop = shopService.getById(shopId);
         dto.setMealType(shop.getMealType());
-        dto.setShopId(tokenService.getLoginUser().getObjectId());
+        dto.setShopId(shopId);
         return AjaxResult.success(goodsTypeService.save(dto));
     }
 
     /**
      * 修改商品分类
      */
+    @Log(title = "商品分类-修改商品分类", businessType = BusinessType.UPDATE)
     @ApiOperation( value = "修改商品分类")
     @PostMapping(value = "/update")
     public AjaxResult<Boolean> update(@RequestBody TGoodsType dto) {
@@ -110,15 +124,23 @@
     /**
      * 删除商品分类
      */
+    @Log(title = "商品分类-删除商品分类", businessType = BusinessType.DELETE)
     @ApiOperation( value = "删除商品分类")
     @DeleteMapping(value = "/deleteById")
     public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) {
+        // 查询分类是否在生成配置里面存在
+        long count = foundationConfigService.count(Wrappers.lambdaQuery(TFoundationConfig.class)
+                .eq(TFoundationConfig::getTypeId, id));
+        if(count>0){
+            return AjaxResult.warn("该分类在基础设置中正在使用,无法删除");
+        }
         return AjaxResult.success(goodsTypeService.removeById(id));
     }
 
     /**
      * 批量删除商品分类
      */
+    @Log(title = "商品分类-批量删除商品分类", businessType = BusinessType.DELETE)
     @ApiOperation( value = "批量删除商品分类")
     @DeleteMapping(value = "/deleteByIds")
     public AjaxResult<Boolean> deleteByIds(@RequestBody List<Long> ids) {

--
Gitblit v1.7.1