From 64251287f735a6a26bc585a8ca593c3936113137 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 07 九月 2023 18:04:47 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   81 ++++++++++++++++++++++++++++++++--------
 1 files changed, 64 insertions(+), 17 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 277a0af..5e9a8f4 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
@@ -146,7 +146,8 @@
     @Resource
     private OrderRefundService orderRefundService;
 
-
+    @Resource
+    private RemoteMemberService memberService;
 
     /**
      * @description: buyGoods
@@ -1185,6 +1186,8 @@
      */
     @Override
     public List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto) {
+        Long userId = appUserOrderPageDto.getUserId();
+        Member member = memberService.getMember(userId).getData();
         List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto);
         if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) {
             Long shopId;
@@ -1210,13 +1213,17 @@
                 delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
             }
             for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) {
-                shop = shopMap.get(appUserOrderPageVo.getShopId());
-                appUserOrderPageVo.setShopName(shop.getShopName());
-                appUserOrderPageVo.setShopServicePhone(shop.getShopServicePhone());
-                if (appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())) {
-                    appUserOrderPageVo.setSameShop(1);
-                } else {
-                    appUserOrderPageVo.setSameShop(0);
+                if(member.getBindingFlag()==0&&appUserOrderPageVo.getOrderFrom()==2){
+                    appUserOrderPageVo.setShopName("全部店铺");
+                }else{
+                    shop = shopMap.get(appUserOrderPageVo.getShopId());
+                    appUserOrderPageVo.setShopName(shop.getShopName());
+                    appUserOrderPageVo.setShopServicePhone(shop.getShopServicePhone());
+                    if (appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())) {
+                        appUserOrderPageVo.setSameShop(1);
+                    } else {
+                        appUserOrderPageVo.setSameShop(0);
+                    }
                 }
                 appUserOrderPageVo.setVerifyCode("1-" + appUserOrderPageVo.getOrderId());
                 appUserOrderPageVo.setEndTime(DateUtils.addMinutes(appUserOrderPageVo.getCreateTime(), delayTime));
@@ -1405,6 +1412,17 @@
                     throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
                 }
             }
+            //未绑定用户需判断活动订单是否支持该店铺
+            if(order.getOrderFrom()==2){
+                String activityId = order.getActivityId();
+                MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
+                merActivityShopDto.setShopId(shopId);
+                merActivityShopDto.setActivityId(activityId);
+                Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
+                if(!judge){
+                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+                }
+            }
             //未绑定用户需判断核销商城订单判断商品单价和优惠券
             /*StringJoiner goodsIdSJ = new StringJoiner(",");
             for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) {
@@ -1527,6 +1545,17 @@
             //商城订单需判断商户
             if(order.getOrderFrom()==1){
                 if (!order.getShopId().equals(shopId)) {
+                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+                }
+            }
+            //未绑定用户需判断活动订单是否支持该店铺
+            if(order.getOrderFrom()==2){
+                String activityId = order.getActivityId();
+                MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
+                merActivityShopDto.setShopId(shopId);
+                merActivityShopDto.setActivityId(activityId);
+                Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
+                if(!judge){
                     throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
                 }
             }
@@ -1744,13 +1773,13 @@
             }
             // 平台特约商户号,用户平台收取服务费 2023-09-05改变分账方式
             String platformTyMacId = WxPayConfiguration.getPlatformTyMacId();
-            if (!StringUtils.isEmpty(subMchId)) {
+            if (!StringUtils.isEmpty(platformTyMacId)) {
                 WxPayConfig config = wxService.getConfig();
                 ShopProportionVo shopProportion = null;
                 BigDecimal proportionPercent = null;
                 //商户订单获取统一分成 活动订单获取活动分成
                 if(orderFrom==1){
-                    proportionPercent = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION);
+                    proportionPercent = new BigDecimal(redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION).toString());
                 }else{
                     R<ShopProportionVo> resultShopProportion = remoteShopService.getShopProportion(shopId);
                     shopProportion = resultShopProportion.getData();
@@ -1764,8 +1793,7 @@
                     request.setOutOrderNo(IdUtils.simpleUUID());
                     List<ProfitSharingRequest.Receiver> receiverList = new ArrayList<>();
                     String description = "订单:" + orderNo + " 平台分账";
-                    //平台分成
-                    proportionPercent = new BigDecimal("100.00").subtract(proportionPercent);
+                    //商户分成
                     if(proportionPercent.compareTo(BigDecimal.ZERO)>0){
                         ProfitSharingResult result = new ProfitSharingResult();
                         result.setOutOrderNo(orderNo);
@@ -3658,9 +3686,6 @@
      */
     @Override
     public MgtPlTotalActivityTotalVo getPlTotalActivityTotal(MgtBasePlatformDto mgtBasePlatformDto) {
-        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
-            return new MgtPlTotalActivityTotalVo();
-        }
         MgtPlTotalActivityTotalVo totalActivityTotalVo = new MgtPlTotalActivityTotalVo();
         totalActivityTotalVo.setOrderTotal(0);
         totalActivityTotalVo.setCycleTotal(0);
@@ -3688,6 +3713,10 @@
         totalActivityTotalVo.setJoinMemberTotalValue(new Integer[0]);
         totalActivityTotalVo.setGetMemberTotalKey(new String[0]);
         totalActivityTotalVo.setGetMemberTotalValue(new Integer[0]);
+        //店铺活动返回空
+        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
+            return totalActivityTotalVo;
+        }
         List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
         if(mgtBasePlatformDto.getShopId()!=null){
             shopIdList = new ArrayList<>();
@@ -3921,9 +3950,13 @@
 
     @Override
     public MgtPlTotalActivityTotalVo getPlTotalActivityJoinMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
-        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
+        //店铺活动返回空
+        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return new MgtPlTotalActivityTotalVo();
         }
+        /*if(mgtBasePlatformDto.getActivityType()!=null&&mgtBasePlatformDto.getActivityType()!=1){
+            return new MgtPlTotalActivityTotalVo();
+        }*/
         //获取需要关联的用户id集合
         /*if (mgtBasePlatformDto.getDeptId() != null) {
             List<Long> userIdList = new ArrayList<>();
@@ -3985,9 +4018,13 @@
 
     @Override
     public MgtPlTotalActivityTotalVo getPlTotalActivityGetMemberTotal(MgtBasePlatformDto mgtBasePlatformDto) {
-        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom() == 2){
+        //店铺活动返回空
+        if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return new MgtPlTotalActivityTotalVo();
         }
+        /*if(mgtBasePlatformDto.getActivityType()!=null&&mgtBasePlatformDto.getActivityType()!=1){
+            return new MgtPlTotalActivityTotalVo();
+        }*/
         //获取需要关联的用户id集合
         /*if (mgtBasePlatformDto.getDeptId() != null) {
             List<Long> userIdList = new ArrayList<>();
@@ -5735,4 +5772,14 @@
     public MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(MerBaseDto merBaseDto){
         return orderMapper.getMerMemberSimpleTotalVo(merBaseDto);
     }
+
+    @Override
+    public ProfitSharingResult queryBill(String transactionId,String outOrderNo) throws WxPayException {
+        ProfitSharingQueryRequest request = new ProfitSharingQueryRequest();
+        request.setSubMchid("1650744551");
+        request.setTransactionId(transactionId);
+        request.setOutOrderNo(outOrderNo);
+        ProfitSharingResult profitSharingResult = wxService.getEcommerceService().queryProfitSharing(request);
+        return profitSharingResult;
+    }
 }

--
Gitblit v1.7.1