From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 10 八月 2023 01:45:01 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java |  167 +++++++++++++++++++++++++------------------------------
 1 files changed, 75 insertions(+), 92 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 eb19b56..6f6f916 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
@@ -2,9 +2,11 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.binarywang.wxpay.exception.WxPayException;
 import com.ruoyi.common.core.constant.CacheConstants;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
@@ -22,7 +24,7 @@
 import com.ruoyi.shop.service.task.MemberTaskService;
 import com.ruoyi.shop.service.task.ShopFileService;
 import com.ruoyi.shop.service.task.ShopTaskService;
-import com.ruoyi.shop.util.dto.*;
+import com.ruoyi.shop.util.WechatPayUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
@@ -107,13 +109,20 @@
     private RemoteSysStaffService remoteSysStaffService;
 
     @Resource
+    private RemoteFileService remoteFileService;
+
+    @Resource
     private ShopTaskService shopTaskService;
 
     @Resource
     private RedisService redisService;
 
+    @Resource
+    private WechatPayUtils wechatPayUtils;
+
     /**
      * 获取商户详情
+     *
      * @param shopId
      * @return
      */
@@ -184,9 +193,10 @@
         //验证商户名唯一
         Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName()));
         if(mgtEditShopDto.getShopId()!=null){
-            if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
+            //取消验重
+            /*if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
                 throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
-            }
+            }*/
             shop = this.getById(mgtEditShopDto.getShopId());
             shop.setUpdateTime(new Date());
             shop.setUpdateUserId(mgtEditShopDto.getUserId());
@@ -205,9 +215,10 @@
                 remoteMemberService.updateMemberShopName(mgtMemberShopNameDto);
             }
         }else{
-            if(shopSame!=null){
+            //取消验重
+            /*if(shopSame!=null){
                 throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
-            }
+            }*/
             shop.setDelFlag(0);
             shop.setShopStatus(3);
             shop.setCreateTime(new Date());
@@ -300,6 +311,13 @@
         if(newShop){
             //生成商户关联记录
             initNewShop(shop,mgtEditShopDto.getUserId());
+            CodeGetDto codeGetDto = new CodeGetDto();
+            String url = "https://wxapp.hhhrt.cn/mini/shop?id="+shop.getShopId();
+            codeGetDto.setUrl(url);
+            codeGetDto.setFileName("shop-"+shop.getShopId());
+            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
+            shop.setShopCode(codeUrl);
+            this.saveOrUpdate(shop);
         }
     }
 
@@ -779,8 +797,6 @@
         merHomeShopTotalVo.setShopId(shopId);
         Shop shop = this.getById(shopId);
         merHomeShopTotalVo.setShopType(shop.getShopType());
-        merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag());
-        merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag());
         MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
         ShopTotal shopTotal = shopTotalService.getById(shopId);
         merHomeShopTotalVo.setShopId(shopId);
@@ -792,6 +808,8 @@
         merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
         merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
         merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
+        merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag());
+        merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag());
         return merHomeShopTotalVo;
     }
 
@@ -947,98 +965,18 @@
      * @return  void
      */
     @Override
-    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto){
+    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException {
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId());
         Shop shop = this.getByShopId(shopAuthentication.getShopId());
         String applyNumber = IdUtils.simpleUUID();
+        if(mgtShopAuthDto.getBlBusinessFoeverFlag()!=null&&mgtShopAuthDto.getBlBusinessFoeverFlag()==1){
+            mgtShopAuthDto.setBlBusinessDeanline("长期");
+        }
         BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication);
         shopAuthentication.setApplyNumber(applyNumber);
         shopAuthentication.setAuditStatus(3);
         shopAuthenticationService.saveOrUpdate(shopAuthentication);
