From beeda8df0023376dbb2021148a021731dc4aedb0 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期日, 06 八月 2023 11:29:10 +0800 Subject: [PATCH] Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 168 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 86 insertions(+), 82 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 2d6a532..c5da45e 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,23 +2,32 @@ 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.bean.ecommerce.ApplymentsResult; +import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult; +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; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.shop.*; import com.ruoyi.shop.domain.pojo.task.ShopFile; import com.ruoyi.shop.domain.vo.*; +import com.ruoyi.shop.enums.WxApplyMentStateEnum; import com.ruoyi.shop.mapper.shop.ShopMapper; import com.ruoyi.shop.service.shop.*; 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.WechatPayUtils; import com.ruoyi.shop.util.WxShopUtils; import com.ruoyi.shop.util.dto.*; import com.ruoyi.system.api.constant.AppErrorConstant; @@ -105,10 +114,20 @@ private RemoteSysStaffService remoteSysStaffService; @Resource + private RemoteFileService remoteFileService; + + @Resource private ShopTaskService shopTaskService; + + @Resource + private RedisService redisService; + + @Resource + private WechatPayUtils wechatPayUtils; /** * 获取商户详情 + * * @param shopId * @return */ @@ -193,6 +212,12 @@ //清空归属 shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); + if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){ + MgtMemberShopNameDto mgtMemberShopNameDto = new MgtMemberShopNameDto(); + mgtMemberShopNameDto.setShopId(mgtEditShopDto.getShopId()); + mgtMemberShopNameDto.setShopName(mgtEditShopDto.getShopName()); + remoteMemberService.updateMemberShopName(mgtMemberShopNameDto); + } }else{ if(shopSame!=null){ throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); @@ -289,6 +314,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); } } @@ -409,6 +441,7 @@ shop.setFrozenFlag(0); } shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + this.saveOrUpdate(shop); } /** @@ -749,14 +782,21 @@ } /** * 获取商户端 - * @param userId + * @param merBaseDto * @return */ @Override - public MerHomeShopTotalVo getMerHomeTotal(Long userId){ + public MerHomeShopTotalVo getMerHomeTotal(MerBaseDto merBaseDto){ + Long userId = merBaseDto.getUserId(); MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo(); ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); Long shopId = shopRelUser.getShopId(); + //如果商户变动刷新token + if(!shopId.equals(merBaseDto.getShopId())){ + String userKey = SecurityUtils.getUserKey(); + redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); + throw new ServiceException("登录状态已过期",401); + } merHomeShopTotalVo.setShopId(shopId); Shop shop = this.getById(shopId); merHomeShopTotalVo.setShopType(shop.getShopType()); @@ -771,6 +811,8 @@ merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag()); + merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag()); return merHomeShopTotalVo; } @@ -926,7 +968,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(); @@ -934,85 +976,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){ - submitInfo.setOwner(true); - 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); } /** @@ -1380,4 +1344,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