Browse Source

网点,区域,渠道,负责人,科目

添加pathName
修BUG
mssql
07 3 years ago
parent
commit
ae517ad45d
  1. 64
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java
  2. 18
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java
  3. 18
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  4. 10
      src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java
  5. 10
      src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java
  6. 2
      src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java
  7. 4
      src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java
  8. 2
      src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java
  9. 4
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsMasterUserPointVo.java
  10. 2
      src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSubjectTreeVo.java
  11. 10
      src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java
  12. 6
      src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java
  13. 5
      src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java
  14. 5
      src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java
  15. 1
      src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java
  16. 44
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java
  17. 51
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java
  18. 50
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java
  19. 27
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java
  20. 11
      src/main/resources/mapper/bms/BmsMasterUserMapper.xml
  21. 4
      src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml

64
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.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; 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.BmsChannel;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegion2;
@ -40,6 +41,8 @@ public class BmsChannelPointController {
private BmsChannelPointService bmsChannelPointService; private BmsChannelPointService bmsChannelPointService;
private BmsChannelService bmsChannelService; private BmsChannelService bmsChannelService;
private BmsRegionService bmsRegionService;
private BmsRegion2Service bmsRegion2Service;
/** /**
* 翻页 * 翻页
@ -50,20 +53,43 @@ public class BmsChannelPointController {
@PreAuthorize("hasRole('bms:channelPoint:query')") @PreAuthorize("hasRole('bms:channelPoint:query')")
public R<PageVo<BmsChannelPoint>> getPage(BmsChannelPoint param){ public R<PageVo<BmsChannelPoint>> getPage(BmsChannelPoint param){
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<BmsChannelPoint> channelPointWrapper = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<BmsChannelPoint> channelPointWrapper = new LambdaQueryWrapper<>();
List<BmsChannelPoint> list = bmsChannelPointService.list(channelPointWrapper); if(StringUtils.hasText(param.getChannelName())){
if(list.size()>0){ channelPointWrapper.like(BmsChannelPoint::getChannelName,param.getChannelName());
List<Long> channelIds = list.stream().map(BmsChannelPoint::getChannelId).distinct().collect(Collectors.toList()); }
List<BmsChannel> channels = bmsChannelService.listByIds(channelIds); if(StringUtils.hasText(param.getPointName())){
for (BmsChannelPoint channelPoint : list) { channelPointWrapper.like(BmsChannelPoint::getPointName,param.getPointName());
for (BmsChannel channel : channels) { }
if(channelPoint.getChannelId().equals(channel.getId())){ if(StringUtils.hasText(param.getPointCode())){
channelPoint.setChannelName(channel.getChannelName()); channelPointWrapper.like(BmsChannelPoint::getPointCode,param.getPointCode());
break; }
} 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<BmsChannelPoint> list = bmsChannelPointService.list(channelPointWrapper);
// if(list.size()>0){
// List<Long> channelIds = list.stream().map(BmsChannelPoint::getChannelId).distinct().collect(Collectors.toList());
// List<BmsChannel> 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); return R.byPageHelperList(list);
} }
@ -77,8 +103,16 @@ public class BmsChannelPointController {
@PreAuthorize("hasRole('bms:channelPoint:query')") @PreAuthorize("hasRole('bms:channelPoint:query')")
public R<BmsChannelPoint> getById(@PathVariable("id") String id){ public R<BmsChannelPoint> getById(@PathVariable("id") String id){
BmsChannelPoint bmsChannelPoint = bmsChannelPointService.getById(id); BmsChannelPoint bmsChannelPoint = bmsChannelPointService.getById(id);
BmsChannel channel = bmsChannelService.getById(bmsChannelPoint.getChannelId()); // BmsChannel channel = bmsChannelService.getById(bmsChannelPoint.getChannelId());
bmsChannelPoint.setChannelName(channel.getChannelName()); // 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); return R.ok(bmsChannelPoint);
} }

18
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.BmsRegion2;
import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.bms.service.BmsFactoryService; import com.qs.serve.modules.bms.service.*;
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 lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
@ -38,6 +35,7 @@ public class BmsRegion2Controller {
private BmsRegion2Service bmsRegion2Service; private BmsRegion2Service bmsRegion2Service;
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private BmsRuleRegionService bmsRuleRegionService; private BmsRuleRegionService bmsRuleRegionService;
private BmsChannelPointService bmsChannelPointService;
/** /**
* 列表 * 列表
@ -105,7 +103,8 @@ public class BmsRegion2Controller {
BmsRegion2 param = new BmsRegion2(); BmsRegion2 param = new BmsRegion2();
param.setId(regionBo.getId()); param.setId(regionBo.getId());
param.setName(regionBo.getName()); param.setName(regionBo.getName());
boolean result = bmsRegion2Service.updateById(param); boolean result = bmsRegion2Service.updateBmsRegion2ById(param);
// bmsRegion2Service.flushLevel(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -120,7 +119,7 @@ public class BmsRegion2Controller {
public R<?> updateFactory(@RequestBody BmsRegion2 regionBo){ public R<?> updateFactory(@RequestBody BmsRegion2 regionBo){
BmsRegion2 param = new BmsRegion2(); BmsRegion2 param = new BmsRegion2();
param.setId(regionBo.getId()); param.setId(regionBo.getId());
boolean result = bmsRegion2Service.updateById(param); boolean result = bmsRegion2Service.updateBmsRegion2ById(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -137,8 +136,8 @@ public class BmsRegion2Controller {
if(param.getId()==null){ if(param.getId()==null){
param.setId(IdUtil.getSnowFlakeId()+""); param.setId(IdUtil.getSnowFlakeId()+"");
} }
bmsRegion2Service.flushLevel(param); boolean result = bmsRegion2Service.saveBmsRegion2(param);
boolean result = bmsRegion2Service.save(param); // bmsRegion2Service.flushLevel(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -195,6 +194,9 @@ public class BmsRegion2Controller {
if(bmsSupplierService.listByRegionId(id).size()>0){ if(bmsSupplierService.listByRegionId(id).size()>0){
return R.error("地区含有供应商无法删除"); return R.error("地区含有供应商无法删除");
} }
if(bmsChannelPointService.listBySaleRegionId(id).size()>0){
return R.error("地区含有网点无法删除");
}
//删除商品限制 //删除商品限制
bmsRuleRegionService.removeByRegionId(Long.parseLong(id)); bmsRuleRegionService.removeByRegionId(Long.parseLong(id));
boolean result = bmsRegion2Service.removeById(id); boolean result = bmsRegion2Service.removeById(id);

18
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.BmsRegion2;
import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.bms.service.BmsFactoryService; import com.qs.serve.modules.bms.service.*;
import com.qs.serve.modules.bms.service.BmsRuleRegionService;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
@ -22,7 +20,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.service.BmsRegionService;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays; import java.util.Arrays;
@ -43,6 +40,7 @@ public class BmsRegionController {
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private BmsRuleRegionService bmsRuleRegionService; private BmsRuleRegionService bmsRuleRegionService;
private BmsFactoryService bmsFactoryService; private BmsFactoryService bmsFactoryService;
private BmsChannelPointService bmsChannelPointService;
/** /**
* 列表 * 列表
@ -121,7 +119,8 @@ public class BmsRegionController {
BmsRegion param = new BmsRegion(); BmsRegion param = new BmsRegion();
param.setId(regionBo.getId()); param.setId(regionBo.getId());
param.setName(regionBo.getName()); param.setName(regionBo.getName());
boolean result = bmsRegionService.updateById(param); boolean result = bmsRegionService.updateBmsRegionById(param);
// bmsRegionService.flushLevel(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -137,7 +136,7 @@ public class BmsRegionController {
BmsRegion param = new BmsRegion(); BmsRegion param = new BmsRegion();
param.setId(regionBo.getId()); param.setId(regionBo.getId());
param.setFactoryIds(regionBo.getFactoryIds()); param.setFactoryIds(regionBo.getFactoryIds());
boolean result = bmsRegionService.updateById(param); boolean result = bmsRegionService.updateBmsRegionById(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -154,8 +153,8 @@ public class BmsRegionController {
if(param.getId()==null){ if(param.getId()==null){
param.setId(IdUtil.getSnowFlakeId()+""); param.setId(IdUtil.getSnowFlakeId()+"");
} }
bmsRegionService.flushLevel(param); boolean result = bmsRegionService.saveBmsRegion(param);
boolean result = bmsRegionService.save(param); // bmsRegionService.flushLevel(param);
return R.isTrue(result); return R.isTrue(result);
} }
@ -213,6 +212,9 @@ public class BmsRegionController {
if(bmsSupplierService.listByRegionId(id).size()>0){ if(bmsSupplierService.listByRegionId(id).size()>0){
return R.error("地区含有供应商无法删除"); return R.error("地区含有供应商无法删除");
} }
if(bmsChannelPointService.listByBizRegionId(id).size()>0){
return R.error("地区含有网点无法删除");
}
//删除商品限制 //删除商品限制
bmsRuleRegionService.removeByRegionId(Long.parseLong(id)); bmsRuleRegionService.removeByRegionId(Long.parseLong(id));
boolean result = bmsRegionService.removeById(id); boolean result = bmsRegionService.removeById(id);

10
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)){ if(subject.getPid()==null||subject.getPid().equals(0L)){
subject.setPid(0L); subject.setPid(0L);
subject.setLevel(1); subject.setLevel(1);
subject.setPathNames(subject.getSubjectName());
bmsSubjectService.save(subject);
}else { }else {
BmsSubject parent = bmsSubjectService.getById(subject.getPid()); BmsSubject parent = bmsSubjectService.getById(subject.getPid());
BmsSubject ori = bmsSubjectService.getById(subject.getId());
subject.setLevel(parent.getLevel()+1); 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);
} }
/** /**

10
src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java

@ -33,6 +33,8 @@ public class BmsChannelPoint implements Serializable {
@NotNull(message = "渠道名称不能为空") @NotNull(message = "渠道名称不能为空")
private Long channelId; private Long channelId;
private String channelName;
/** 站点编码 */ /** 站点编码 */
@NotBlank(message = "站点编码不能为空") @NotBlank(message = "站点编码不能为空")
@Length(max = 50,message = "站点编码长度不能超过50字") @Length(max = 50,message = "站点编码长度不能超过50字")
@ -65,7 +67,7 @@ public class BmsChannelPoint implements Serializable {
/** 销售区域id */ /** 销售区域id */
@NotNull(message = "销售区域id不能为空") @NotNull(message = "销售区域id不能为空")
private Long saleRegionId; private String saleRegionId;
/** 销售区域 */ /** 销售区域 */
@NotBlank(message = "销售区域不能为空") @NotBlank(message = "销售区域不能为空")
@ -74,7 +76,7 @@ public class BmsChannelPoint implements Serializable {
/** 行政区域id */ /** 行政区域id */
@NotNull(message = "行政区域id不能为空") @NotNull(message = "行政区域id不能为空")
private Long bizRegionId; private String bizRegionId;
/** 行政区域 */ /** 行政区域 */
@NotBlank(message = "行政区域不能为空") @NotBlank(message = "行政区域不能为空")
@ -116,7 +118,9 @@ public class BmsChannelPoint implements Serializable {
private String updateBy; private String updateBy;
@TableField(exist = false) @TableField(exist = false)
private String channelName; private String saleRegionName;
@TableField(exist = false)
private String bizRegionName;
} }

2
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字") @Length(max = 50,message = "科目名称长度不能超过50字")
private String subjectName; private String subjectName;
private String pathNames;
/** 科目编码 */ /** 科目编码 */
@NotBlank(message = "科目编码不能为空") @NotBlank(message = "科目编码不能为空")
@Length(max = 50,message = "科目编码长度不能超过50字") @Length(max = 50,message = "科目编码长度不能超过50字")

4
src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java

@ -55,11 +55,11 @@ public class BmsChannelPointBo {
/** 销售区域id */ /** 销售区域id */
@NotNull(message = "销售区域id不能为空") @NotNull(message = "销售区域id不能为空")
private Long saleRegionId; private String saleRegionId;
/** 行政区域id */ /** 行政区域id */
@NotNull(message = "行政区域id不能为空") @NotNull(message = "行政区域id不能为空")
private Long bizRegionId; private String bizRegionId;
/** 备注 */ /** 备注 */
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")

2
src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java

@ -30,7 +30,7 @@ public class BmsCostCenterBo {
private String name; private String name;
/** 层级 */ /** 层级 */
@NotNull(message = "层级不能为空") // @NotNull(message = "层级不能为空")
private Integer level; private Integer level;
/** 父级节点 */ /** 父级节点 */

4
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 userName;
private String channelName;
private String channelCode;
private String pointName; private String pointName;
private String pointCode; private String pointCode;

2
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字") @Length(max = 50,message = "科目名称长度不能超过50字")
private String subjectName; private String subjectName;
private String pathNames;
/** 科目编码 */ /** 科目编码 */
@NotBlank(message = "科目编码不能为空") @NotBlank(message = "科目编码不能为空")
@Length(max = 50,message = "科目编码长度不能超过50字") @Length(max = 50,message = "科目编码长度不能超过50字")

10
src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java

@ -1,7 +1,10 @@
package com.qs.serve.modules.bms.mapper; package com.qs.serve.modules.bms.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* 渠道站点 Mapper * 渠道站点 Mapper
@ -10,5 +13,12 @@ import com.qs.serve.modules.bms.entity.BmsChannelPoint;
*/ */
public interface BmsChannelPointMapper extends BaseMapper<BmsChannelPoint> { public interface BmsChannelPointMapper extends BaseMapper<BmsChannelPoint> {
@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);
} }

6
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.BmsChannelPoint;
import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo;
import java.util.Collection;
import java.util.List;
/** /**
* 渠道站点 服务接口 * 渠道站点 服务接口
* @author YenHex * @author YenHex
@ -13,5 +16,8 @@ public interface BmsChannelPointService extends IService<BmsChannelPoint> {
boolean modify(BmsChannelPointBo param); boolean modify(BmsChannelPointBo param);
List<BmsChannelPoint> listByBizRegionId(String id);
List<BmsChannelPoint> listBySaleRegionId(String id);
} }

5
src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java

@ -20,9 +20,12 @@ public interface BmsRegion2Service extends IService<BmsRegion2> {
BmsRegion2 getByCode(String code); BmsRegion2 getByCode(String code);
void flushLevel(BmsRegion2 param); // void flushLevel(BmsRegion2 param);
void flushAllLevel(boolean batchUpdate); void flushAllLevel(boolean batchUpdate);
boolean saveBmsRegion2(BmsRegion2 param);
boolean updateBmsRegion2ById(BmsRegion2 param);
} }

5
src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java

@ -20,9 +20,12 @@ public interface BmsRegionService extends IService<BmsRegion> {
BmsRegion getByCode(String code); BmsRegion getByCode(String code);
void flushLevel(BmsRegion param); // void flushLevel(BmsRegion param);
void flushAllLevel(boolean batchUpdate); void flushAllLevel(boolean batchUpdate);
boolean saveBmsRegion(BmsRegion param);
boolean updateBmsRegionById(BmsRegion param);
} }

1
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<BmsSubject> { public interface BmsSubjectService extends IService<BmsSubject> {
void updatePathNameByParent(BmsSubject subject);
} }

44
src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java

@ -1,10 +1,14 @@
package com.qs.serve.modules.bms.service.impl; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CopierUtil; 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.BmsRegion;
import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; 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.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
import lombok.AllArgsConstructor; 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.service.BmsChannelPointService;
import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper;
import java.util.List;
/** /**
* 渠道站点 服务实现类 * 渠道站点 服务实现类
* @author YenHex * @author YenHex
@ -26,20 +32,54 @@ public class BmsChannelPointServiceImpl extends ServiceImpl<BmsChannelPointMappe
private BmsRegionService bmsRegionService; private BmsRegionService bmsRegionService;
private BmsRegion2Service bmsRegion2Service; private BmsRegion2Service bmsRegion2Service;
private BmsChannelService bmsChannelService;
@Override @Override
public boolean modify(BmsChannelPointBo param) { public boolean modify(BmsChannelPointBo param) {
BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint()); BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint());
if(channelPoint.getChannelId()!=null){
BmsChannel channel = bmsChannelService.getById(channelPoint.getChannelId());
if(channel!=null) {
channelPoint.setChannelName(channel.getChannelName());
}else{
Assert.throwEx("无相关渠道信息");
}
}
if(param.getSaleRegionId()!=null){ if(param.getSaleRegionId()!=null){
BmsRegion bmsRegion = bmsRegionService.getById(param.getSaleRegionId()); BmsRegion bmsRegion = bmsRegionService.getById(param.getSaleRegionId());
channelPoint.setSaleRegionPath(bmsRegion.getPathNames()); if(bmsRegion.getPathNames()==null){
channelPoint.setSaleRegionPath("");
}else{
channelPoint.setSaleRegionPath(bmsRegion.getPathNames());
}
} }
if(param.getBizRegionId()!=null){ if(param.getBizRegionId()!=null){
BmsRegion2 bmsRegion2 = bmsRegion2Service.getById(param.getBizRegionId()); BmsRegion2 bmsRegion2 = bmsRegion2Service.getById(param.getBizRegionId());
channelPoint.setBizRegionPath(bmsRegion2.getPathNames()); if(bmsRegion2.getPathNames()==null){
channelPoint.setBizRegionPath("");
}else {
channelPoint.setBizRegionPath(bmsRegion2.getPathNames());
}
} }
return this.saveOrUpdate(channelPoint); return this.saveOrUpdate(channelPoint);
} }
@Override
public List<BmsChannelPoint> listByBizRegionId(String id) {
LambdaQueryWrapper<BmsChannelPoint> channelPointWrapper = new LambdaQueryWrapper<>();
channelPointWrapper.eq(BmsChannelPoint::getBizRegionId,id);
List<BmsChannelPoint> list = this.list(channelPointWrapper);
return list;
}
@Override
public List<BmsChannelPoint> listBySaleRegionId(String id) {
LambdaQueryWrapper<BmsChannelPoint> channelPointWrapper = new LambdaQueryWrapper<>();
channelPointWrapper.eq(BmsChannelPoint::getSaleRegionId,id);
List<BmsChannelPoint> list = this.list(channelPointWrapper);
return list;
}
} }

51
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.dto.TreeNode; import com.qs.serve.common.model.dto.TreeNode;
import com.qs.serve.common.util.*; 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.BmsRegion2;
import com.qs.serve.modules.bms.entity.BmsRegionUser; import com.qs.serve.modules.bms.entity.BmsRegionUser;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; 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.mapper.BmsRegion2Mapper;
import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionUserService; import com.qs.serve.modules.bms.service.BmsRegionUserService;
@ -32,6 +34,24 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
private BmsRegionUserService bmsRegionUserService; private BmsRegionUserService bmsRegionUserService;
private SysUserService sysUserService; private SysUserService sysUserService;
private BmsChannelPointMapper bmsChannelPointMapper;
@Override
public boolean saveBmsRegion2(BmsRegion2 param){
param = this.flushLevel(param);
return this.save(param);
}
@Override
public boolean updateBmsRegion2ById(BmsRegion2 param){
BmsRegion2 ori = this.getById(param.getId());
param = this.flushLevel(param);
boolean b = updateById(param);
if(!ori.getName().equals(param.getName())) {
this.updatePathByPid(param.getId());
}
return b;
}
@Override @Override
public List<BmsRegionTreeVo> getTree(boolean listUserFlag) { public List<BmsRegionTreeVo> getTree(boolean listUserFlag) {
@ -92,9 +112,9 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
return this.getOne(lqw,false); return this.getOne(lqw,false);
} }
@Override // @Override
public void flushLevel(BmsRegion2 param) { public BmsRegion2 flushLevel(BmsRegion2 param) {
if(StringUtils.hasText(param.getPid())){ if(StringUtils.hasText(param.getPid()) && !param.getPid().equals("0")){
BmsRegion2 parent = this.getById(param.getPid()); BmsRegion2 parent = this.getById(param.getPid());
if(parent!=null){ if(parent!=null){
if(parent.getLevel()>2){ if(parent.getLevel()>2){
@ -112,7 +132,8 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
param.setPathIds(param.getId()); param.setPathIds(param.getId());
param.setPathNames(param.getName()); param.setPathNames(param.getName());
} }
this.updateById(param); return param;
// this.updateById(param);
} }
@Override @Override
@ -154,7 +175,27 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
param.setLevel(level); param.setLevel(level);
param.setPathIds(pathIds); param.setPathIds(pathIds);
param.setPathNames(pathName); param.setPathNames(pathName);
this.updateById(param); // this.updateById(param);
}
private void updatePathByPid(String pid){
BmsRegion2 parRegion = this.getById(pid);
List<BmsRegion2> 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());
}
}
} }
} }

50
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.BmsRegionUser;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; 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.bms.service.BmsRegionUserService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
@ -34,6 +35,24 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
private BmsRegionUserService bmsRegionUserService; private BmsRegionUserService bmsRegionUserService;
private SysUserService sysUserService; 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 @Override
public List<BmsRegionTreeVo> getTree(boolean listUserFlag) { public List<BmsRegionTreeVo> getTree(boolean listUserFlag) {
@ -95,13 +114,12 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
return this.getOne(lqw,false); return this.getOne(lqw,false);
} }
@Override public BmsRegion flushLevel(BmsRegion param) {
public void flushLevel(BmsRegion param) { if(StringUtils.hasText(param.getPid()) && !param.getPid().equals("0") ){
if(StringUtils.hasText(param.getPid())){
BmsRegion parent = this.getById(param.getPid()); BmsRegion parent = this.getById(param.getPid());
if(parent!=null){ if(parent!=null){
if(parent.getLevel()>2){ if(parent.getLevel()>3){
Assert.throwEx("最高支持3层级"); Assert.throwEx("最高支持4层级");
} }
param.setLevel(parent.getLevel()+1); param.setLevel(parent.getLevel()+1);
param.setPathIds(parent.getPathIds()+"_"+param.getId()); param.setPathIds(parent.getPathIds()+"_"+param.getId());
@ -115,7 +133,8 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
param.setPathIds(param.getId()); param.setPathIds(param.getId());
param.setPathNames(param.getName()); param.setPathNames(param.getName());
} }
this.updateById(param); return param;
// this.updateById(param);
} }
@Override @Override
@ -159,5 +178,24 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
this.updateById(param); this.updateById(param);
} }
private void updatePathByPid(String pid){
BmsRegion parRegion = this.getById(pid);
List<BmsRegion> 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());
}
}
}
} }

27
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java

@ -1,6 +1,9 @@
package com.qs.serve.modules.bms.service.impl; 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.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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; 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.service.BmsSubjectService;
import com.qs.serve.modules.bms.mapper.BmsSubjectMapper; import com.qs.serve.modules.bms.mapper.BmsSubjectMapper;
import java.util.List;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/** /**
* 科目 服务实现类 * 科目 服务实现类
* @author YenHex * @author YenHex
@ -18,5 +25,25 @@ import com.qs.serve.modules.bms.mapper.BmsSubjectMapper;
@AllArgsConstructor @AllArgsConstructor
public class BmsSubjectServiceImpl extends ServiceImpl<BmsSubjectMapper,BmsSubject> implements BmsSubjectService { public class BmsSubjectServiceImpl extends ServiceImpl<BmsSubjectMapper,BmsSubject> implements BmsSubjectService {
public List<BmsSubject> listChild(Long pid) {
LambdaQueryWrapper<BmsSubject> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSubject::getPid,pid);
return this.list(lqw);
}
@Override
public void updatePathNameByParent(BmsSubject parent){
List<BmsSubject> 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("更新科目链失败!");
}
}
}
} }

11
src/main/resources/mapper/bms/BmsMasterUserMapper.xml

@ -30,6 +30,10 @@
</resultMap> </resultMap>
<resultMap id="bmsMasterUserPointMap" type="com.qs.serve.modules.bms.entity.vo.BmsMasterUserChannelVo" extends="bmsMasterUserChannelMap"> <resultMap id="bmsMasterUserPointMap" type="com.qs.serve.modules.bms.entity.vo.BmsMasterUserChannelVo" extends="bmsMasterUserChannelMap">
<result property="userCode" column="user_code"/>
<result property="userName" column="user_name"/>
<result property="channelName" column="channel_name"/>
<result property="channelCode" column="channel_code"/>
<result property="pointName" column="point_name"/> <result property="pointName" column="point_name"/>
<result property="pointCode" column="point_code"/> <result property="pointCode" column="point_code"/>
</resultMap> </resultMap>
@ -85,6 +89,9 @@
<if test="query.userName != null and query.userName != ''"> and `sys_user`.`name` LIKE CONCAT('%',#{query.userName},'%') </if> <if test="query.userName != null and query.userName != ''"> and `sys_user`.`name` LIKE CONCAT('%',#{query.userName},'%') </if>
<if test="query.channelName != null and query.channelName != ''"> and `bms_channel`.`channel_name` LIKE CONCAT('%',#{query.channelName},'%') </if> <if test="query.channelName != null and query.channelName != ''"> and `bms_channel`.`channel_name` LIKE CONCAT('%',#{query.channelName},'%') </if>
<if test="query.channelCode != null and query.channelCode != ''"> and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') </if> <if test="query.channelCode != null and query.channelCode != ''"> and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') </if>
and `bms_master_user`.`del_flag` = '0'
and `sys_user`.`del_flag` = '0'
and `bms_channel`.`del_flag` = '0'
</where> </where>
</select> </select>
@ -109,6 +116,10 @@
<if test="query.channelCode != null and query.channelCode != ''"> and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') </if> <if test="query.channelCode != null and query.channelCode != ''"> and `bms_channel`.`channel_code` LIKE CONCAT('%',#{query.channelCode},'%') </if>
<if test="query.pointName != null and query.pointName != ''"> and `bms_channel_point`.`point_name` LIKE CONCAT('%',#{query.pointName},'%') </if> <if test="query.pointName != null and query.pointName != ''"> and `bms_channel_point`.`point_name` LIKE CONCAT('%',#{query.pointName},'%') </if>
<if test="query.pointCode != null and query.pointCode != ''"> and `bms_channel_point`.`point_code` LIKE CONCAT('%',#{query.pointCode},'%') </if> <if test="query.pointCode != null and query.pointCode != ''"> and `bms_channel_point`.`point_code` LIKE CONCAT('%',#{query.pointCode},'%') </if>
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'
</where> </where>
</select> </select>

4
src/main/resources/mapper/bms/BmsSupplierChannelMapper.xml

@ -46,7 +46,7 @@
<if test="query.createTime != null"> and `bms_supplier_channel`.`create_time` = #{query.createTime}</if> <if test="query.createTime != null"> and `bms_supplier_channel`.`create_time` = #{query.createTime}</if>
<if test="query.updateTime != null"> and `bms_supplier_channel`.`update_time` = #{query.updateTime}</if> <if test="query.updateTime != null"> and `bms_supplier_channel`.`update_time` = #{query.updateTime}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `bms_supplier_channel`.`tenant_id` = #{query.tenantId}</if> <if test="query.tenantId != null and query.tenantId != ''"> and `bms_supplier_channel`.`tenant_id` = #{query.tenantId}</if>
<if test="query.delFlag != null and query.delFlag != ''"> and `bms_supplier_channel`.`del_flag` = #{query.delFlag}</if> <!-- <if test="query.delFlag != null and query.delFlag != ''"> and `bms_supplier_channel`.`del_flag` = #{query.delFlag}</if>-->
<if test="query.createBy != null and query.createBy != ''"> and `bms_supplier_channel`.`create_by` = #{query.createBy}</if> <if test="query.createBy != null and query.createBy != ''"> and `bms_supplier_channel`.`create_by` = #{query.createBy}</if>
<if test="query.updateBy != null and query.updateBy != ''"> and `bms_supplier_channel`.`update_by` = #{query.updateBy}</if> <if test="query.updateBy != null and query.updateBy != ''"> and `bms_supplier_channel`.`update_by` = #{query.updateBy}</if>
@ -54,7 +54,7 @@
<if test="query.supplierName != null and query.supplierName != ''"> and `bms_supplier`.`name` LIKE CONCAT('%',#{query.supplierName},'%') </if> <if test="query.supplierName != null and query.supplierName != ''"> and `bms_supplier`.`name` LIKE CONCAT('%',#{query.supplierName},'%') </if>
<if test="query.supplierCode != null and query.supplierCode != ''"> and `bms_supplier`.`code` LIKE CONCAT('%',#{query.supplierCode},'%')</if> <if test="query.supplierCode != null and query.supplierCode != ''"> and `bms_supplier`.`code` LIKE CONCAT('%',#{query.supplierCode},'%')</if>
and `bms_supplier_channel`.`del_flag` = '0'
</where> </where>
</select> </select>

Loading…
Cancel
Save