From 9ca97fd558700e7054c5f54192a9db7a1e6b8230 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 11 九月 2024 16:31:47 +0800
Subject: [PATCH] 完善导出等接口

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 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..853c4e5 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,16 @@
 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.bean.BeanUtils;
+import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.domain.TGoods;
+import com.ruoyi.system.domain.TGoodsType;
 import com.ruoyi.system.query.TGoodsQuery;
 import com.ruoyi.system.service.TGoodsService;
-import com.ruoyi.system.service.TGoodsService;
+import com.ruoyi.system.service.TGoodsTypeService;
 import com.ruoyi.system.vo.TGoodsVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -14,6 +18,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -29,10 +34,14 @@
 public class TGoodsController {
 
     private final TGoodsService goodsService;
+    private final TGoodsTypeService goodsTypeService;
+    private final TokenService tokenService;
 
     @Autowired
-    public TGoodsController(TGoodsService goodsService) {
+    public TGoodsController(TGoodsService goodsService, TGoodsTypeService goodsTypeService, TokenService tokenService) {
         this.goodsService = goodsService;
+        this.goodsTypeService = goodsTypeService;
+        this.tokenService = tokenService;
     }
 
     /**
@@ -41,6 +50,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 +63,7 @@
     @ApiOperation( value = "添加商品管理")
     @PostMapping(value = "/add")
     public AjaxResult<Boolean> add(@RequestBody TGoods dto) {
+        dto.setShopId(tokenService.getLoginUser().getObjectId());
         return AjaxResult.success(goodsService.save(dto));
     }
 
@@ -67,8 +81,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 +98,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