From acccff9860b271d55c55dc87486f7c20b9896e6c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 13 一月 2025 16:19:54 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java |   84 +++++++++++++++++++++++++++++++++++------
 1 files changed, 71 insertions(+), 13 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
index caf8d66..1a20f52 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -2,19 +2,21 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.other.api.domain.Goods;
 import com.ruoyi.other.api.domain.VipSetting;
 import com.ruoyi.other.api.feignClient.VipSettingClient;
 import com.ruoyi.other.service.GoodsService;
+import com.ruoyi.other.service.VipSettingService;
 import com.ruoyi.other.vo.GoodsVO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -36,6 +38,8 @@
     private GoodsService goodsService;
     @Resource
     private VipSettingClient settingClient;
+    @Resource
+    private VipSettingService vipSettingService;
 
     /**
      * 添加商品
@@ -74,8 +78,47 @@
     @ApiOperation(value = "商品修改", tags = {"管理后台-商品管理"})
     public R<Void> manageGoodsUpdate(@RequestBody Goods goods){
         goodsService.updateManageGoods(goods);
+        if (goods.getType()==2){
+            goods.setAppointStore(2);
+            goodsService.updateById(goods);
+        }
+        if (goods.getType()==1){
+            LambdaUpdateWrapper<Goods> goodsLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+            goodsLambdaUpdateWrapper.set(Goods::getDistributionMode,null);
+            goodsLambdaUpdateWrapper.eq(Goods::getId, goods.getId());
+            goodsService.update(goodsLambdaUpdateWrapper);
+        }
         return R.ok();
     }
+
+
+    @PutMapping("/editGoodsSort")
+    @ApiOperation(value = "商品修改排序", tags = {"管理后台-商品管理"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "商品id", name = "id", dataType = "int", required = true),
+            @ApiImplicitParam(value = "排序", name = "sort", dataType = "int", required = true),
+    })
+    public R editGoodsSort(@RequestParam("id") Integer id, @RequestParam("sort") Integer sort){
+        Goods goods = goodsService.getById(id);
+        goods.setSort(sort);
+        goodsService.updateById(goods);
+        return R.ok();
+    }
+
+
+
+
+    /**
+     * 更新上/下架状态
+     */
+    @PutMapping("/manageGoodsStatus/{goodsId}/{status}")
+    @ApiOperation(value = "商品上/下架", tags = {"管理后台-商品管理"})
+    public R<Void> manageGoodsStatus(@PathVariable("goodsId") Long goodsId,
+                                     @PathVariable("status") Integer status){
+        goodsService.lambdaUpdate().eq(Goods::getId, goodsId).set(Goods::getStatus, status).update();
+        return R.ok();
+    }
+
 
     /**
      * 后台商品删除
@@ -83,6 +126,10 @@
     @DeleteMapping("/manageGoodsDelete/{goodsId}")
     @ApiOperation(value = "商品删除", tags = {"管理后台-商品管理"})
     public R<Void> manageGoodsDelete(@PathVariable("goodsId") Long goodsId){
+        long count = vipSettingService.count(new LambdaQueryWrapper<VipSetting>().last(" where FIND_IN_SET(" + goodsId + ", good_ids)"));
+        if(0 < count){
+            return R.fail("商品已被会员配置使用,不能删除");
+        }
         goodsService.removeById(goodsId);
         return R.ok();
     }
@@ -91,7 +138,7 @@
      * 获取会员等级信息
      */
     @GetMapping("/getVipSetting")
-    @ApiOperation(value = "会员等级信息", tags = {"小程序-个人中心-优惠劵"})
+    @ApiOperation(value = "会员等级信息", tags = {"管理后台-商品管理"})
     public R<List<VipSetting>> getVipSetting(){
         return settingClient.info();
     }
@@ -103,9 +150,8 @@
      */
     @GetMapping("/goodsList")
     @ApiOperation(value = "热门商品列表", tags = {"小程序-商城-首页", "小程序-首页"})
-    public R<TableDataInfo> goodsList(Goods goods){
-        startPage();
-        return R.ok(getDataTable(goodsService.goodsList(goods)));
+    public R<PageInfo<GoodsVO>> goodsList(Goods goods){
+        return R.ok(goodsService.goodsList(goods));
     }
 
 
@@ -114,9 +160,10 @@
      */
     @GetMapping("/getGoodsListByShopId")
     @ApiOperation(value = "商品购买列表", tags = {"小程序-首页-门店详情"})
-    public R<TableDataInfo> getGoodsListByShopId(@ApiParam("门店id") @RequestParam Integer shopId) {
-        startPage();
-        return R.ok(getDataTable(goodsService.getGoodsListByShopId(shopId)));
+    public R<PageInfo<Goods>> getGoodsListByShopId(@ApiParam("门店id") Integer shopId, Integer pageCurr, Integer pageSize) {
+        PageInfo<Goods> pageInfo = new PageInfo(pageCurr, pageSize);
+        List<Goods> goodsList = goodsService.getGoodsListByShopId(pageInfo, shopId);
+        return R.ok(pageInfo.setRecords(goodsList));
     }
 
 
@@ -125,8 +172,8 @@
      */
     @GetMapping("/goodsDetail/{goodsId}")
     @ApiOperation(value = "商品详情", tags = {"小程序-商城-首页"})
-    public R<GoodsVO> goodsDetail(@PathVariable("goodsId") Long goodsId){
-        return R.ok(goodsService.goodsDetail(goodsId));
+    public R<GoodsVO> goodsDetail(@PathVariable("goodsId") Long goodsId, String longitude, String latitude){
+        return R.ok(goodsService.goodsDetail(goodsId, longitude, latitude));
     }
     
     
@@ -158,9 +205,20 @@
     @ResponseBody
     @PostMapping("/getGoodsByIds")
     public R<List<Goods>> getGoodsByIds(@RequestParam("ids") String [] ids){
-        List<Goods> goods = goodsService.lambdaQuery().in(Goods::getId, ids).eq(Goods::getStatus, 0).list();
+        List<Goods> goods = goodsService.lambdaQuery().in(Goods::getId, ids).list();
         return R.ok(goods);
     }
 
+
+    /**
+     * 编辑商品
+     * @param goods
+     * @return
+     */
+    @PostMapping("/editGoodsList")
+    public R editGoodsList(@RequestBody List<Goods> goods){
+        goodsService.updateBatchById(goods);
+        return R.ok();
+    }
 }
 

--
Gitblit v1.7.1