From 2e9c442b4961dc30423e8b8fa1361c45e63ef620 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 16 八月 2023 19:52:00 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 133 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 125 insertions(+), 8 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 d64e238..7d3ae1b 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,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.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,14 +20,13 @@ 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; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.config.SysTag; @@ -35,7 +36,6 @@ import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.service.*; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; @@ -111,6 +111,9 @@ private RemoteSysStaffService remoteSysStaffService; @Resource + private RemoteFileService remoteFileService; + + @Resource private ShopTaskService shopTaskService; @Resource @@ -121,6 +124,7 @@ /** * 获取商户详情 + * * @param shopId * @return */ @@ -166,6 +170,9 @@ //验证关联账号唯一 String relUserIds = mgtEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)) { + if(relUserIds.startsWith(",")){ + relUserIds = relUserIds.substring(1); + } String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; @@ -191,9 +198,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()); @@ -212,9 +220,10 @@ remoteMemberService.updateMemberShopName(mgtMemberShopNameDto); } }else{ - if(shopSame!=null){ + //取消验重 + /*if(shopSame!=null){ throw new ServiceException(AppErrorConstant.SHOP_DOUBLE); - } + }*/ shop.setDelFlag(0); shop.setShopStatus(3); shop.setCreateTime(new Date()); @@ -307,6 +316,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); } } @@ -714,6 +730,20 @@ appMemberBindingDto.setBindingFlag(0); remoteMemberService.updateMemberBinding(appMemberBindingDto); } + //商品图片 + List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shop.getShopId()); + String shopPicture = null; + StringJoiner shopBanners = new StringJoiner(","); + if(shopFileList!=null&&!shopFileList.isEmpty()){ + for(ShopFile shopFile : shopFileList){ + if(shopFile.getFileType()==1){ + shopPicture = shopFile.getFileUrl(); + }else{ + shopBanners.add(shopFile.getFileUrl()); + } + } + } + appNearbyShopVo.setShopPicture(shopPicture); appNearbyShopVo.setShopId(shop.getShopId()); appNearbyShopVo.setShopName(shop.getShopName()); appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); @@ -785,6 +815,11 @@ } merHomeShopTotalVo.setShopId(shopId); Shop shop = this.getById(shopId); + if(shop.getFrozenFlag()==1){ + String userKey = SecurityUtils.getUserKey(); + redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); + throw new ServiceException("商户已被冻结",401); + } merHomeShopTotalVo.setShopType(shop.getShopType()); MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); ShopTotal shopTotal = shopTotalService.getById(shopId); @@ -797,6 +832,8 @@ merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); + merHomeShopTotalVo.setPlatformBirthdayFlag(shop.getPlatformBirthdayFlag()); + merHomeShopTotalVo.setPlatformCouponFlag(shop.getPlatformCouponFlag()); return merHomeShopTotalVo; } @@ -956,11 +993,17 @@ 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("长期"); + } + if(mgtShopAuthDto.getLpIcForeverFlag()!=null&&mgtShopAuthDto.getLpIcForeverFlag()==1){ + mgtShopAuthDto.setLpIcEndDate("长期"); + } BeanUtils.copyProperties(mgtShopAuthDto , shopAuthentication); shopAuthentication.setApplyNumber(applyNumber); shopAuthentication.setAuditStatus(3); shopAuthenticationService.saveOrUpdate(shopAuthentication); - wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); + //wechatPayUtils.ecommerceApply(shopAuthentication,applyNumber,shop); } /** @@ -1080,6 +1123,16 @@ MgtShopAuthGetVo shopAuthGetVo = new MgtShopAuthGetVo(); ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo); + if(shopAuthGetVo.getBlBusinessDeanline().equals("长期")){ + shopAuthGetVo.setBlBusinessFoeverFlag(1); + }else{ + shopAuthGetVo.setBlBusinessFoeverFlag(0); + } + if(shopAuthGetVo.getLpIcEndDate().equals("长期")){ + shopAuthGetVo.setLpIcForeverFlag(1); + }else{ + shopAuthGetVo.setLpIcForeverFlag(0); + } return shopAuthGetVo; } @@ -1328,4 +1381,68 @@ 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); + } + + /** + * @description + * @author jqs + * @date 2023/8/10 22:53 + * @param cityCodes + * @return List<Long> + */ + @Override + public List<Long> listShopIdByCityCode(List<String> cityCodes){ + return shopMapper.listShopIdByCityCode(cityCodes); + } + + @Override + public void authShop(){ + ShopAuthentication shopAuthentication = shopAuthenticationService.getById("8c23fa423beb4673a0edc641a1ca0c23"); + Shop shop = this.getByShopId(shopAuthentication.getShopId()); + try { + wechatPayUtils.ecommerceApply(shopAuthentication,shopAuthentication.getApplyNumber(),shop); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } } -- Gitblit v1.7.1