-        //生成提交类
-        SubmitInfo submitInfo = new SubmitInfo();
-        submitInfo.setOut_request_no(applyNumber);
-        if(shopAuthentication.getMainType()==2){
-            submitInfo.setOrganization_type("2");
-        }else{
-            submitInfo.setOrganization_type("4");
-        }
-        //营业执照
-        BusinessLicenseInfo business_license_info = new BusinessLicenseInfo();
-        business_license_info.setBusiness_license_copy(shopAuthentication.getBlImage());
-        business_license_info.setBusiness_license_number(shopAuthentication.getBlNumber());
-        business_license_info.setMerchant_name(shopAuthentication.getBlShopName());
-        business_license_info.setLegal_person(shopAuthentication.getBlCorporateName());
-        business_license_info.setCompany_address(shopAuthentication.getBlRegisteredAddress());
-        business_license_info.setBusiness_time(shopAuthentication.getBlBusinessDeanline());
-        submitInfo.setBusiness_license_info(business_license_info);
-        //法人证件
-        submitInfo.setId_doc_type("IDENTIFICATION_TYPE_MAINLAND_IDCARD");
-        IdCardInfo id_card_info = new IdCardInfo();
-        id_card_info.setId_card_copy(shopAuthentication.getLpIcFront());
-        id_card_info.setId_card_national(shopAuthentication.getLpIcBack());
-        id_card_info.setId_card_name(shopAuthentication.getLpCorporateName());
-        id_card_info.setId_card_number(shopAuthentication.getLpIdCard());
-        id_card_info.setId_card_valid_time_begin(shopAuthentication.getLpIcStartDate());
-        id_card_info.setId_card_valid_time(shopAuthentication.getLpIcEndDate());
-        submitInfo.setId_card_info(id_card_info);
-        //企业填写
-        if(shopAuthentication.getMainType()==2){
-            //受益人
-            if(shopAuthentication.getOwner()==1){
-                submitInfo.setOwner(true);
-            }else{
-                submitInfo.setOwner(false);
-                List<UboInfo> ubo_info_list = new ArrayList<>();
-                UboInfo uboInfo = new UboInfo();
-                uboInfo.setUbo_id_doc_type("IDENTIFICATION_TYPE_MAINLAND_IDCARD");
-                uboInfo.setUbo_id_doc_copy(shopAuthentication.getUboIcFront());
-                uboInfo.setUbo_id_doc_copy_back(shopAuthentication.getUboIcBack());
-                uboInfo.setUbo_id_doc_name(shopAuthentication.getUboName());
-                uboInfo.setUbo_id_doc_number(shopAuthentication.getUboIdCard());
-                uboInfo.setUbo_id_doc_address(shopAuthentication.getUboIcAddress());
-                uboInfo.setUbo_id_doc_period_begin(shopAuthentication.getUboIcStartDate());
-                uboInfo.setUbo_id_doc_period_end(shopAuthentication.getUboIcEndDate());
-                ubo_info_list.add(uboInfo);
-                submitInfo.setUbo_info_list(ubo_info_list);
-            }
-        }
-        //结算账户信息
-        AccountInfo accountInfo = new AccountInfo();
-        if(shopAuthentication.getSettlementAccountType().equals("1")){
-            accountInfo.setBank_account_type("74");
-        }else{
-            accountInfo.setBank_account_type("75");
-        }
-        accountInfo.setAccount_bank(shopAuthentication.getSaBank());
-        accountInfo.setAccount_name(shopAuthentication.getSaAccountName());
-        accountInfo.setBank_address_code(shopAuthentication.getSaBankCityCode());
-        accountInfo.setBank_name(shopAuthentication.getSaBankName());
-        accountInfo.setAccount_number(shopAuthentication.getSaNumber());
-        submitInfo.setAccount_info(accountInfo);
-        ContactInfo contactInfo = new ContactInfo();
-        contactInfo.setContact_type("65");
-        contactInfo.setContact_name(shopAuthentication.getLpCorporateName());
-        contactInfo.setContact_id_card_number(shopAuthentication.getLpIdCard());
-        contactInfo.setMobile_phone(shopAuthentication.getLpMobilePhone());
-        contactInfo.setContact_email(shopAuthentication.getLpContactEmail());
-        submitInfo.setContact_info(contactInfo);
-        //店铺信息
-        SalesSceneInfo salesSceneInfo = new SalesSceneInfo();
-        salesSceneInfo.setStore_name(shop.getShopName());
-        salesSceneInfo.setStore_url("");
-        salesSceneInfo.setStore_qr_code("");
-        submitInfo.setSales_scene_info(salesSceneInfo);
-        submitInfo.setMerchant_shortname(shop.getShopName());
-        submitInfo.setBusiness_addition_pics(shopAuthentication.getBaPics());
-        submitInfo.setBusiness_addition_desc(shopAuthentication.getBaDesc());
-        //提交审核
-        /*try {
-            WxShopUtils.ApplymentSubMch(submitInfo);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }*/
-
+        //wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop);
     }
 
     /**
@@ -1158,6 +1096,11 @@
         MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo();
         ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId);
         BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo);
+        if(shopAuthGetVo.getBlBusinessDeanline().equals("长期")){
+            shopAuthGetVo.setBlBusinessFoeverFlag(1);
+        }else{
+            shopAuthGetVo.setBlBusinessFoeverFlag(0);
+        }
         return shopAuthGetVo;
     }
 
@@ -1406,4 +1349,44 @@
         shop.setUpdateTime(new Date());
         shopMapper.updateShop(shop);
     }
+
+    @Override
+    public void queryEcommerceApplyMentsStatus() {
+        List<ShopAuthentication> list = shopAuthenticationService.getShopAuthNeedUpdateStatus();
+        list.forEach(item -> queryApplyStatusByApplymentId(item.getApplymentId(), item.getShopId()));
+    }
+
+    /**
+     * 调用微信接口查询申请审核状态
+     * @param applymentId
+     */
+    private void queryApplyStatusByApplymentId(String applymentId, Long shopId) {
+        /*try {
+            if (StringUtils.isNotBlank(applymentId)) {
+                ApplymentsStatusResult result = wechatPayUtils.queryApplyStatusByApplymentId(applymentId);
+                shopAuthenticationService.updateAuditStatusByApplymentId(applymentId, result);
+                String applymentState = result.getApplymentState();
+                if(WxApplyMentStateEnum.FINISH.getText().equals(applymentState)){
+                    applySuccessUpdateShopStatus(shopId);
+                }
+            }
+        } catch (WxPayException e) {
+            e.printStackTrace();
+        }*/
+    }
+
+    /**
+     * 商户进件审核完成,更新商户状态
+     * @param shopId
+     */
+    private void applySuccessUpdateShopStatus(Long shopId){
+        // 更新商户状态为正常
+        Shop shop = this.getById(shopId);
+        Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1);
+        LambdaUpdateWrapper<Shop> updateWrapper = Wrappers.lambdaUpdate();
+        updateWrapper.eq(Shop::getShopId, shopId)
+                .set(Shop::getShopStatus, shopStatus)
+                .set(Shop::getAuthFlag, 1);
+        this.update(updateWrapper);
+    }
 }

--
Gitblit v1.7.1