From ba714629588e22f9ffaab83819f6b9200a6397b3 Mon Sep 17 00:00:00 2001 From: zhanglin8526 <852614290@qq.com> Date: 星期五, 04 八月 2023 22:59:08 +0800 Subject: [PATCH] 1、定时任务 商户进件状态查询 2、小程序下单统一支付提交 3、订单核销分账(未完成) --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 521 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 290 insertions(+), 231 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 6df823e..5427a4c 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,12 @@ 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; @@ -18,6 +21,7 @@ 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; @@ -124,25 +128,26 @@ /** * 获取商户详情 + * * @param shopId * @return */ @Override - public AppShopInfoVo getAppShopInfo(Long shopId){ + public AppShopInfoVo getAppShopInfo(Long shopId) { AppShopInfoVo appShopInfoVo = new AppShopInfoVo(); Shop shop = this.getById(shopId); - BeanUtils.copyProperties(shop,appShopInfoVo); + BeanUtils.copyProperties(shop, appShopInfoVo); //商户地址 - appShopInfoVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); + appShopInfoVo.setShopAddress(shop.getShopAreaName() + shop.getShopAddress()); //商品图片 List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); String shopPicture = null; StringJoiner shopBanners = new StringJoiner(","); - if(shopFileList!=null&&!shopFileList.isEmpty()){ - for(ShopFile shopFile : shopFileList){ - if(shopFile.getFileType()==1){ + if (shopFileList != null && !shopFileList.isEmpty()) { + for (ShopFile shopFile : shopFileList) { + if (shopFile.getFileType() == 1) { shopPicture = shopFile.getFileUrl(); - }else{ + } else { shopBanners.add(shopFile.getFileUrl()); } } @@ -151,7 +156,7 @@ appShopInfoVo.setShopBanners(shopBanners.toString()); //商户证书 List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId); - if(shopCertificateList!=null&&!shopCertificateList.isEmpty()){ + if (shopCertificateList != null && !shopCertificateList.isEmpty()) { appShopInfoVo.setShopCertificateList(shopCertificateList); } return appShopInfoVo; @@ -159,32 +164,33 @@ /** * 创建商户 + * * @param mgtEditShopDto */ @Override - public void createShop(MgtEditShopDto mgtEditShopDto){ + public void createShop(MgtEditShopDto mgtEditShopDto) { Shop shop = new Shop(); Boolean newShop = false; BigDecimal zeroBig = BigDecimal.ZERO; //验证关联账号唯一 String relUserIds = mgtEditShopDto.getRelUserIds(); - if(StringUtils.isNotBlank(relUserIds)) { + if (StringUtils.isNotBlank(relUserIds)) { String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; - if(mgtEditShopDto.getShopId()!=null){ + if (mgtEditShopDto.getShopId() != null) { for (String str : relUserIdArray) { userId = Long.valueOf(str); shopRelUser = shopRelUserService.getByUserId(userId); - if(shopRelUser!=null&&!shopRelUser.getShopId().equals(mgtEditShopDto.getShopId())){ + if (shopRelUser != null && !shopRelUser.getShopId().equals(mgtEditShopDto.getShopId())) { throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); } } - }else { + } else { for (String str : relUserIdArray) { userId = Long.valueOf(str); shopRelUser = shopRelUserService.getByUserId(userId); - if(shopRelUser!=null){ + if (shopRelUser != null) { throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); } } @@ -192,9 +198,9 @@ } //验证商户名唯一 - 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())){ + 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())) { throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); } shop = this.getById(mgtEditShopDto.getShopId()); @@ -208,14 +214,14 @@ //清空归属 shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); - if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){ + 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){ + } else { + if (shopSame != null) { throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); } shop.setDelFlag(0); @@ -227,9 +233,9 @@ shop.setAuthFlag(0); newShop = true; } - BeanUtils.copyProperties(mgtEditShopDto,shop); + BeanUtils.copyProperties(mgtEditShopDto, shop); String shopDetail = shop.getShopDetail(); - if(StringUtils.isNotBlank(shopDetail)){ + if (StringUtils.isNotBlank(shopDetail)) { byte[] decodedBytes = Base64.getDecoder().decode(shopDetail); shopDetail = new String(decodedBytes, StandardCharsets.UTF_8); shop.setShopDetail(shopDetail); @@ -242,13 +248,13 @@ this.saveOrUpdate(shop); //商户标签 String shopTagIds = mgtEditShopDto.getShopTagIds(); - if(StringUtils.isNotBlank(shopTagIds)){ + if (StringUtils.isNotBlank(shopTagIds)) { String[] shopTagIdArray = shopTagIds.split(","); ShopRelTag shopRelTag; Long tagid; StringJoiner shopTagSj = new StringJoiner(","); SysTag sysTag; - for(String str : shopTagIdArray){ + for (String str : shopTagIdArray) { shopRelTag = new ShopRelTag(); tagid = Long.valueOf(str); sysTag = configService.getSysTag(tagid).getData(); @@ -267,13 +273,13 @@ handleShopStaff(shop.getShopId(),belongSysUser); }*/ //商户关联人员 - if(StringUtils.isNotBlank(relUserIds)){ + if (StringUtils.isNotBlank(relUserIds)) { shopStaffService.clearShopStaffRelation(shop.getShopId()); String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; SysUser sysUser; - for(String str : relUserIdArray){ + for (String str : relUserIdArray) { shopRelUser = new ShopRelUser(); userId = Long.valueOf(str); sysUser = sysUserService.getSysUser(userId).getData(); @@ -284,7 +290,7 @@ shopRelUser.setUserMobile(sysUser.getPhonenumber()); shopRelUser.setUserDeptId(sysUser.getDeptId()); shopRelUserService.save(shopRelUser); - handleShopStaff(shop.getShopId(),sysUser); + handleShopStaff(shop.getShopId(), sysUser); } } //商户封面 @@ -295,10 +301,10 @@ shopFile.setShopId(shop.getShopId()); shopFileService.save(shopFile); //商户banner - if(StringUtils.isNotBlank(mgtEditShopDto.getShopBanners())){ - String shopBanners= mgtEditShopDto.getShopBanners(); + if (StringUtils.isNotBlank(mgtEditShopDto.getShopBanners())) { + String shopBanners = mgtEditShopDto.getShopBanners(); String[] shopBannerArray = shopBanners.split(","); - for(String str : shopBannerArray){ + for (String str : shopBannerArray) { shopFile = new ShopFile(); shopFile.setDelFlag(0); shopFile.setFileType(2); @@ -307,13 +313,13 @@ shopFileService.save(shopFile); } } - if(newShop){ + if (newShop) { //生成商户关联记录 - initNewShop(shop,mgtEditShopDto.getUserId()); + initNewShop(shop, mgtEditShopDto.getUserId()); CodeGetDto codeGetDto = new CodeGetDto(); - String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId(); + String url = "https://wxapp.hhhrt.cn/mini/activity?activityId=" + shop.getShopId(); codeGetDto.setUrl(url); - codeGetDto.setFileName("shop-"+shop.getShopId()); + codeGetDto.setFileName("shop-" + shop.getShopId()); String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData(); shop.setShopCode(codeUrl); this.saveOrUpdate(shop); @@ -321,14 +327,14 @@ } /** - * @description 商户关联类初始化 - * @author jqs - * @date 2023/7/7 11:25 * @param shop * @param userId - * @return void + * @return void + * @description 商户关联类初始化 + * @author jqs + * @date 2023/7/7 11:25 */ - private void initNewShop(Shop shop,Long userId){ + private void initNewShop(Shop shop, Long userId) { BigDecimal zeroBig = new BigDecimal("0.00"); //商户账户信息初始化 ShopAccount shopAccount = new ShopAccount(); @@ -394,16 +400,16 @@ } /** - * @description 终止合作 - * @author jqs - * @date 2023/6/20 12:01 * @param mgtTerminateCooperationDto - * @return void + * @return void + * @description 终止合作 + * @author jqs + * @date 2023/6/20 12:01 */ @Override - public void terminateMgtCooperation(MgtTerminateCooperationDto mgtTerminateCooperationDto){ + public void terminateMgtCooperation(MgtTerminateCooperationDto mgtTerminateCooperationDto) { Shop shop = this.getById(mgtTerminateCooperationDto.getShopId()); - if(mgtTerminateCooperationDto.getCooperativeFlag()==1){ + if (mgtTerminateCooperationDto.getCooperativeFlag() == 1) { /*Date coopStartDate = shop.getCooperationStartTime(); Date coopEndDate = shop.getCooperationEndTime(); Date nowTime = new Date(); @@ -412,52 +418,52 @@ throw new ServiceException(AppErrorConstant.COOPERATION_TIME_ERROR); }*/ shop.setCooperativeFlag(1); - }else{ + } else { shop.setCooperativeFlag(0); } - shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), shop.getAuthFlag())); shop.setUpdateTime(new Date()); shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); this.saveOrUpdate(shop); } /** - * @description 冻结商户 - * @author jqs - * @date 2023/7/15 13:56 * @param mgtFrozenShopDto - * @return void + * @return void + * @description 冻结商户 + * @author jqs + * @date 2023/7/15 13:56 */ @Override - public void frozenMgtShop(MgtFrozenShopDto mgtFrozenShopDto){ + public void frozenMgtShop(MgtFrozenShopDto mgtFrozenShopDto) { Shop shop = this.getById(mgtFrozenShopDto.getShopId()); - if(mgtFrozenShopDto.getFrozenFlag()==1){ + if (mgtFrozenShopDto.getFrozenFlag() == 1) { shop.setFrozenFlag(1); - }else{ + } else { shop.setFrozenFlag(0); } - shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), shop.getAuthFlag())); this.saveOrUpdate(shop); } /** - * @description 处理商户状态 - * @author jqs - * @date 2023/7/15 14:09 * @param - * @return Integer + * @return Integer + * @description 处理商户状态 + * @author jqs + * @date 2023/7/15 14:09 */ - private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){ + private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag) { Integer shopStatus = 1; - if(frozenFlag == 1){ + if (frozenFlag == 1) { shopStatus = 0; return shopStatus; } - if(authFlag == 0){ + if (authFlag == 0) { shopStatus = 3; return shopStatus; } - if(cooperativeFlag == 0){ + if (cooperativeFlag == 0) { shopStatus = 2; return shopStatus; } @@ -467,16 +473,17 @@ /** * 修改合作时间 + * * @param mgtChangeCoopDto */ @Override - public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){ + public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto) { Shop shop = this.getById(mgtChangeCoopDto.getShopId()); Date coopStartDate = null; Date coopEndDate = null; try { - coopStartDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopStartTime(),"yyyy-MM-dd"); - coopEndDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopEndTime(),"yyyy-MM-dd"); + coopStartDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopStartTime(), "yyyy-MM-dd"); + coopEndDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopEndTime(), "yyyy-MM-dd"); } catch (ParseException e) { throw new RuntimeException(e); } @@ -484,13 +491,13 @@ shop.setCooperationStartTime(coopStartDate); shop.setCooperationEndTime(coopEndDate); Boolean inTime = false; - if(coopStartDate.compareTo(nowTime)<=0&&coopEndDate.compareTo(nowTime)>=0){ + if (coopStartDate.compareTo(nowTime) <= 0 && coopEndDate.compareTo(nowTime) >= 0) { inTime = true; shop.setCooperativeFlag(1); - }else{ + } else { shop.setCooperativeFlag(0); } - if(shop.getShopStatus()==2&&inTime){ + if (shop.getShopStatus() == 2 && inTime) { shop.setShopStatus(1); } shop.setUpdateTime(nowTime); @@ -500,12 +507,13 @@ /** * 分页获取商户 + * * @param page * @param mgtShopPageDto * @return */ @Override - public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto){ + public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto) { if (StringUtils.isNotBlank(mgtShopPageDto.getShopTags())) { mgtShopPageDto.setShopTags(mgtShopPageDto.getShopTags().replace(",", "|")); } @@ -528,7 +536,7 @@ MgtBaseBathDto mgtBaseBathDto; Map<Long, MgtSysSimpleUserVo> signUserMap = null; Map<Long, MgtSysSimpleUserVo> belongUserMap = null; - if(signUserIdSet!=null&&!signUserIdSet.isEmpty()){ + if (signUserIdSet != null && !signUserIdSet.isEmpty()) { String signUserString = String.join(",", signUserIdSet.stream().map(Object::toString).collect(Collectors.toList())); mgtBaseBathDto = new MgtBaseBathDto(); mgtBaseBathDto.setIds(signUserString); @@ -536,7 +544,7 @@ signUserMap = signUserVoList.stream() .collect(Collectors.toMap(MgtSysSimpleUserVo::getUserId, Function.identity())); } - if(belongUserIdSet!=null&&!belongUserIdSet.isEmpty()){ + if (belongUserIdSet != null && !belongUserIdSet.isEmpty()) { // 将签约用户ID集合和所属用户ID集合转为字符串 String belongUserString = String.join(",", belongUserIdSet.stream().map(Object::toString).collect(Collectors.toList())); // 查询签约用户和所属用户的详细信息 @@ -548,10 +556,10 @@ } // 遍历查询结果,将签约用户和所属用户的详细信息添加到商铺信息中 for (MgtShopPageVo shopPageVo : mgtShopPageVoList) { - if (signUserMap!=null&&!signUserMap.isEmpty()&&shopPageVo.getSignUserId() != null) { + if (signUserMap != null && !signUserMap.isEmpty() && shopPageVo.getSignUserId() != null) { shopPageVo.setSignUser(signUserMap.get(shopPageVo.getSignUserId()).getNickName()); } - if (belongUserMap!=null&&!belongUserMap.isEmpty()&&shopPageVo.getBelongUserId() != null) { + if (belongUserMap != null && !belongUserMap.isEmpty() && shopPageVo.getBelongUserId() != null) { shopPageVo.setBelongUser(belongUserMap.get(shopPageVo.getBelongUserId()).getNickName()); shopPageVo.setBelongDept(belongUserMap.get(shopPageVo.getBelongUserId()).getDeptName()); } @@ -563,44 +571,45 @@ /** * 获取商户详情 + * * @param shopId * @return */ @Override - public MgtShopInfoVo getMgtShopInfo(Long shopId){ + public MgtShopInfoVo getMgtShopInfo(Long shopId) { MgtShopInfoVo mgtShopInfoVo = new MgtShopInfoVo(); Shop shop = this.getById(shopId); //基本信息拷贝 - BeanUtils.copyProperties(shop,mgtShopInfoVo); + BeanUtils.copyProperties(shop, mgtShopInfoVo); String shopDetail = mgtShopInfoVo.getShopDetail(); - if(StringUtils.isNotBlank(shopDetail)){ + if (StringUtils.isNotBlank(shopDetail)) { byte[] encodedBytes = Base64.getEncoder().encode(shopDetail.getBytes(StandardCharsets.UTF_8)); shopDetail = new String(encodedBytes, StandardCharsets.UTF_8); mgtShopInfoVo.setShopDetail(shopDetail); } //商户标签 List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId); - if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){ + if (shopRelTagList != null && !shopRelTagList.isEmpty()) { StringJoiner shopTagJs = new StringJoiner(","); - for(ShopRelTag shopRelTag : shopRelTagList){ + for (ShopRelTag shopRelTag : shopRelTagList) { shopTagJs.add(shopRelTag.getTagId().toString()); } mgtShopInfoVo.setShopTagIds(shopTagJs.toString()); } - if(mgtShopInfoVo.getBelongUserId()!=null){ + if (mgtShopInfoVo.getBelongUserId() != null) { SysUser sysUser = sysUserService.getSysUser(mgtShopInfoVo.getBelongUserId()).getData(); mgtShopInfoVo.setBelongUserName(sysUser.getNickName()); } - if(mgtShopInfoVo.getBelongShopId()!=null){ + if (mgtShopInfoVo.getBelongShopId() != null) { Shop belongShop = this.getByShopId(mgtShopInfoVo.getBelongShopId()); mgtShopInfoVo.setBelongShopName(belongShop.getShopName()); } //商户关联用户 List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId); - if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){ + if (shopRelUserList != null && !shopRelUserList.isEmpty()) { StringJoiner shopUserJs = new StringJoiner(","); StringJoiner shopUserNameJs = new StringJoiner(","); - for(ShopRelUser shopRelUser : shopRelUserList){ + for (ShopRelUser shopRelUser : shopRelUserList) { shopUserJs.add(shopRelUser.getUserId().toString()); shopUserNameJs.add(shopRelUser.getUserName()); } @@ -609,12 +618,12 @@ } //商户图片 List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId); - if(shopFileList!=null&&!shopFileList.isEmpty()){ + if (shopFileList != null && !shopFileList.isEmpty()) { StringJoiner shopBannerJs = new StringJoiner(","); - for(ShopFile shopFile : shopFileList){ - if(shopFile.getFileType()==1){ + for (ShopFile shopFile : shopFileList) { + if (shopFile.getFileType() == 1) { mgtShopInfoVo.setShopPicture(shopFile.getFileUrl()); - }else{ + } else { shopBannerJs.add(shopFile.getFileUrl()); } } @@ -628,22 +637,23 @@ /** * 修改商户标签 + * * @param mgtEditShopTagDto */ @Override - public void editShopTag(MgtEditShopTagDto mgtEditShopTagDto){ + public void editShopTag(MgtEditShopTagDto mgtEditShopTagDto) { Long shopId = Long.valueOf(mgtEditShopTagDto.getId()); String shopTagIds = mgtEditShopTagDto.getShopTagIds(); String shopTags = null; //删除以前的标签 shopRelTagService.deleteByShopId(shopId); - if(StringUtils.isNotBlank(shopTagIds)){ + if (StringUtils.isNotBlank(shopTagIds)) { ShopRelTag shopRelTag; SysTag sysTag; Long tagId; String[] shopTagIdArray = shopTagIds.split(","); StringJoiner shopTagSj = new StringJoiner(","); - for(String str : shopTagIdArray){ + for (String str : shopTagIdArray) { tagId = Long.valueOf(str); sysTag = configService.getSysTag(tagId).getData(); shopRelTag = new ShopRelTag(); @@ -662,17 +672,17 @@ /** - * @description 转移客户 - * @author jqs - * @date 2023/6/28 16:36 * @param mgtTransferShopDto - * @return void + * @return void + * @description 转移客户 + * @author jqs + * @date 2023/6/28 16:36 */ @Override - public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){ + public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto) { Shop shop = this.getByShopId(mgtTransferShopDto.getShopId()); - if(shop.getBelongUserId()!=null){ - if(shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())){ + if (shop.getBelongUserId() != null) { + if (shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())) { throw new ServiceException(AppErrorConstant.TRANS_NOT_MYSELF); } ShopTransferRecord shopTransferRecord = new ShopTransferRecord(); @@ -699,24 +709,25 @@ /** * 获取附近门店 + * * @param appNearbyShopDto * @return */ @Override - public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ + public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto, Member member) { AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); Shop shop = null; //获取附近商户 - if(member!=null&&member.getRelationShopId()!=null&&member.getBindingFlag()==1){ + if (member != null && member.getRelationShopId() != null && member.getBindingFlag() == 1) { //获取绑定商户 shop = this.getById(member.getRelationShopId()); - }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ + } else if (StringUtils.isNotBlank(appNearbyShopDto.getLatitude()) && StringUtils.isNotBlank(appNearbyShopDto.getLongitude())) { AppNearShopVo appNearShopVo = shopMapper.getNearbyShop(appNearbyShopDto); shop = this.getById(appNearShopVo.getShopId()); - }else{ + } else { return appNearbyShopVo; } - if(member!=null&&member.getBindingFlag()!=1){ + if (member != null && member.getBindingFlag() != 1) { AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); appMemberBindingDto.setShopId(shop.getShopId()); appMemberBindingDto.setShopName(shop.getShopName()); @@ -726,36 +737,36 @@ } appNearbyShopVo.setShopId(shop.getShopId()); appNearbyShopVo.setShopName(shop.getShopName()); - appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); + appNearbyShopVo.setShopAddress(shop.getShopAreaName() + shop.getShopAddress()); appNearbyShopVo.setShopLatitude(shop.getShopLatitude()); appNearbyShopVo.setShopLongitude(shop.getShopLongitude()); return appNearbyShopVo; } /** - * * @param shopId * @return */ @Override - public Shop getByShopId(Long shopId){ + public Shop getByShopId(Long shopId) { LambdaQueryWrapper<Shop> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Shop::getDelFlag, 0).eq(Shop::getShopId, shopId); - Shop shop = this.getOne(queryWrapper,false); + Shop shop = this.getOne(queryWrapper, false); return shop; } /** * 获取获取员工端首页统计 + * * @param userId * @return */ @Override - public StaffHomeShopTotalVo getStaffHomeTotal(Long userId){ + public StaffHomeShopTotalVo getStaffHomeTotal(Long userId) { List<Long> userIds = null; List<Long> shopIds = null; //如果是leader 查询leader下面所有的员工下的所有shopId - if(remoteSysStaffService.isLeader()){ + if (remoteSysStaffService.isLeader()) { userIds = sysUserService.getUserIdsByDept(userId).getData(); //根据用户所有id查询关联的商户id MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); @@ -763,7 +774,7 @@ shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); Shop shop = this.getShopByBelongUserId(userId); shopIds.add(shop.getShopId()); - }else { + } else { //普通员工查询商户归属的shopId Shop shop = this.getShopByBelongUserId(userId); shopIds.add(shop.getShopId()); @@ -776,22 +787,24 @@ staffHomeShopTotalVo.setShopTask(shopTaskCount); return staffHomeShopTotalVo; } + /** * 获取商户端 + * * @param merBaseDto * @return */ @Override - public MerHomeShopTotalVo getMerHomeTotal(MerBaseDto merBaseDto){ + 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())){ + if (!shopId.equals(merBaseDto.getShopId())) { String userKey = SecurityUtils.getUserKey(); - redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); - throw new ServiceException("登录状态已过期",401); + redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + userKey); + throw new ServiceException("登录状态已过期", 401); } merHomeShopTotalVo.setShopId(shopId); Shop shop = this.getById(shopId); @@ -812,26 +825,28 @@ /** * 获取商户绑定代理商 + * * @param page * @param merAgencyPageDto * @return */ @Override - public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto){ + public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto) { List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto); return merAgencyPageVoList; } /** * 处理商户员工 + * * @param shopId * @param sysUser */ - private void handleShopStaff(Long shopId,SysUser sysUser){ + private void handleShopStaff(Long shopId, SysUser sysUser) { ShopStaff shopStaff = shopStaffService.getByUserId(sysUser.getUserId()); - if(shopStaff!=null){ + if (shopStaff != null) { shopStaff.setShopId(shopId); - }else{ + } else { String staffId = IdUtils.simpleUUID(); shopStaff = new ShopStaff(); shopStaff.setStaffId(staffId); @@ -847,42 +862,42 @@ } /** - * @description 平台获取商户分成列表 - * @author jqs - * @date 2023/6/8 9:25 * @param page * @param mgtShopProportionPageDto - * @return List<MgtShopProportionPageVo> + * @return List<MgtShopProportionPageVo> + * @description 平台获取商户分成列表 + * @author jqs + * @date 2023/6/8 9:25 */ @Override - public List<MgtShopProportionPageVo> pageMgtShopProportion(Page page, MgtShopProportionPageDto mgtShopProportionPageDto){ - return shopMapper.pageMgtShopProportion(page,mgtShopProportionPageDto); + public List<MgtShopProportionPageVo> pageMgtShopProportion(Page page, MgtShopProportionPageDto mgtShopProportionPageDto) { + return shopMapper.pageMgtShopProportion(page, mgtShopProportionPageDto); } /** - * @description 删除商户标签 - * @author jqs - * @date 2023/6/8 15:53 * @param shopTag - * @return void + * @return void + * @description 删除商户标签 + * @author jqs + * @date 2023/6/8 15:53 */ @Override - public void deleteShopTag(String shopTag){ + public void deleteShopTag(String shopTag) { shopMapper.deleteShopTag(shopTag); } /** - * @description 通过code获取shopId - * @author jqs - * @date 2023/6/9 16:40 * @param mgtShopIdByCodeDto - * @return MgtShopIdByCodeVo + * @return MgtShopIdByCodeVo + * @description 通过code获取shopId + * @author jqs + * @date 2023/6/9 16:40 */ @Override - public MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto){ + public MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto) { MgtShopIdByCodeVo mgtShopIdByCodeVo = new MgtShopIdByCodeVo(); List<Long> shopIdList = shopMapper.getShopIdByCode(mgtShopIdByCodeDto); - if(shopIdList!=null&&!shopIdList.isEmpty()){ + if (shopIdList != null && !shopIdList.isEmpty()) { String shopIdStr = shopIdList.stream() .map(Object::toString) .collect(Collectors.joining(",")); @@ -892,93 +907,97 @@ } /** - * @description 获取商户list - * @author jqs - * @date 2023/6/12 14:37 * @param mgtShopListDto - * @return List<MgtShopListSimpleVo> + * @return List<MgtShopListSimpleVo> + * @description 获取商户list + * @author jqs + * @date 2023/6/12 14:37 */ @Override - public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ + public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto) { return shopMapper.listMgtShopSimpleVo(mgtShopListDto); } /** - * @description 通过id获取商户列表 - * @author jqs - * @date 2023/6/14 17:53 * @param shopIds - * @return List<MgtShopListSimpleVo> + * @return List<MgtShopListSimpleVo> + * @description 通过id获取商户列表 + * @author jqs + * @date 2023/6/14 17:53 */ @Override - public List<MgtSimpleShopVo> listShopSimpleVoByIds(String shopIds){ + public List<MgtSimpleShopVo> listShopSimpleVoByIds(String shopIds) { return shopMapper.listShopSimpleVoByIds(shopIds); } /** - * @description pageMgtShopByCityCode * @param page * @param mgtShopByCodePageDto * @return List<MgtSimpleShopVo> + * @description pageMgtShopByCityCode * @author jqs34 * @date 2023/6/14 20:56 */ @Override - public List<MgtSimpleShopVo> pageMgtShopByCityCode(Page page, MgtShopByCodePageDto mgtShopByCodePageDto){ + public List<MgtSimpleShopVo> pageMgtShopByCityCode(Page page, MgtShopByCodePageDto mgtShopByCodePageDto) { return shopMapper.pageMgtShopByCityCode(page, mgtShopByCodePageDto); } /** - * @description pageMgtShopAuth * @param page * @param mgtShopAuthPageDto * @return List<MgtShopAuthPageVo> + * @description pageMgtShopAuth * @author jqs34 * @date 2023/6/14 23:01 */ @Override - public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto){ + public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto) { return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto); } /** - * @description boardShopTotal * @param * @return MgtBulletinBoardVo + * @description boardShopTotal * @author jqs34 * @date 2023/6/18 16:59 */ @Override - public MgtBulletinBoardVo boardShopTotal(){ + public MgtBulletinBoardVo boardShopTotal() { MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(); return mgtBulletinBoardVoShop; } /** - * @description 商户进件 - * @author jqs - * @date 2023/6/19 11:02 * @param mgtShopAuthDto - * @return void + * @return void + * @description 商户进件 + * @author jqs + * @date 2023/6/19 11:02 */ @Override public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException { ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId()); Shop shop = this.getByShopId(shopAuthentication.getShopId()); String applyNumber = IdUtils.simpleUUID(); - BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication); + BeanUtils.copyProperties(mgtShopAuthDto, shopAuthentication); shopAuthentication.setApplyNumber(applyNumber); - shopAuthentication.setAuditStatus(3); + // 提交申请 -> 资料校验中 + shopAuthentication.setAuditStatus(1); + + ApplymentsResult result = wechatPayUtils.ecommerceApply(shopAuthentication, applyNumber, shop); + // 微信支付申请单号 + shopAuthentication.setApplymentId(result.getApplymentId()); shopAuthenticationService.saveOrUpdate(shopAuthentication); - wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); } /** - * @description 获取平台商户统计 - * @author jqs - * @date 2023/6/21 16:25 * @param mgtBasePlatformDto - * @return MgtPlTotalShopTotalVo + * @return MgtPlTotalShopTotalVo + * @description 获取平台商户统计 + * @author jqs + * @date 2023/6/21 16:25 */ @Override public MgtPlTotalShopTotalVo getPlTotalShopTotal(MgtBasePlatformDto mgtBasePlatformDto) { @@ -1049,15 +1068,15 @@ } /** - * @description 去除空字符串 - * @author jqs - * @date 2023/6/27 17:35 * @param MgtMapIntTotalVos - * @return List<MgtMapIntTotalVo> + * @return List<MgtMapIntTotalVo> + * @description 去除空字符串 + * @author jqs + * @date 2023/6/27 17:35 */ - private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos){ + private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos) { for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { - if(StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())){ + if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { MgtMapIntTotalVos.remove(i); } } @@ -1065,28 +1084,28 @@ } /** - * @description 获取平台统计shopId * @param mgtBasePlatformDto * @return List<Long> + * @description 获取平台统计shopId * @author jqs34 * @date 2023/6/23 14:12 */ @Override - public List<Long> listShopIdByPlTotal(MgtBasePlatformDto mgtBasePlatformDto){ + public List<Long> listShopIdByPlTotal(MgtBasePlatformDto mgtBasePlatformDto) { List<Long> shopIdList = shopMapper.listShopIdByPlTotal(mgtBasePlatformDto); return shopIdList; } /** - * @description 获取商户审核资料 - * @author jqs - * @date 2023/6/25 10:37 * @param authId - * @return MgtShopAuthGetVo + * @return MgtShopAuthGetVo + * @description 获取商户审核资料 + * @author jqs + * @date 2023/6/25 10:37 */ @Override - public MgtShopAuthGetVo getMgtShopAuth(String authId){ + public MgtShopAuthGetVo getMgtShopAuth(String authId) { MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo(); ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo); @@ -1094,14 +1113,14 @@ } /** - * @description 获取商户验证信息 - * @author jqs - * @date 2023/6/26 10:38 * @param authId - * @return MgtShopAuthCodeVo + * @return MgtShopAuthCodeVo + * @description 获取商户验证信息 + * @author jqs + * @date 2023/6/26 10:38 */ @Override - public MgtShopAuthCodeVo getMgtShopAuthCode(String authId){ + public MgtShopAuthCodeVo getMgtShopAuthCode(String authId) { MgtShopAuthCodeVo mgtShopAuthCodeVo = new MgtShopAuthCodeVo(); ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); mgtShopAuthCodeVo.setSignUrl(shopAuthentication.getSignUrl()); @@ -1111,14 +1130,14 @@ /** - * @description 获取商户下属代理商 - * @author jqs - * @date 2023/7/3 17:27 * @param shopId - * @return List<Long> + * @return List<Long> + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 17:27 */ @Override - public List<Long> listShopIdByShopId(Long shopId){ + public List<Long> listShopIdByShopId(Long shopId) { List<Long> shopIds = shopMapper.selectList( new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId) ).stream().map(Shop::getShopId).collect(Collectors.toList()); @@ -1126,17 +1145,17 @@ } /** - * @description 获取商户下属代理商 - * @author jqs - * @date 2023/7/3 18:18 * @param shopId - * @return List<MgtSimpleShopVo> + * @return List<MgtSimpleShopVo> + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 18:18 */ @Override - public List<MgtSimpleShopVo> listShopByShop(Long shopId){ + public List<MgtSimpleShopVo> listShopByShop(Long shopId) { List<MgtSimpleShopVo> simpleShopVoList = shopMapper.selectList( - new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId)). - stream().map(shop->{ + new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getBelongShopId, shopId)). + stream().map(shop -> { MgtSimpleShopVo simpleShopVo = new MgtSimpleShopVo(); simpleShopVo.setShopId(shop.getShopId()); simpleShopVo.setShopName(shop.getShopName()); @@ -1146,59 +1165,59 @@ } /** - * @description 获取用户管理商户 - * @author jqs - * @date 2023/7/14 10:00 * @param userId - * @return Shop + * @return Shop + * @description 获取用户管理商户 + * @author jqs + * @date 2023/7/14 10:00 */ @Override - public Shop getShopByBelongUserId(Long userId){ + public Shop getShopByBelongUserId(Long userId) { LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(Shop::getDelFlag,0); - queryWrapper.eq(Shop::getBelongUserId,userId); - return this.getOne(queryWrapper,false); + queryWrapper.eq(Shop::getDelFlag, 0); + queryWrapper.eq(Shop::getBelongUserId, userId); + return this.getOne(queryWrapper, false); } /** - * @description 员工端获取商户列表 - * @author jqs - * @date 2023/7/14 15:26 * @param page * @param staffShopPageDto - * @return List<StaffShopPageVo> + * @return List<StaffShopPageVo> + * @description 员工端获取商户列表 + * @author jqs + * @date 2023/7/14 15:26 */ @Override - public List<StaffShopPageVo> pageStaffShop(Page page, StaffShopPageDto staffShopPageDto){ + public List<StaffShopPageVo> pageStaffShop(Page page, StaffShopPageDto staffShopPageDto) { List<StaffShopPageVo> staffShopPageVoList = shopMapper.pageStaffShop(page, staffShopPageDto); return staffShopPageVoList; } /** - * @description 获取员工端商户数量统计 - * @author jqs - * @date 2023/7/14 15:51 * @param userId - * @return StaffShopSimpleTotalVo + * @return StaffShopSimpleTotalVo + * @description 获取员工端商户数量统计 + * @author jqs + * @date 2023/7/14 15:51 */ @Override - public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ + public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId) { List<Long> userIdList = null; - if(remoteSysStaffService.isLeader()){ + if (remoteSysStaffService.isLeader()) { userIdList = sysUserService.getUserIdsByDept(userId).getData(); userIdList.add(userId); - }else { + } else { userIdList.add(userId); } return shopMapper.getStaffSimpleTotal(userIdList); } /** - * @description 员工端获取商户详情 - * @author jqs - * @date 2023/7/14 18:32 * @param shopId - * @return StaffShopInfoGetVo + * @return StaffShopInfoGetVo + * @description 员工端获取商户详情 + * @author jqs + * @date 2023/7/14 18:32 */ @Override public StaffShopInfoGetVo getStaffShopInfo(Long shopId) { @@ -1277,14 +1296,14 @@ } /** - * @description 修改商户评估 - * @author jqs - * @date 2023/7/15 10:18 * @param staffShopEstimateEditDto - * @return void + * @return void + * @description 修改商户评估 + * @author jqs + * @date 2023/7/15 10:18 */ @Override - public void editShopEstimate(StaffShopEstimateEditDto staffShopEstimateEditDto){ + public void editShopEstimate(StaffShopEstimateEditDto staffShopEstimateEditDto) { Shop shop = new Shop(); shop.setShopId(staffShopEstimateEditDto.getShopId()); shop.setSupportingCapacityFlag(staffShopEstimateEditDto.getSupportingCapacityFlag()); @@ -1301,18 +1320,18 @@ } /** - * @description 修改店铺扩展联系人 - * @author jqs - * @date 2023/7/15 11:06 * @param staffShopECEditDto - * @return void + * @return void + * @description 修改店铺扩展联系人 + * @author jqs + * @date 2023/7/15 11:06 */ @Override - public void editExtendContacts(StaffShopECEditDto staffShopECEditDto){ + public void editExtendContacts(StaffShopECEditDto staffShopECEditDto) { Shop shop = new Shop(); String extendContacts = null; List<ExtendContactsVo> extendContactsVoList = staffShopECEditDto.getExtendContactsVoList(); - if(extendContactsVoList!=null&&!extendContactsVoList.isEmpty()){ + if (extendContactsVoList != null && !extendContactsVoList.isEmpty()) { extendContacts = JSON.toJSONString(extendContactsVoList); } shop.setExtendContacts(extendContacts); @@ -1323,14 +1342,14 @@ } /** - * @description 修改店铺状态 - * @author jqs - * @date 2023/7/15 11:51 * @param staffShopCCEditDto - * @return void + * @return void + * @description 修改店铺状态 + * @author jqs + * @date 2023/7/15 11:51 */ @Override - public void editShopCustomStatus(StaffShopCCEditDto staffShopCCEditDto){ + public void editShopCustomStatus(StaffShopCCEditDto staffShopCCEditDto) { Shop shop = new Shop(); shop.setShopCustomStatus(staffShopCCEditDto.getShopCustomStatus()); shop.setShopId(staffShopCCEditDto.getShopId()); @@ -1338,4 +1357,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