From bdd9af51204d2108e2eaf4202310d2c24edea8b5 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 28 九月 2023 11:33:39 +0800 Subject: [PATCH] 进件签约bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 121 ++++++++++++++++++++++++++++----------- 1 files changed, 86 insertions(+), 35 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 ea3587f..d2f60f6 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 @@ -8,7 +8,8 @@ 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.bean.profitsharingV3.ProfitSharingReceiver; +import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingReceiverRequest; +import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingReceiverResult; import com.github.binarywang.wxpay.exception.WxPayException; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.exception.ServiceException; @@ -31,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; @@ -38,6 +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.log4j.Log4j2; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -57,6 +60,7 @@ * @since 2023-04-25 */ @Service +@Log4j2 public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService { @Resource @@ -207,7 +211,7 @@ } //验证商户名唯一 - Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName())); + //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())){ @@ -222,7 +226,6 @@ shopRelTagService.deleteByShopId(shop.getShopId()); shopRelUserService.deleteByShopId(shop.getShopId()); //清空归属 - shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){ MgtMemberShopNameDto mgtMemberShopNameDto = new MgtMemberShopNameDto(); @@ -240,8 +243,9 @@ shop.setCreateTime(new Date()); shop.setCreateUserId(mgtEditShopDto.getUserId()); shop.setFrozenFlag(0); - shop.setCooperativeFlag(0); + shop.setCooperativeFlag(1); shop.setAuthFlag(0); + shop.setAccountFlag(0); newShop = true; } BeanUtils.copyProperties(mgtEditShopDto,shop); @@ -371,7 +375,12 @@ shopProportion.setDelFlag(0); shopProportion.setShopId(shop.getShopId()); shopProportion.setShopType(shop.getShopType()); - shopProportion.setProportionPercent(new BigDecimal("100.00")); + String proportionPercentStr = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION); + BigDecimal proportionPercent = new BigDecimal(proportionPercentStr); + if(proportionPercent==null){ + proportionPercent = new BigDecimal("30"); + } + shopProportion.setProportionPercent(proportionPercent); shopProportion.setUpdateTime(new Date()); shopProportion.setUpdateUserId(userId); shopProportionService.save(shopProportion); @@ -434,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); @@ -455,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); } @@ -466,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; } @@ -707,7 +716,6 @@ shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId()); shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark()); shopTransferRecordService.save(shopTransferRecord); - shopRelUserService.deleteByUserId(shop.getBelongUserId()); } shop.setBelongUserId(mgtTransferShopDto.getTransferUserId()); this.saveOrUpdate(shop); @@ -791,8 +799,8 @@ */ @Override public StaffHomeShopTotalVo getStaffHomeTotal(Long userId){ - List<Long> userIds = null; - List<Long> shopIds = null; + List<Long> userIds = new ArrayList<>(); + List<Long> shopIds = new ArrayList<>(); //如果是leader 查询leader下面所有的员工下的所有shopId if(remoteSysStaffService.isLeader()){ userIds = sysUserService.getUserIdsByDept(userId).getData(); @@ -800,15 +808,22 @@ MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); mgtBasePlatformDto.setUserIdList(userIds); shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); - Shop shop = this.getShopByBelongUserId(userId); - if(shop!=null){ - shopIds.add(shop.getShopId()); + List<Shop> shopList = this.getShopByBelongUserId(userId); + if(shopList!=null&&!shopList.isEmpty()){ + for(Shop shop : shopList){ + shopIds.add(shop.getShopId()); + } userIds.add(userId); } }else { //普通员工查询商户归属的shopId - Shop shop = this.getShopByBelongUserId(userId); - shopIds.add(shop.getShopId()); + List<Shop> shopList = this.getShopByBelongUserId(userId); + if(shopList!=null&&!shopList.isEmpty()){ + for(Shop shop : shopList){ + shopIds.add(shop.getShopId()); + } + userIds.add(userId); + } } //分别查询 StaffHomeShopTotalVo staffHomeShopTotalVo = new StaffHomeShopTotalVo(); @@ -850,7 +865,7 @@ if(shop.getFrozenFlag()==1){ String userKey = SecurityUtils.getUserKey(); redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); - throw new ServiceException("商户已被冻结",401); + throw new ServiceException("商户已被冻结,请联系管理员",401); } merHomeShopTotalVo.setShopType(shop.getShopType()); MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); @@ -1020,7 +1035,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()); @@ -1044,6 +1059,7 @@ throw new ServiceException(e.getMessage()); } shopAuthentication.setAuditStatus(3); + shopAuthentication.setApplymentId(applymentsResult.getApplymentId()); shopAuthenticationService.saveOrUpdate(shopAuthentication); } @@ -1101,13 +1117,17 @@ plTotalShopTotalVo.setAreaRankVos(shopAreaRank); } //获取销售排名 - List<MgtMapIntTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto); + List<MgtMapBigTotalVo> shopSalesRank = remoteOrderService.shopSalesRank(shopIdList).getData(); if (shopSalesRank != null && shopSalesRank.size() > 0) { String[] shopSalesKey = new String[shopSalesRank.size()]; - Integer[] shopSalesValue = new Integer[shopSalesRank.size()]; + BigDecimal[] shopSalesValue = new BigDecimal[shopSalesRank.size()]; // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + Long shopId; + Shop shop; for (int i = 0; i < shopSalesRank.size(); i++) { - shopSalesKey[i] = shopSalesRank.get(i).getMapKey(); + shopId = Long.valueOf(shopSalesRank.get(i).getMapKey()); + shop = this.getByShopId(shopId); + shopSalesKey[i] = shop.getShopName(); shopSalesValue[i] = shopSalesRank.get(i).getMapValue(); } plTotalShopTotalVo.setShopSalesRankKey(shopSalesKey); @@ -1241,11 +1261,11 @@ * @return Shop */ @Override - public Shop getShopByBelongUserId(Long userId){ + public List<Shop> getShopByBelongUserId(Long userId){ LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Shop::getDelFlag,0); queryWrapper.eq(Shop::getBelongUserId,userId); - return this.getOne(queryWrapper,false); + return this.list(queryWrapper); } /** @@ -1271,7 +1291,7 @@ */ @Override public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ - List<Long> userIdList = null; + List<Long> userIdList = new ArrayList<>(); if(remoteSysStaffService.isLeader()){ userIdList = sysUserService.getUserIdsByDept(userId).getData(); userIdList.add(userId); @@ -1317,8 +1337,6 @@ merHomeShopTotalVo.setShopId(shopId); // 通过远程订单服务获取商店总览信息 MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); - // 获取商店总计信息 - ShopTotal shopTotal = shopTotalService.getById(shopId); // 获取商店任务计数 Integer taskCount = memberTaskService.getMemberIngTotal(shopId); // 设置员工商店信息对象的属性 @@ -1326,10 +1344,11 @@ staffShopInfoGetVo.setUnHandleOrder(orderVo.getUnHandleOrder()); staffShopInfoGetVo.setShopTask(taskCount); staffShopInfoGetVo.setShopTurnover(orderVo.getShopTurnover()); - staffShopInfoGetVo.setCycleSurp(shopTotal.getUseableCyclePerson()); - staffShopInfoGetVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + staffShopInfoGetVo.setCycleSurp(orderVo.getCycleSurp()); + staffShopInfoGetVo.setExplorationSurp(orderVo.getExplorationSurp()); staffShopInfoGetVo.setShopId(shopId); staffShopInfoGetVo.setShopName(shop.getShopName()); + staffShopInfoGetVo.setShopType(shop.getShopType()); staffShopInfoGetVo.setShopPicture(shopPicture); staffShopInfoGetVo.setBusinessStartTime(shop.getBusinessStartTime()); staffShopInfoGetVo.setBusinessEndTime(shop.getBusinessEndTime()); @@ -1355,8 +1374,8 @@ if (shopIdList != null && !shopIdList.isEmpty()) { Integer count = remoteMemberService.getAreaNewMember(shopIdList).getData(); staffShopInfoGetVo.setNewAreaMember(count); - ShopTotal shopTotalAll = shopTotalService.shopsTotalByIds(shopIdList); - staffShopInfoGetVo.setAreaTurnover(shopTotalAll.getTotalOrderMoney()); + AgencyTotalVo agencyTotalVo = remoteOrderService.getAgencyTotalVo(shopIdList).getData(); + staffShopInfoGetVo.setAreaTurnover(agencyTotalVo.getAreaTurnover()); } } // 如果商店的扩展联系方式不为空,则设置员工商店信息对象的扩展联系方式列表 @@ -1436,7 +1455,9 @@ @Override public void queryEcommerceApplyMentsStatus() { + log.info("开始获取微信二级商户待检查列表"); List<ShopAuthentication> list = shopAuthenticationService.getShopAuthNeedUpdateStatus(); + log.info("定时检查微信二级商户"+list.toString()); list.forEach(item -> queryApplyStatusByApplymentId(item.getApplymentId(), item.getShopId())); } @@ -1446,6 +1467,7 @@ */ private void queryApplyStatusByApplymentId(String applymentId, Long shopId) { try { + log.debug("定时检查微信二级商户applymentId"+applymentId); if (StringUtils.isNotBlank(applymentId)) { ApplymentsStatusResult result = wechatPayUtils.queryApplyStatusByApplymentId(applymentId); shopAuthenticationService.updateAuditStatusByApplymentId(applymentId, result); @@ -1466,7 +1488,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) @@ -1570,23 +1592,52 @@ if(shopTask!=null){ staffShopDetailVo.setNextTaskDate(shopTask.getTaskDate()); } + staffShopDetailVo.setShopId(shopId); return staffShopDetailVo; } /** - * @description + * @description 添加分账方 * @author jqs * @date 2023/8/23 9:44 * @param * @return void */ @Override - public void addProfitSharingReceiver(ProfitSharingReceiver profitSharingReceiver){ + public void addProfitSharingReceiver(MgtShopAuthGetDto mgtShopAuthGetDto){ try { - ProfitSharingReceiver result = wechatPayUtils.addProfitSharingReceiver(profitSharingReceiver); + 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); } } + + + + /** + * @description + * @author jqs + * @date 2023/8/29 14:33 + * @param + * @return List<MgtUserTaskMsgVo> + */ + @Override + public List<MgtUserTaskMsgVo> getTaskMsgList(){ + return shopMapper.getTaskMsgList(); + } + } -- Gitblit v1.7.1