From c5d38d650d2ac4101b1293a4f17346e7d5420076 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 04 七月 2025 20:39:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   54 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index fcd22cb..2344a3e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -184,7 +184,7 @@
         if(shop!=null&&shop.getShopStatus()!=1){
             throw new ServiceException(AppErrorConstant.SHOP_CLOSED);
         }
-        Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
+//        Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
         // 初始化订单对象
         AppSureOrderVo appSureOrderVo = new AppSureOrderVo();
         // 初始化订单商品列表
@@ -268,15 +268,20 @@
             appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
             appShopGoodsGetDto.setShopId(appSureOrderDto.getShopId());
             ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
+            //商户是否定制价格
             if (shopGoods != null) {
                 goodsPrice = shopGoods.getSalesPrice();
-            } else {
+            }
+            //是否绑定经销商
+            if(shop.getBelongShopId()!=null &&shop.getShopType()==2){
                 //经销商定制价格
-                appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
-                appShopGoodsGetDto.setShopId(belongShop.getShopId());
-                shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
+                AppShopGoodsGetDto shopGoodsGetDto=new AppShopGoodsGetDto();
+                shopGoodsGetDto.setGoodsId(goods.getGoodsId());
+                shopGoodsGetDto.setShopId(shop.getBelongShopId());
+                Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
+                shopGoods = remoteGoodsService.getShopGoods(shopGoodsGetDto).getData();
                 if (1 == belongShop.getModifyPricePermission() && null != shopGoods) {
-                    goodsPrice = shopGoods.getSalesPrice();
+                    goodsPrice=shopGoods.getSalesPrice();
                 }
             }
             appSureOrderGoodsVo.setGoodsPrice(goodsPrice);
@@ -461,7 +466,9 @@
         ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData();
         if (shopGoods != null) {
             goodsPrice = shopGoods.getSalesPrice();
-        } else {
+        }
+        //是否绑定经销商
+        if(shop.getBelongShopId()!=null &&shop.getShopType()==2){
             //经销商定制价格
             Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
             appShopGoodsGetDto = new AppShopGoodsGetDto();
@@ -503,8 +510,8 @@
      * @return
      */
     @Override
-    @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+    @Transactional   // todo  放开分布式事务注解
+//    @GlobalTransactional(rollbackFor = Exception.class)
     public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto) {
         // 获取用户ID
         Long userId = appPlaceOrderDto.getUserId();
@@ -577,6 +584,10 @@
         //使用优惠券
         StringJoiner memberCouponSJ = new StringJoiner(",");
         List<String> goodsNameList = new ArrayList<>();
+        Shop shop = remoteShopService.getShop(appPlaceOrderDto.getShopId()).getData();
+        if(shop!=null&&shop.getShopStatus()!=1){
+            throw new ServiceException(AppErrorConstant.SHOP_CLOSED);
+        }
         // 遍历购买的商品列表
         for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
             appSureOrderGoodsVo = new AppSureOrderGoodsVo();
@@ -610,9 +621,10 @@
             if (shopGoods != null) {
                 goodsPrice = shopGoods.getSalesPrice();
                 serviceNum = shopGoods.getServiceNum();
-            } else {
+            }
+            //是否绑定经销商
+            if(shop.getBelongShopId()!=null &&shop.getShopType()==2){
                 //经销商定制价格
-                Shop shop = remoteShopService.getShop(appPlaceOrderDto.getShopId()).getData();
                 Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
                 appShopGoodsGetDto = new AppShopGoodsGetDto();
                 appShopGoodsGetDto.setGoodsId(goods.getGoodsId());
@@ -1027,7 +1039,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public AppPlaceOrderVo placeActivityOrder(AppPlaceActivityDto appPlaceActivityDto) {
         Long userId = appPlaceActivityDto.getUserId();
         Member member = remoteMemberService.getMember(userId).getData();
@@ -1875,7 +1887,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto) {
         String orderId = merVerifyOrderDto.getOrderId();
         BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney();
@@ -2117,7 +2129,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public MerVerifyOrderVo sureVerifyOrderDouYin(MerVerifyOrderDto merVerifyOrderDto) {
         String phone = merVerifyOrderDto.getPhone();
         String orderId = merVerifyOrderDto.getOrderId();
@@ -2538,7 +2550,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) {
         R<MerVerifyCouponGetVo> verifyCoupon = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId());
         if(verifyCoupon.getCode() != 200){
@@ -2678,7 +2690,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto) {
         MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
         MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData();
@@ -2917,7 +2929,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public void createNewOrder(MerNewOrderDto merNewOrderDto) {
         Long userId = merNewOrderDto.getBuyUserId();
         Date nowTime = new Date();
@@ -5551,7 +5563,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public void autoCancelOrder(String orderId) {
         //更新订单信息
         Order order = this.getById(orderId);
@@ -5621,7 +5633,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public void payBack(PartnerTransactionsResult transaction, BigDecimal feeAmount) {
         log.info("订单支付回调---"+transaction.toString());
         // 更新订单状态 outTradeNo
@@ -5767,7 +5779,7 @@
      */
     @Override
     @Transactional
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     public void refundOrder(String orderId) {
         // 更新订单信息
         Order order = this.getById(orderId);
@@ -6511,7 +6523,7 @@
         }
     }
 
-    @GlobalTransactional(rollbackFor = Exception.class)
+//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
     private void autoTimeCancelOrder(Order order) {
         String orderId = order.getOrderId();
         order.setOrderStatus(0);

--
Gitblit v1.7.1