From 32bd52ec49d25021b6a35d8ee5f32c70df788165 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期三, 05 七月 2023 21:30:21 +0800 Subject: [PATCH] bug 用户端 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 140 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 121 insertions(+), 19 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 6a6339d..dfe1539 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 @@ -7,10 +7,10 @@ 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.shop.domain.dto.*; -import com.ruoyi.shop.domain.pojo.ShopTotal; import com.ruoyi.shop.domain.pojo.shop.*; import com.ruoyi.shop.domain.pojo.task.ShopFile; import com.ruoyi.shop.domain.vo.*; @@ -29,7 +29,6 @@ import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.service.RemoteOrderService; import com.ruoyi.system.api.service.RemoteUserService; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -98,6 +97,13 @@ @Resource private MemberTaskService memberTaskService; + @Resource + private ShopTransferRecordService shopTransferRecordService; + + @Resource + private RemoteUserService remoteUserService; + + /** * 获取商户详情 * @param shopId @@ -142,6 +148,32 @@ Shop shop = new Shop(); Boolean newShop = false; BigDecimal zeroBig = BigDecimal.ZERO; + //验证关联账号唯一 + String relUserIds = mgtEditShopDto.getRelUserIds(); + if(StringUtils.isNotBlank(relUserIds)) { + String[] relUserIdArray = relUserIds.split(","); + ShopRelUser shopRelUser; + Long userId; + if(mgtEditShopDto.getShopId()!=null){ + for (String str : relUserIdArray) { + userId = Long.valueOf(str); + shopRelUser = shopRelUserService.getByUserId(userId); + if(shopRelUser!=null&&!shopRelUser.getShopId().equals(mgtEditShopDto.getShopId())){ + throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); + } + } + }else { + for (String str : relUserIdArray) { + userId = Long.valueOf(str); + shopRelUser = shopRelUserService.getByUserId(userId); + if(shopRelUser!=null){ + throw new ServiceException(AppErrorConstant.SHOP_USER_DOUBLE); + } + } + } + + } + //验证商户名唯一 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())){ @@ -171,12 +203,12 @@ newShop = true; } BeanUtils.copyProperties(mgtEditShopDto,shop); - this.saveOrUpdate(shop); //商户编号 if(mgtEditShopDto.getShopId()==null){ String shopNo = CodeFactoryUtil.getShopNo(); shop.setShopNumber(shopNo); } + this.saveOrUpdate(shop); //商户标签 String shopTagIds = mgtEditShopDto.getShopTagIds(); if(StringUtils.isNotBlank(shopTagIds)){ @@ -199,13 +231,13 @@ this.saveOrUpdate(shop); } //商户归属员工 - if(shop.getBelongUserId()!=null){ + /*if(shop.getBelongUserId()!=null){ SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData(); handleShopStaff(shop.getShopId(),belongSysUser); - } + }*/ //商户关联人员 - String relUserIds = mgtEditShopDto.getRelUserIds(); if(StringUtils.isNotBlank(relUserIds)){ + shopStaffService.clearShopStaffRelation(shop.getShopId()); String[] relUserIdArray = relUserIds.split(","); ShopRelUser shopRelUser; Long userId; @@ -279,7 +311,7 @@ shopTotal.setTotalActivityCount(0); shopTotal.setTotalOrder(0); shopTotal.setTotalCycleOrder(0); - shopTotal.setToltaExperienceOrder(0); + shopTotal.setTotalExperienceOrder(0); shopTotal.setTotalServiceOrder(0); shopTotal.setTotalGoodsOrder(0); shopTotal.setTotalServiceCount(0); @@ -522,6 +554,40 @@ Shop shop = this.getById(shopId); shop.setShopTags(shopTags); this.saveOrUpdate(shop); + } + + + /** + * @description 转移客户 + * @author jqs + * @date 2023/6/28 16:36 + * @param mgtTransferShopDto + * @return void + */ + @Override + public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){ + Shop shop = this.getByShopId(mgtTransferShopDto.getShopId()); + if(shop.getBelongUserId()!=null){ + ShopTransferRecord shopTransferRecord = new ShopTransferRecord(); + shopTransferRecord.setDelFlag(0); + shopTransferRecord.setShopId(shop.getShopId()); + shopTransferRecord.setBeforeUserId(shop.getBelongUserId()); + shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId()); + shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark()); + shopTransferRecordService.save(shopTransferRecord); + shopRelUserService.deleteByUserId(shop.getBelongUserId()); + } + shop.setBelongUserId(mgtTransferShopDto.getTransferUserId()); + this.saveOrUpdate(shop); + ShopRelUser shopRelUser = new ShopRelUser(); + shopRelUser.setDelFlag(0); + shopRelUser.setShopId(shop.getShopId()); + shopRelUser.setUserId(mgtTransferShopDto.getTransferUserId()); + SysUser sysUser = remoteUserService.getSysUser(mgtTransferShopDto.getTransferUserId()).getData(); + shopRelUser.setUserMobile(sysUser.getPhonenumber()); + shopRelUser.setUserDeptId(sysUser.getDeptId()); + shopRelUser.setUserName(sysUser.getNickName()); + shopRelUserService.save(shopRelUser); } /** @@ -794,25 +860,25 @@ plTotalShopTotalVo.setAgeValue(shopTotalMemberVo.getAgeValue()); } //获取商户类型 - List<MgtMapTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopTypeTotal = shopMapper.listShopTypeTotal(mgtBasePlatformDto); if (shopTypeTotal != null && shopTypeTotal.size() > 0) { shopTypeTotal = listRemoveNull(shopTypeTotal); plTotalShopTotalVo.setShopTypeVos(shopTypeTotal); } //获取商户状态 - List<MgtMapTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopStatusTotal = shopMapper.listShopStatusTotal(mgtBasePlatformDto); if (shopStatusTotal != null && shopStatusTotal.size() > 0) { shopStatusTotal = listRemoveNull(shopStatusTotal); plTotalShopTotalVo.setShopStatusVos(shopStatusTotal); } //获取区域排名 - List<MgtMapTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopAreaRank = shopMapper.listShopAreaRank(mgtBasePlatformDto); if (shopAreaRank != null && shopAreaRank.size() > 0) { shopAreaRank = listRemoveNull(shopAreaRank); plTotalShopTotalVo.setAreaRankVos(shopAreaRank); } //获取销售排名 - List<MgtMapTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopSalesRank = shopMapper.listShopSalesRank(mgtBasePlatformDto); if (shopSalesRank != null && shopSalesRank.size() > 0) { String[] shopSalesKey = new String[shopSalesRank.size()]; Integer[] shopSalesValue = new Integer[shopSalesRank.size()]; @@ -825,7 +891,7 @@ plTotalShopTotalVo.setShopSalesRankValue(shopSalesValue); } //获取推荐 - List<MgtMapTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto); + List<MgtMapIntTotalVo> shopRecommendRank = shopMapper.listShopRecommendRank(mgtBasePlatformDto); if (shopRecommendRank != null && shopRecommendRank.size() > 0) { shopRecommendRank = listRemoveNull(shopRecommendRank); plTotalShopTotalVo.setShopRecommendVos(shopRecommendRank); @@ -837,16 +903,16 @@ * @description 去除空字符串 * @author jqs * @date 2023/6/27 17:35 - * @param mgtMapTotalVos - * @return List<MgtMapTotalVo> + * @param MgtMapIntTotalVos + * @return List<MgtMapIntTotalVo> */ - private List<MgtMapTotalVo> listRemoveNull(List<MgtMapTotalVo> mgtMapTotalVos){ - for (int i = 0; i < mgtMapTotalVos.size(); i++) { - if(StringUtils.isBlank(mgtMapTotalVos.get(i).getMapKey())){ - mgtMapTotalVos.remove(i); + private List<MgtMapIntTotalVo> listRemoveNull(List<MgtMapIntTotalVo> MgtMapIntTotalVos){ + for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { + if(StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())){ + MgtMapIntTotalVos.remove(i); } } - return mgtMapTotalVos; + return MgtMapIntTotalVos; } /** @@ -893,4 +959,40 @@ mgtShopAuthCodeVo.setLegalValidationUrl(shopAuthentication.getLegalValidationUrl()); return mgtShopAuthCodeVo; } + + + /** + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 17:27 + * @param shopId + * @return List<Long> + */ + @Override + 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()); + return shopIds; + } + + /** + * @description 获取商户下属代理商 + * @author jqs + * @date 2023/7/3 18:18 + * @param shopId + * @return List<MgtSimpleShopVo> + */ + @Override + 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->{ + MgtSimpleShopVo simpleShopVo = new MgtSimpleShopVo(); + simpleShopVo.setShopId(shop.getShopId()); + simpleShopVo.setShopName(shop.getShopName()); + return simpleShopVo; + }).collect(Collectors.toList()); + return simpleShopVoList; + } } -- Gitblit v1.7.1