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 | 125 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 114 insertions(+), 11 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 1eb0023..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,15 +2,19 @@ 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; 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.security.utils.CodeFactoryUtil; +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; @@ -20,6 +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.WechatPayUtils; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.config.SysTag; @@ -104,10 +109,20 @@ private RemoteSysStaffService remoteSysStaffService; @Resource + private RemoteFileService remoteFileService; + + @Resource private ShopTaskService shopTaskService; + + @Resource + private RedisService redisService; + + @Resource + private WechatPayUtils wechatPayUtils; /** * 获取商户详情 + * * @param shopId * @return */ @@ -178,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()); @@ -192,10 +208,17 @@ //清空归属 shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); - }else{ - if(shopSame!=null){ - throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); + 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); + }*/ shop.setDelFlag(0); shop.setShopStatus(3); shop.setCreateTime(new Date()); @@ -213,10 +236,10 @@ shop.setShopDetail(shopDetail); } //商户编号 - if(mgtEditShopDto.getShopId()==null){ + /*if(mgtEditShopDto.getShopId()==null){ String shopNo = CodeFactoryUtil.getShopNo(); shop.setShopNumber(shopNo); - } + }*/ this.saveOrUpdate(shop); //商户标签 String shopTagIds = mgtEditShopDto.getShopTagIds(); @@ -288,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); } } @@ -408,6 +438,7 @@ shop.setFrozenFlag(0); } shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + this.saveOrUpdate(shop); } /** @@ -557,6 +588,14 @@ } mgtShopInfoVo.setShopTagIds(shopTagJs.toString()); } + if(mgtShopInfoVo.getBelongUserId()!=null){ + SysUser sysUser = sysUserService.getSysUser(mgtShopInfoVo.getBelongUserId()).getData(); + mgtShopInfoVo.setBelongUserName(sysUser.getNickName()); + } + 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()){ @@ -634,6 +673,9 @@ public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){ Shop shop = this.getByShopId(mgtTransferShopDto.getShopId()); if(shop.getBelongUserId()!=null){ + if(shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())){ + throw new ServiceException(AppErrorConstant.TRANS_NOT_MYSELF); + } ShopTransferRecord shopTransferRecord = new ShopTransferRecord(); shopTransferRecord.setDelFlag(0); shopTransferRecord.setShopId(shop.getShopId()); @@ -737,14 +779,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()); @@ -759,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; } @@ -914,11 +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); + //wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); } /** @@ -1038,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; } @@ -1286,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