bug
jiangqs
2023-08-06 85bbd80dd1e1599d7fea677aad705bad4f8b042b
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
     */
@@ -300,6 +309,13 @@
        if(newShop){
            //生成商户关联记录
            initNewShop(shop,mgtEditShopDto.getUserId());
            CodeGetDto codeGetDto = new CodeGetDto();
            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
            codeGetDto.setUrl(url);
            codeGetDto.setFileName("shop-"+shop.getShopId());
            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
            shop.setShopCode(codeUrl);
            this.saveOrUpdate(shop);
        }
    }
@@ -779,8 +795,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 +806,8 @@
        merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
        merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
        merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
        merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag());
        merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag());
        return merHomeShopTotalVo;
    }
@@ -947,7 +963,7 @@
     * @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();
@@ -955,90 +971,7 @@
        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);
    }
    /**
@@ -1406,4 +1339,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);
    }
}