diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java index 4c523548..268b1acb 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java @@ -8,6 +8,7 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsChannel; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; @@ -40,6 +41,8 @@ public class BmsChannelPointController { private BmsChannelPointService bmsChannelPointService; private BmsChannelService bmsChannelService; + private BmsRegionService bmsRegionService; + private BmsRegion2Service bmsRegion2Service; /** * 翻页 @@ -50,20 +53,43 @@ public class BmsChannelPointController { @PreAuthorize("hasRole('bms:channelPoint:query')") public R> getPage(BmsChannelPoint param){ PageUtil.startPage(); - LambdaQueryWrapper channelPointWrapper = new LambdaQueryWrapper<>(param); - List list = bmsChannelPointService.list(channelPointWrapper); - if(list.size()>0){ - List channelIds = list.stream().map(BmsChannelPoint::getChannelId).distinct().collect(Collectors.toList()); - List channels = bmsChannelService.listByIds(channelIds); - for (BmsChannelPoint channelPoint : list) { - for (BmsChannel channel : channels) { - if(channelPoint.getChannelId().equals(channel.getId())){ - channelPoint.setChannelName(channel.getChannelName()); - break; - } - } - } + LambdaQueryWrapper channelPointWrapper = new LambdaQueryWrapper<>(); + if(StringUtils.hasText(param.getChannelName())){ + channelPointWrapper.like(BmsChannelPoint::getChannelName,param.getChannelName()); + } + if(StringUtils.hasText(param.getPointName())){ + channelPointWrapper.like(BmsChannelPoint::getPointName,param.getPointName()); + } + if(StringUtils.hasText(param.getPointCode())){ + channelPointWrapper.like(BmsChannelPoint::getPointCode,param.getPointCode()); + } + if(StringUtils.hasText(param.getBizRegionPath())){ + channelPointWrapper.like(BmsChannelPoint::getBizRegionPath,param.getBizRegionPath()); + } + if(StringUtils.hasText(param.getSaleRegionPath())){ + channelPointWrapper.like(BmsChannelPoint::getSaleRegionPath,param.getSaleRegionPath()); + } + if(StringUtils.hasText(param.getPointType())){ + channelPointWrapper.eq(BmsChannelPoint::getPointType,param.getPointType()); } + if(StringUtils.hasText(param.getPointLevel())){ + channelPointWrapper.eq(BmsChannelPoint::getPointLevel,param.getPointLevel()); + } + + + List list = bmsChannelPointService.list(channelPointWrapper); +// if(list.size()>0){ +// List channelIds = list.stream().map(BmsChannelPoint::getChannelId).distinct().collect(Collectors.toList()); +// List channels = bmsChannelService.listByIds(channelIds); +// for (BmsChannelPoint channelPoint : list) { +// for (BmsChannel channel : channels) { +// if(channelPoint.getChannelId().equals(channel.getId())){ +// channelPoint.setChannelName(channel.getChannelName()); +// break; +// } +// } +// } +// } return R.byPageHelperList(list); } @@ -77,8 +103,16 @@ public class BmsChannelPointController { @PreAuthorize("hasRole('bms:channelPoint:query')") public R getById(@PathVariable("id") String id){ BmsChannelPoint bmsChannelPoint = bmsChannelPointService.getById(id); - BmsChannel channel = bmsChannelService.getById(bmsChannelPoint.getChannelId()); - bmsChannelPoint.setChannelName(channel.getChannelName()); +// BmsChannel channel = bmsChannelService.getById(bmsChannelPoint.getChannelId()); +// bmsChannelPoint.setChannelName(channel.getChannelName()); + BmsRegion bmsRegion = bmsRegionService.getById(bmsChannelPoint.getSaleRegionId()); + if(bmsRegion!=null){ + bmsChannelPoint.setSaleRegionName(bmsRegion.getName()); + } + BmsRegion2 bmsRegion2 = bmsRegion2Service.getById(bmsChannelPoint.getBizRegionId()); + if(bmsRegion2!=null){ + bmsChannelPoint.setBizRegionName(bmsRegion2.getName()); + } return R.ok(bmsChannelPoint); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index 024ce3d3..218107f0 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -11,10 +11,7 @@ import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; -import com.qs.serve.modules.bms.service.BmsFactoryService; -import com.qs.serve.modules.bms.service.BmsRegion2Service; -import com.qs.serve.modules.bms.service.BmsRuleRegionService; -import com.qs.serve.modules.bms.service.BmsSupplierService; +import com.qs.serve.modules.bms.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.Cacheable; @@ -38,6 +35,7 @@ public class BmsRegion2Controller { private BmsRegion2Service bmsRegion2Service; private BmsSupplierService bmsSupplierService; private BmsRuleRegionService bmsRuleRegionService; + private BmsChannelPointService bmsChannelPointService; /** * 列表 @@ -105,7 +103,8 @@ public class BmsRegion2Controller { BmsRegion2 param = new BmsRegion2(); param.setId(regionBo.getId()); param.setName(regionBo.getName()); - boolean result = bmsRegion2Service.updateById(param); + boolean result = bmsRegion2Service.updateBmsRegion2ById(param); +// bmsRegion2Service.flushLevel(param); return R.isTrue(result); } @@ -120,7 +119,7 @@ public class BmsRegion2Controller { public R updateFactory(@RequestBody BmsRegion2 regionBo){ BmsRegion2 param = new BmsRegion2(); param.setId(regionBo.getId()); - boolean result = bmsRegion2Service.updateById(param); + boolean result = bmsRegion2Service.updateBmsRegion2ById(param); return R.isTrue(result); } @@ -137,8 +136,8 @@ public class BmsRegion2Controller { if(param.getId()==null){ param.setId(IdUtil.getSnowFlakeId()+""); } - bmsRegion2Service.flushLevel(param); - boolean result = bmsRegion2Service.save(param); + boolean result = bmsRegion2Service.saveBmsRegion2(param); +// bmsRegion2Service.flushLevel(param); return R.isTrue(result); } @@ -195,6 +194,9 @@ public class BmsRegion2Controller { if(bmsSupplierService.listByRegionId(id).size()>0){ return R.error("地区含有供应商无法删除"); } + if(bmsChannelPointService.listBySaleRegionId(id).size()>0){ + return R.error("地区含有网点无法删除"); + } //删除商品限制 bmsRuleRegionService.removeByRegionId(Long.parseLong(id)); boolean result = bmsRegion2Service.removeById(id); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index c1b7efde..7cd8d118 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -12,9 +12,7 @@ import com.qs.serve.modules.bms.entity.BmsFactory; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; -import com.qs.serve.modules.bms.service.BmsFactoryService; -import com.qs.serve.modules.bms.service.BmsRuleRegionService; -import com.qs.serve.modules.bms.service.BmsSupplierService; +import com.qs.serve.modules.bms.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.Cacheable; @@ -22,7 +20,6 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import com.qs.serve.modules.bms.entity.BmsRegion; -import com.qs.serve.modules.bms.service.BmsRegionService; import javax.validation.Valid; import java.util.Arrays; @@ -43,6 +40,7 @@ public class BmsRegionController { private BmsSupplierService bmsSupplierService; private BmsRuleRegionService bmsRuleRegionService; private BmsFactoryService bmsFactoryService; + private BmsChannelPointService bmsChannelPointService; /** * 列表 @@ -121,7 +119,8 @@ public class BmsRegionController { BmsRegion param = new BmsRegion(); param.setId(regionBo.getId()); param.setName(regionBo.getName()); - boolean result = bmsRegionService.updateById(param); + boolean result = bmsRegionService.updateBmsRegionById(param); +// bmsRegionService.flushLevel(param); return R.isTrue(result); } @@ -137,7 +136,7 @@ public class BmsRegionController { BmsRegion param = new BmsRegion(); param.setId(regionBo.getId()); param.setFactoryIds(regionBo.getFactoryIds()); - boolean result = bmsRegionService.updateById(param); + boolean result = bmsRegionService.updateBmsRegionById(param); return R.isTrue(result); } @@ -154,8 +153,8 @@ public class BmsRegionController { if(param.getId()==null){ param.setId(IdUtil.getSnowFlakeId()+""); } - bmsRegionService.flushLevel(param); - boolean result = bmsRegionService.save(param); + boolean result = bmsRegionService.saveBmsRegion(param); +// bmsRegionService.flushLevel(param); return R.isTrue(result); } @@ -213,6 +212,9 @@ public class BmsRegionController { if(bmsSupplierService.listByRegionId(id).size()>0){ return R.error("地区含有供应商无法删除"); } + if(bmsChannelPointService.listByBizRegionId(id).size()>0){ + return R.error("地区含有网点无法删除"); + } //删除商品限制 bmsRuleRegionService.removeByRegionId(Long.parseLong(id)); boolean result = bmsRegionService.removeById(id); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java index 3679af54..1293fb35 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java @@ -101,11 +101,19 @@ public class BmsSubjectController { if(subject.getPid()==null||subject.getPid().equals(0L)){ subject.setPid(0L); subject.setLevel(1); + subject.setPathNames(subject.getSubjectName()); + bmsSubjectService.save(subject); }else { BmsSubject parent = bmsSubjectService.getById(subject.getPid()); + BmsSubject ori = bmsSubjectService.getById(subject.getId()); subject.setLevel(parent.getLevel()+1); + subject.setPathNames(parent.getPathNames()+"_"+subject.getSubjectName()); + bmsSubjectService.updateById(subject); + if(!subject.getSubjectName().equals(ori.getSubjectName())) { + bmsSubjectService.updatePathNameByParent(subject); + } } - bmsSubjectService.saveOrUpdate(subject); + } /** diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java index 1f1a2c95..7ff07b2f 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java @@ -33,6 +33,8 @@ public class BmsChannelPoint implements Serializable { @NotNull(message = "渠道名称不能为空") private Long channelId; + private String channelName; + /** 站点编码 */ @NotBlank(message = "站点编码不能为空") @Length(max = 50,message = "站点编码长度不能超过50字") @@ -65,7 +67,7 @@ public class BmsChannelPoint implements Serializable { /** 销售区域id */ @NotNull(message = "销售区域id不能为空") - private Long saleRegionId; + private String saleRegionId; /** 销售区域 */ @NotBlank(message = "销售区域不能为空") @@ -74,7 +76,7 @@ public class BmsChannelPoint implements Serializable { /** 行政区域id */ @NotNull(message = "行政区域id不能为空") - private Long bizRegionId; + private String bizRegionId; /** 行政区域 */ @NotBlank(message = "行政区域不能为空") @@ -116,7 +118,9 @@ public class BmsChannelPoint implements Serializable { private String updateBy; @TableField(exist = false) - private String channelName; + private String saleRegionName; + @TableField(exist = false) + private String bizRegionName; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java index 606b11b9..e090f6ad 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java @@ -34,6 +34,8 @@ public class BmsSubject implements Serializable { @Length(max = 50,message = "科目名称长度不能超过50字") private String subjectName; + private String pathNames; + /** 科目编码 */ @NotBlank(message = "科目编码不能为空") @Length(max = 50,message = "科目编码长度不能超过50字") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java index efae7992..fb94959e 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java @@ -55,11 +55,11 @@ public class BmsChannelPointBo { /** 销售区域id */ @NotNull(message = "销售区域id不能为空") - private Long saleRegionId; + private String saleRegionId; /** 行政区域id */ @NotNull(message = "行政区域id不能为空") - private Long bizRegionId; + private String bizRegionId; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java index 51162773..efde5b84 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java @@ -30,7 +30,7 @@ public class BmsCostCenterBo { private String name; /** 层级 */ - @NotNull(message = "层级不能为空") +// @NotNull(message = "层级不能为空") private Integer level; /** 父级节点 */ diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java index 4163cc2f..2ac55adc 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java @@ -14,6 +14,10 @@ public class BmsMasterUserPointVo extends BmsMasterUser { private String userName; + private String channelName; + + private String channelCode; + private String pointName; private String pointCode; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java index dc09588b..247b0a32 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java @@ -21,6 +21,8 @@ public class BmsSubjectTreeVo extends TreeNode { @Length(max = 50,message = "科目名称长度不能超过50字") private String subjectName; + private String pathNames; + /** 科目编码 */ @NotBlank(message = "科目编码不能为空") @Length(max = 50,message = "科目编码长度不能超过50字") diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java index 1e66b0c6..b90287fa 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java @@ -1,7 +1,10 @@ package com.qs.serve.modules.bms.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bms.entity.BmsChannelPoint; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; /** * 渠道站点 Mapper @@ -10,5 +13,12 @@ import com.qs.serve.modules.bms.entity.BmsChannelPoint; */ public interface BmsChannelPointMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "1") + @Update("update bms_channel_point set sale_region_path = #{saleRegionPath} where sale_region_id = #{saleRegionId}") + int udpateSaleRegionPathBySaleRegionId(@Param("saleRegionPath") String saleRegionPath,String saleRegionId); + + @InterceptorIgnore(tenantLine = "1") + @Update("update bms_channel_point set biz_region_path = #{bizRegionPath} where biz_region_id = #{bizRegionId}") + int udpateBizRegionPathByBizRegionId(@Param("bizRegionPath") String bizRegionPath,String bizRegionId); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java index 80d71fab..970767f0 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java @@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; +import java.util.Collection; +import java.util.List; + /** * 渠道站点 服务接口 * @author YenHex @@ -13,5 +16,8 @@ public interface BmsChannelPointService extends IService { boolean modify(BmsChannelPointBo param); + List listByBizRegionId(String id); + + List listBySaleRegionId(String id); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java index c80bc412..93575c2d 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java @@ -20,9 +20,12 @@ public interface BmsRegion2Service extends IService { BmsRegion2 getByCode(String code); - void flushLevel(BmsRegion2 param); +// void flushLevel(BmsRegion2 param); void flushAllLevel(boolean batchUpdate); + boolean saveBmsRegion2(BmsRegion2 param); + + boolean updateBmsRegion2ById(BmsRegion2 param); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java index 2c11358a..70a62c54 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java @@ -20,9 +20,12 @@ public interface BmsRegionService extends IService { BmsRegion getByCode(String code); - void flushLevel(BmsRegion param); +// void flushLevel(BmsRegion param); void flushAllLevel(boolean batchUpdate); + boolean saveBmsRegion(BmsRegion param); + + boolean updateBmsRegionById(BmsRegion param); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java index 5b4d062c..045087d8 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java @@ -10,5 +10,6 @@ import com.qs.serve.modules.bms.entity.BmsSubject; */ public interface BmsSubjectService extends IService { + void updatePathNameByParent(BmsSubject subject); } 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 d4f0466f..fc29cfae 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 @@ -1,10 +1,14 @@ package com.qs.serve.modules.bms.service.impl; +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.entity.bo.BmsChannelPointBo; +import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; @@ -14,6 +18,8 @@ import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; +import java.util.List; + /** * 渠道站点 服务实现类 * @author YenHex @@ -26,20 +32,54 @@ public class BmsChannelPointServiceImpl extends ServiceImpl listByBizRegionId(String id) { + LambdaQueryWrapper channelPointWrapper = new LambdaQueryWrapper<>(); + channelPointWrapper.eq(BmsChannelPoint::getBizRegionId,id); + List list = this.list(channelPointWrapper); + return list; + } + + @Override + public List listBySaleRegionId(String id) { + LambdaQueryWrapper channelPointWrapper = new LambdaQueryWrapper<>(); + channelPointWrapper.eq(BmsChannelPoint::getSaleRegionId,id); + List list = this.list(channelPointWrapper); + return list; + } + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java index 4990528e..3781ff79 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java @@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.TreeNode; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegionUser; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; +import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegionUserService; @@ -32,6 +34,24 @@ public class BmsRegion2ServiceImpl extends ServiceImpl getTree(boolean listUserFlag) { @@ -92,9 +112,9 @@ public class BmsRegion2ServiceImpl extends ServiceImpl2){ @@ -112,7 +132,8 @@ public class BmsRegion2ServiceImpl extends ServiceImpl regionList = listChild(pid); + if(regionList.size()>0){ + regionList = regionList.stream().map(a->{ + a.setPathIds(parRegion.getPathIds()+"_"+a.getId()); + a.setPathNames(parRegion.getPathNames()+"_"+a.getName()); + return a; + }).collect(Collectors.toList()); + boolean updateFlag = this.updateBatchById(regionList); + if(!updateFlag){ + Assert.throwEx("更新区域链失败!"); + } + for(BmsRegion2 re:regionList){ + bmsChannelPointMapper.udpateBizRegionPathByBizRegionId(re.getPathNames(),re.getId()); + this.updatePathByPid(re.getId()); + } + } } } 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 3f20523e..70509da7 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 @@ -8,6 +8,7 @@ import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegionUser; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; +import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.service.BmsRegionUserService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; @@ -34,6 +35,24 @@ public class BmsRegionServiceImpl extends ServiceImpl private BmsRegionUserService bmsRegionUserService; private SysUserService sysUserService; + private BmsChannelPointMapper bmsChannelPointMapper; + + @Override + public boolean saveBmsRegion(BmsRegion param){ + param = this.flushLevel(param); + return this.save(param); + } + + @Override + public boolean updateBmsRegionById(BmsRegion param){ + BmsRegion ori = this.getById(param.getId()); + param = this.flushLevel(param); + boolean b = this.updateById(param); + if(!ori.getName().equals(param.getName())) { + this.updatePathByPid(param.getId()); + } + return b; + } @Override public List getTree(boolean listUserFlag) { @@ -95,13 +114,12 @@ public class BmsRegionServiceImpl extends ServiceImpl return this.getOne(lqw,false); } - @Override - public void flushLevel(BmsRegion param) { - if(StringUtils.hasText(param.getPid())){ + public BmsRegion flushLevel(BmsRegion param) { + if(StringUtils.hasText(param.getPid()) && !param.getPid().equals("0") ){ BmsRegion parent = this.getById(param.getPid()); if(parent!=null){ - if(parent.getLevel()>2){ - Assert.throwEx("最高支持3层级"); + if(parent.getLevel()>3){ + Assert.throwEx("最高支持4层级"); } param.setLevel(parent.getLevel()+1); param.setPathIds(parent.getPathIds()+"_"+param.getId()); @@ -115,7 +133,8 @@ public class BmsRegionServiceImpl extends ServiceImpl param.setPathIds(param.getId()); param.setPathNames(param.getName()); } - this.updateById(param); + return param; +// this.updateById(param); } @Override @@ -159,5 +178,24 @@ public class BmsRegionServiceImpl extends ServiceImpl this.updateById(param); } + private void updatePathByPid(String pid){ + BmsRegion parRegion = this.getById(pid); + List regionList = listChild(pid); + if(regionList.size()>0){ + regionList = regionList.stream().map(a->{ + a.setPathIds(parRegion.getPathIds()+"_"+a.getId()); + a.setPathNames(parRegion.getPathNames()+"_"+a.getName()); + return a; + }).collect(Collectors.toList()); + boolean updateFlag = this.updateBatchById(regionList); + if(!updateFlag){ + Assert.throwEx("更新区域链失败!"); + } + for(BmsRegion re:regionList){ + bmsChannelPointMapper.udpateSaleRegionPathBySaleRegionId(re.getPathNames(),re.getId()); + this.updatePathByPid(re.getId()); + } + } + } } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java index 17fdc343..f62de1d0 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java @@ -1,6 +1,9 @@ package com.qs.serve.modules.bms.service.impl; +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.modules.bms.entity.BmsRegion2; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -8,6 +11,10 @@ import com.qs.serve.modules.bms.entity.BmsSubject; import com.qs.serve.modules.bms.service.BmsSubjectService; import com.qs.serve.modules.bms.mapper.BmsSubjectMapper; +import java.util.List; +import java.util.stream.Collector; +import java.util.stream.Collectors; + /** * 科目 服务实现类 * @author YenHex @@ -18,5 +25,25 @@ import com.qs.serve.modules.bms.mapper.BmsSubjectMapper; @AllArgsConstructor public class BmsSubjectServiceImpl extends ServiceImpl implements BmsSubjectService { + public List listChild(Long pid) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsSubject::getPid,pid); + return this.list(lqw); + } + + @Override + public void updatePathNameByParent(BmsSubject parent){ + List subjectList = listChild(parent.getId()); + if(subjectList.size()>0){ + subjectList = subjectList.stream().map(a->{ + a.setPathNames(parent.getPathNames()+"_"+a.getSubjectName()); + return a; + }).collect(Collectors.toList()); + boolean updateFlag = this.updateBatchById(subjectList); + if(!updateFlag){ + Assert.throwEx("更新科目链失败!"); + } + } + } } diff --git a/src/main/resources/mapper/bms/BmsMasterUserMapper.xml b/src/main/resources/mapper/bms/BmsMasterUserMapper.xml index a742a36d..2883044a 100644 --- a/src/main/resources/mapper/bms/BmsMasterUserMapper.xml +++ b/src/main/resources/mapper/bms/BmsMasterUserMapper.xml @@ -30,6 +30,10 @@ + + + + @@ -85,6 +89,9 @@ and `sys_user`.`name` LIKE CONCAT('%',#{query.userName},'%') and `bms_channel`.`channel_name` LIKE CONCAT('%',#{query.channelName},'%') and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') + and `bms_master_user`.`del_flag` = '0' + and `sys_user`.`del_flag` = '0' + and `bms_channel`.`del_flag` = '0' @@ -109,6 +116,10 @@ and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') and `bms_channel_point`.`point_name` LIKE CONCAT('%',#{query.pointName},'%') and `bms_channel_point`.`point_code` LIKE CONCAT('%',#{query.pointCode},'%') + and `bms_master_user`.`del_flag` = '0' + and `sys_user`.`del_flag` = '0' + and `bms_channel`.`del_flag` = '0' + and `bms_channel_point`.`del_flag` = '0' diff --git a/src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml b/src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml index f4fe1422..1558e1f7 100644 --- a/src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml +++ b/src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml @@ -46,7 +46,7 @@ and `bms_supplier_channel`.`create_time` = #{query.createTime} and `bms_supplier_channel`.`update_time` = #{query.updateTime} and `bms_supplier_channel`.`tenant_id` = #{query.tenantId} - and `bms_supplier_channel`.`del_flag` = #{query.delFlag} + and `bms_supplier_channel`.`create_by` = #{query.createBy} and `bms_supplier_channel`.`update_by` = #{query.updateBy} @@ -54,7 +54,7 @@ and `bms_supplier`.`name` LIKE CONCAT('%',#{query.supplierName},'%') and `bms_supplier`.`code` LIKE CONCAT('%',#{query.supplierCode},'%') - + and `bms_supplier_channel`.`del_flag` = '0'