From 2671a7eb25334a66929965e85ddc65c301a2424d Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 17 Apr 2023 18:15:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=9C=E8=AE=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bms/controller/BmsChannelController.java | 29 +++++++++++++++++++ .../controller/BmsMasterUserController.java | 16 ++++++---- .../impl/BmsChannelPointServiceImpl.java | 19 +++++++++--- .../service/impl/BmsRegionServiceImpl.java | 2 +- .../his/entity/HisUserChannelPoint.java | 2 +- .../impl/HisUserChannelPointServiceImpl.java | 19 +++++++----- 6 files changed, 68 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java index 9f928bd9..35ff5280 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java @@ -7,9 +7,14 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.common.MasterUserType; import com.qs.serve.modules.bms.entity.BmsChannelPoint; +import com.qs.serve.modules.bms.entity.BmsMasterUser; import com.qs.serve.modules.bms.entity.BmsSupplierVisitType; +import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper; import com.qs.serve.modules.bms.service.BmsChannelPointService; +import com.qs.serve.modules.his.entity.HisUserChannelPoint; +import com.qs.serve.modules.his.service.HisUserChannelPointService; import com.qs.serve.modules.tbs.entity.TbsActivityChannel; import com.qs.serve.modules.tbs.service.TbsActivityChannelService; import lombok.AllArgsConstructor; @@ -38,6 +43,8 @@ public class BmsChannelController { private BmsChannelService bmsChannelService; private BmsChannelPointService bmsChannelPointService; private TbsActivityChannelService activityChannelService; + private HisUserChannelPointService hisUserChannelPointService; + private BmsMasterUserMapper bmsMasterUserMapper; /** * 翻页 @@ -87,6 +94,16 @@ public class BmsChannelController { return a; }).collect(Collectors.toList()); bmsChannelPointService.updateBatchById(channelPoints); + + LambdaQueryWrapper mgrLqw = new LambdaQueryWrapper<>(); + mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Channel); + mgrLqw.eq(BmsMasterUser::getTargetId,ori.getId()); + List masterUsers = bmsMasterUserMapper.selectList(mgrLqw); + for (BmsMasterUser masterUser : masterUsers) { + masterUser.setChannelName(param.getChannelName()); + bmsMasterUserMapper.updateById(masterUser); + } + } return R.isTrue(result); } @@ -118,6 +135,18 @@ public class BmsChannelController { if(activityChannelService.count()>0){ return R.error("活动含当前渠道,删除失败"); } + + //删除相关的网点授权 + LambdaQueryWrapper mgrLqw = new LambdaQueryWrapper<>(); + mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Channel); + mgrLqw.eq(BmsMasterUser::getTargetId,id); + bmsMasterUserMapper.delete(mgrLqw); + + LambdaQueryWrapper lqwPoint = new LambdaQueryWrapper<>(); + lqwPoint.eq(HisUserChannelPoint::getSourceType,3); + lqwPoint.eq(HisUserChannelPoint::getSourceIds,id); + hisUserChannelPointService.remove(lqwPoint); + boolean result = bmsChannelService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java index 68fb0bdb..4516d77d 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java @@ -246,15 +246,19 @@ public class BmsMasterUserController { List idsLong = StringUtils.splitIdLong(ids); List masterUserList = bmsMasterUserService.listByIds(idsLong); if(CollectionUtil.isNotEmpty(masterUserList)){ - if(masterUserList.get(0).getType().equals(MasterUserType.Point)){ - List pointIds = masterUserList.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); - List channelPointList = bmsChannelPointService.listByIds(pointIds); - for (BmsChannelPoint channelPoint : channelPointList) { - hisUserChannelPointService.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds()); + for (BmsMasterUser masterUser : masterUserList) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if(masterUser.getType().equals(MasterUserType.Point)){ + lqw.eq(HisUserChannelPoint::getPointId,masterUser.getTargetId()); + lqw.eq(HisUserChannelPoint::getSourceType,0); + hisUserChannelPointService.remove(lqw); + }else if (masterUser.getType().equals(MasterUserType.Channel)){ + lqw.eq(HisUserChannelPoint::getSourceIds,masterUser.getTargetId()); + lqw.eq(HisUserChannelPoint::getSourceType,3); + hisUserChannelPointService.remove(lqw); } } } - boolean result = bmsMasterUserService.removeByIds(idsLong); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java index e1e274f5..5d24443e 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java @@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.CopierUtil; -import com.qs.serve.modules.bms.entity.BmsChannel; -import com.qs.serve.modules.bms.entity.BmsRegion; -import com.qs.serve.modules.bms.entity.BmsRegion2; +import com.qs.serve.modules.bms.common.MasterUserType; +import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; +import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper; import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegionService; @@ -15,7 +15,6 @@ import com.qs.serve.modules.his.service.HisUserChannelPointService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; @@ -36,6 +35,9 @@ public class BmsChannelPointServiceImpl extends ServiceImpl mgrLqw = new LambdaQueryWrapper<>(); + mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Point); + mgrLqw.eq(BmsMasterUser::getTargetId,channelPoint.getId()); + List masterUserList = bmsMasterUserMapper.selectList(mgrLqw); + for (BmsMasterUser masterUser : masterUserList) { + masterUser.setPointName(channelPoint.getPointName()); + masterUser.setPointCode(channelPoint.getPointCode()); + bmsMasterUserMapper.updateById(masterUser); + } hisUserChannelPointService.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds()); return true; } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java index e9a30545..732e7c61 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java @@ -123,7 +123,7 @@ public class BmsRegionServiceImpl extends ServiceImpl @Override public List listChildRightLike(String parentIdPath) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.likeRight(BmsRegion::getPathIds,parentIdPath); + lqw.likeRight(BmsRegion::getPathIds,parentIdPath+"_"); return this.list(lqw); } diff --git a/src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java b/src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java index 247f4bb2..b87c9850 100644 --- a/src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java +++ b/src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java @@ -38,7 +38,7 @@ public class HisUserChannelPoint implements Serializable { /** 网点ID */ private Long pointId; - /** 来源类型:0->我管理的;1->行政区域;2->销售区域 */ + /** 来源类型:0->网点负责人;1->行政区域;2->销售区域;3->渠道负责人 */ @NotNull(message = "来源类型:0->我管理的;1->行政区域;2->销售区域不能为空") private Integer sourceType; diff --git a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java index e8de577d..614c7462 100644 --- a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java @@ -71,7 +71,6 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl masterUserLqw = new LambdaQueryWrapper<>(); masterUserLqw.eq(BmsMasterUser::getType, MasterUserType.Point); masterUserLqw.eq(BmsMasterUser::getTargetId,pointId); @@ -219,16 +218,22 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl getPointIdsByRegionIds(String regionIds,boolean isSaleRegion){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(BmsChannelPoint::getId); if(isSaleRegion){ - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.likeRight(BmsChannelPoint::getSaleRegionPathIds,regionIds); - lqw.select(BmsChannelPoint::getId); + lqw.and(a->{ + a.likeRight(BmsChannelPoint::getSaleRegionPathIds,regionIds+"_") + .or() + .eq(BmsChannelPoint::getSaleRegionPathIds,regionIds); + }); List channelPoints = channelPointMapper.selectList(lqw); return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList()); }else { - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.likeRight(BmsChannelPoint::getBizRegionPathIds,regionIds); - lqw.select(BmsChannelPoint::getId); + lqw.and(a->{ + a.likeRight(BmsChannelPoint::getBizRegionPathIds,regionIds+"_") + .or() + .eq(BmsChannelPoint::getBizRegionPathIds,regionIds); + }); List channelPoints = channelPointMapper.selectList(lqw); return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList()); }