From 3adbcc42d5f84c3c83d220543189361add81e04d Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 11 九月 2023 15:22:19 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java |   44 +++++++++++++++++++++++++++++++-------------
 1 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index ac16539..bac11cf 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -32,6 +32,7 @@
 import com.ruoyi.shop.service.task.ShopTaskService;
 import com.ruoyi.shop.util.WechatPayUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.constant.SecurityConstant;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
 import com.ruoyi.system.api.domain.poji.member.Member;
@@ -39,7 +40,7 @@
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.service.*;
-import lombok.extern.slf4j.Slf4j;
+import lombok.extern.log4j.Log4j2;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -59,7 +60,7 @@
  * @since 2023-04-25
  */
 @Service
-@Slf4j
+@Log4j2
 public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService {
 
     @Resource
@@ -245,6 +246,7 @@
             shop.setFrozenFlag(0);
             shop.setCooperativeFlag(1);
             shop.setAuthFlag(0);
+            shop.setAccountFlag(0);
             newShop = true;
         }
         BeanUtils.copyProperties(mgtEditShopDto,shop);
@@ -374,7 +376,11 @@
         shopProportion.setDelFlag(0);
         shopProportion.setShopId(shop.getShopId());
         shopProportion.setShopType(shop.getShopType());
-        shopProportion.setProportionPercent(new BigDecimal("100.00"));
+        BigDecimal proportionPercent = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION);
+        if(proportionPercent==null){
+            proportionPercent = new BigDecimal("30");
+        }
+        shopProportion.setProportionPercent(proportionPercent);
         shopProportion.setUpdateTime(new Date());
         shopProportion.setUpdateUserId(userId);
         shopProportionService.save(shopProportion);
@@ -437,7 +443,7 @@
         }else{
             shop.setCooperativeFlag(0);
         }
-        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
+        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag(),shop.getAccountFlag()));
         shop.setUpdateTime(new Date());
         shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId());
         this.saveOrUpdate(shop);
@@ -458,7 +464,7 @@
         }else{
             shop.setFrozenFlag(0);
         }
-        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
+        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag(),shop.getAccountFlag()));
         this.saveOrUpdate(shop);
     }
 
@@ -469,13 +475,13 @@
      * @param
      * @return  Integer
      */
-    private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){
+    private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag,Integer accountFlag){
         Integer shopStatus = 1;
         if(frozenFlag == 1){
             shopStatus = 0;
             return shopStatus;
         }
-        if(authFlag == 0){
+        if(authFlag == 0 || accountFlag==0){
             shopStatus = 3;
             return shopStatus;
         }
@@ -1030,7 +1036,7 @@
      * @return  void
      */
     @Override
-    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException {
+    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) {
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
         Shop shop = this.getByShopId(shopAuthentication.getShopId());
 
@@ -1483,7 +1489,7 @@
     private void applySuccessUpdateShopStatus(Long shopId){
         // 更新商户状态为正常
         Shop shop = this.getById(shopId);
-        Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1);
+        Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1,shop.getAccountFlag());
         LambdaUpdateWrapper<Shop> updateWrapper = Wrappers.lambdaUpdate();
         updateWrapper.eq(Shop::getShopId, shopId)
                 .set(Shop::getShopStatus, shopStatus)
@@ -1593,17 +1599,29 @@
 
 
     /**
-     * @description
+     * @description  添加分账方
      * @author  jqs
      * @date    2023/8/23 9:44
      * @param
      * @return  void
      */
     @Override
-    public ProfitSharingReceiverResult addProfitSharingReceiver(ProfitSharingReceiverRequest request){
+    public void addProfitSharingReceiver(MgtShopAuthGetDto mgtShopAuthGetDto){
         try {
-            ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request);
-            return result;
+            ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthGetDto.getAuthId());
+            Shop shop = this.getByShopId(shopAuthentication.getShopId());
+            if(shopAuthentication!=null&&shopAuthentication.getAuditStatus()==6){
+                ProfitSharingReceiverRequest request = new ProfitSharingReceiverRequest();
+                request.setAccount(shopAuthentication.getSubMchid());
+                request.setName(shopAuthentication.getBlShopName());
+                ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request);
+                if(StringUtils.isNotBlank(result.getAccount())){
+                    shop.setAccountFlag(1);
+                    shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag(),1));
+                    this.saveOrUpdate(shop);
+                }
+            }
+
         } catch (WxPayException e) {
             throw new RuntimeException(e);
         }

--
Gitblit v1.7.1