From 008ffb622f7e8b941245a4cf19042c7baef39b24 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 21 九月 2026 10:21:32 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java |   79 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 8 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
index 25d422c..3f218db 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.goods.controller.business;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -8,8 +9,12 @@
 import com.ruoyi.goods.domain.dto.MgtSelectGoodsPageDto;
 import com.ruoyi.goods.domain.vo.MerGoodsPageVo;
 import com.ruoyi.goods.service.goods.GoodsService;
+import com.ruoyi.goods.service.goods.ShopGoodsService;
 import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import com.ruoyi.system.api.domain.poji.goods.ShopGoods;
+import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
+import com.ruoyi.system.api.service.RemoteShopService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -31,19 +36,67 @@
 @RestController
 @RequestMapping("/mer/goods")
 public class MerGoodsController {
-
+    
     @Resource
     private GoodsService goodsService;
-
+    
+    @Resource
+    private RemoteShopService remoteShopService;
+    
+    @Resource
+    private ShopGoodsService shopGoodsService;
+    
+    
     @RequestMapping(value = "/pageMerShopGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "分页获取商户商品列表")
+    @ApiOperation(value = "分页获取商户商品列表【2.0】")
     public R<Page<MerGoodsPageVo>> pageMerShopGoods(@RequestBody MerGoodsPageDto merGoodsPageDto) {
         Long userId = SecurityUtils.getUserId();
         Page<MerGoodsPageVo> page = new Page<>();
         page.setSize(merGoodsPageDto.getPageSize());
         page.setCurrent(merGoodsPageDto.getPageNum());
         page.setOptimizeCountSql(false);
-        List<MerGoodsPageVo> merGoodsPageVoList = goodsService.pageMerShopGoods(page,merGoodsPageDto);
+        List<MerGoodsPageVo> merGoodsPageVoList = goodsService.pageMerShopGoods(page, merGoodsPageDto);
+        Shop shop = remoteShopService.getShop(merGoodsPageDto.getShopId()).getData();
+        merGoodsPageVoList.forEach(merGoodsPageVo -> {
+            ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(merGoodsPageDto.getShopId(), merGoodsPageVo.getGoodsId());
+            //经销商不限制修改价格权限
+            if(1 == shop.getShopType()){
+                merGoodsPageVo.setModifyPricePermission(shop.getModifyPricePermission());
+                merGoodsPageVo.setIsUnifiedPrice(0);
+                if (null != shopGoods) {
+                    merGoodsPageVo.setIsUnifiedPrice(1);
+                    merGoodsPageVo.setUnifiedPrice(shopGoods.getSalesPrice());
+                    merGoodsPageVo.setUnifiedServerNum(shopGoods.getServiceNum());
+                }
+            }else{
+                Shop shop1 = remoteShopService.getShop(shop.getBelongShopId()).getData();
+                if(null == shop1){
+                    merGoodsPageVo.setModifyPricePermission(1);
+                    merGoodsPageVo.setIsUnifiedPrice(0);
+                    if(null != shopGoods){
+                        merGoodsPageVo.setUnifiedPrice(shopGoods.getSalesPrice());
+                        merGoodsPageVo.setUnifiedServerNum(shopGoods.getServiceNum());
+                    }
+                }else{
+                    ShopGoods shopGoods1 = shopGoodsService.getByShopIdAndGoodsId(shop1.getShopId(), merGoodsPageVo.getGoodsId());
+                    //经销商设置了统一售价
+                    if(null != shopGoods1){
+                        merGoodsPageVo.setModifyPricePermission(0);
+                        merGoodsPageVo.setIsUnifiedPrice(1);
+                        merGoodsPageVo.setUnifiedPrice(shopGoods1.getSalesPrice());
+                        merGoodsPageVo.setUnifiedServerNum(shopGoods1.getServiceNum());
+                    }else{
+                        merGoodsPageVo.setModifyPricePermission(1);
+                        merGoodsPageVo.setIsUnifiedPrice(0);
+                        if(null != shopGoods){
+                            merGoodsPageVo.setUnifiedPrice(shopGoods.getSalesPrice());
+                            merGoodsPageVo.setUnifiedServerNum(shopGoods.getServiceNum());
+                        }
+                    }
+                }
+            }
+
+        });
         return R.ok(page.setRecords(merGoodsPageVoList));
     }
 
@@ -53,16 +106,26 @@
         List<MerGoodsPageVo> merGoodsPageVoList = goodsService.listMerCycleGoods(merBaseDto.getShopId());
         return R.ok(merGoodsPageVoList);
     }
-
+    
     @RequestMapping(value = "/editMerShopGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "编辑商户商品价格")
+    @ApiOperation(value = "编辑商户商品价格【2.0】")
     public R editMerShopGoods(@RequestBody MerShopGoodsEditDto merShopGoodsEditDto) {
         Long userId = SecurityUtils.getUserId();
         merShopGoodsEditDto.setUserId(userId);
         goodsService.editMerShopGoods(merShopGoodsEditDto);
         return R.ok();
     }
-
+    
+    
+    @RequestMapping(value = "/cancelUniformPrice", method = RequestMethod.POST)
+    @ApiOperation(value = "取消统一售价【2.0】")
+    public R cancelUniformPrice(@RequestBody MerShopGoodsEditDto merShopGoodsEditDto) {
+        shopGoodsService.remove(new LambdaUpdateWrapper<ShopGoods>().eq(ShopGoods::getShopId, merShopGoodsEditDto.getShopId())
+                .eq(ShopGoods::getGoodsId, merShopGoodsEditDto.getGoodsId()));
+        return R.ok();
+    }
+    
+    
     @RequestMapping(value = "/pageMerSelectGoods", method = RequestMethod.POST)
     @ApiOperation(value = "分页获取商品选择列表")
     public R<Page<MgtSelectGoodsPageVo>> pageMerSelectGoods(@RequestBody MgtSelectGoodsPageDto mgtSelectGoodsPageDto) {
@@ -70,7 +133,7 @@
         page.setSize(mgtSelectGoodsPageDto.getPageSize());
         page.setCurrent(mgtSelectGoodsPageDto.getPageNum());
         page.setOptimizeCountSql(false);
-        List<MgtSelectGoodsPageVo> mgtSelectGoodsPageVos = goodsService.pageMgtSelectGoods(page,mgtSelectGoodsPageDto);
+        List<MgtSelectGoodsPageVo> mgtSelectGoodsPageVos = goodsService.pageMgtSelectGoods(page, mgtSelectGoodsPageDto);
         return R.ok(page.setRecords(mgtSelectGoodsPageVos));
     }
 }

--
Gitblit v1.7.1