From 8d9596f650523d8b6981657bd26078cb1ec09885 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 13 三月 2025 16:57:06 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 58 insertions(+), 2 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 ec34274..ca5efb0 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 @@ -1,15 +1,23 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.AjaxResult; +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; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; /** * <p> @@ -25,10 +33,16 @@ public class TGoodsTypeController { private final TGoodsTypeService goodsTypeService; + private final TokenService tokenService; + private final TShopService shopService; + private final TFoundationConfigService foundationConfigService; @Autowired - public TGoodsTypeController(TGoodsTypeService goodsTypeService) { + public TGoodsTypeController(TGoodsTypeService goodsTypeService, TokenService tokenService, TShopService shopService, TFoundationConfigService foundationConfigService) { this.goodsTypeService = goodsTypeService; + this.tokenService = tokenService; + this.shopService = shopService; + this.foundationConfigService = foundationConfigService; } /** @@ -37,7 +51,39 @@ @ApiOperation( value = "查询商品分类列表") @PostMapping(value = "/list") public AjaxResult<List<TGoodsType>> list() { - return AjaxResult.success(goodsTypeService.list()); + Long shopId = tokenService.getLoginUser().getObjectId(); + Integer roleType = tokenService.getLoginUser().getRoleType(); + TShop shop = shopService.getById(shopId); + LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>(); + if(roleType != 1){ + if(roleType == 2){ + wrapper.eq(TGoodsType::getMealType, shop.getMealType()); + }else { + wrapper.isNull(TGoodsType::getMealType); + } + } + return AjaxResult.success(goodsTypeService.list(wrapper)); + } + + /** + * 查询商品分类列表 + */ + @ApiOperation( value = "查询商品分类列表-后台使用") + @GetMapping(value = "/getList") + 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) +// .last("LIMIT 1")); +// if(Objects.isNull(one)){ +// String str = mealType == 1 ? "中餐" : "火锅"; +// return AjaxResult.error("无"+str+"类型店铺"); +// } + LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>(); + if(Objects.nonNull(mealType)){ + wrapper.eq(TGoodsType::getMealType, mealType); + } + return AjaxResult.success(goodsTypeService.list(wrapper)); } /** @@ -46,6 +92,10 @@ @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(shopId); return AjaxResult.success(goodsTypeService.save(dto)); } @@ -73,6 +123,12 @@ @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)); } -- Gitblit v1.7.1