Browse Source

审批相关数据ID使用雪花算法,修复区域数据关联

contract
Yen 2 years ago
parent
commit
8c4288c307
  1. 1
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  2. 25
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java
  3. 29
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java
  4. 10
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java

1
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -250,6 +250,7 @@ public class BmsRegionController {
param.setName(regionBo.getName());
param.setPid(regionBo.getPid());
boolean result = bmsRegionService.updateBmsRegionById(param);
hisUserSupplierService.cleanTable();
return R.isTrue(result);
}

25
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java

@ -64,37 +64,38 @@ public class BmsRegion2ServiceImpl extends ServiceImpl<BmsRegion2Mapper,BmsRegio
BmsRegion2 currentRegion = this.getById(param.getId());
List<BmsSupplier> regionSupplierList = bmsSupplierApplicationService.listByRegionIds(Arrays.asList(ori.getId()),ori.getLevel());
for (BmsSupplier supplier : regionSupplierList) {
if(CollectionUtil.isNotEmpty(regionSupplierList)){
String[] ids = currentRegion.getPathIds().split("_");
String region1 = "0";
String region2 = "0";
String region3 = "0";
String region4 = "0";
String regionLast = "0";
if(ids.length>1){
if(ids.length>0){
region1 = ids[0];
regionLast = region1;
}
if(ids.length>2){
if(ids.length>1){
region2 = ids[1];
regionLast = region2;
}
if(ids.length>3){
if(ids.length>2){
region3 = ids[2];
regionLast = region3;
}
if(ids.length>4){
if(ids.length>3){
region4 = ids[3];
regionLast = region4;
}
supplier.setRegion2First(region1);
supplier.setRegion2Second(region2);
supplier.setRegion2Third(region3);
supplier.setRegion2First(region4);
supplier.setRegion2Last(regionLast);
bmsSupplierMapper.updateById(supplier);
for (BmsSupplier supplier : regionSupplierList) {
supplier.setRegionFirst(region1);
supplier.setRegionSecond(region2);
supplier.setRegionThird(region3);
supplier.setRegionFourthly(region4);
supplier.setRegionLast(regionLast);
bmsSupplierMapper.updateById(supplier);
}
}
}
}
return b;

29
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

@ -13,6 +13,7 @@ import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsFactoryService;
import com.qs.serve.modules.bms.service.BmsRegionUserService;
import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor;
@ -55,50 +56,52 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
@Override
public boolean updateBmsRegionById(BmsRegion param){
BmsRegion ori = this.getById(param.getId());
param = this.flushSetLevel(param);
boolean b = this.updateById(param);
BmsRegion ori = this.getById(param.getId());
boolean changePid = !ori.getPid().equals(param.getPid());
if(!ori.getName().equals(param.getName())||changePid) {
BmsRegion parentRegion = this.updatePathByPid(param.getId());
if(changePid){
//hisUserSupplierService.cleanTable();
/*停用的逻辑
hisUserChannelPointService.removeRegion(2,ori.getPathIds());
hisUserChannelPointService.flushRegion(2,parentRegion.getPathIds());*/
//更新客户
BmsRegion currentRegion = this.getById(param.getId());
List<BmsSupplier> regionSupplierList = bmsSupplierApplicationService.listByRegionIds(Arrays.asList(ori.getId()),ori.getLevel());
for (BmsSupplier supplier : regionSupplierList) {
if(CollectionUtil.isNotEmpty(regionSupplierList)){
String[] ids = currentRegion.getPathIds().split("_");
String region1 = "0";
String region2 = "0";
String region3 = "0";
String region4 = "0";
String regionLast = "0";
if(ids.length>1){
if(ids.length>0){
region1 = ids[0];
regionLast = region1;
}
if(ids.length>2){
if(ids.length>1){
region2 = ids[1];
regionLast = region2;
}
if(ids.length>3){
if(ids.length>2){
region3 = ids[2];
regionLast = region3;
}
if(ids.length>4){
if(ids.length>3){
region4 = ids[3];
regionLast = region4;
}
supplier.setRegionFirst(region1);
supplier.setRegionSecond(region2);
supplier.setRegionThird(region3);
supplier.setRegionFirst(region4);
supplier.setRegionLast(regionLast);
bmsSupplierMapper.updateById(supplier);
for (BmsSupplier supplier : regionSupplierList) {
supplier.setRegionFirst(region1);
supplier.setRegionSecond(region2);
supplier.setRegionThird(region3);
supplier.setRegionFourthly(region4);
supplier.setRegionLast(regionLast);
bmsSupplierMapper.updateById(supplier);
}
}
}
}
return b;

10
src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java

@ -13,6 +13,8 @@ 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.BmsSupplier;
import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper;
import com.qs.serve.modules.bms.mapper.BmsRegionMapper;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.bms.service.BmsRegionUserService;
@ -39,8 +41,8 @@ import java.util.stream.Collectors;
public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMapper,HisUserSupplier> implements HisUserSupplierService {
private BmsSupplierService bmsSupplierService;
private BmsRegionService saleRegionService;
private BmsRegion2Service bizRegionService;
private BmsRegionMapper saleRegionMapper;
private BmsRegion2Mapper bmsRegion2Mapper;
private BmsRegionUserService regionUserService;
private SysPostUserService sysPostUserService;
@ -152,7 +154,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
.map(BmsRegionUser::getRegionId)
.collect(Collectors.toList());
if(regionSaleIds.size()>0){
List<BmsRegion> saleRegions = saleRegionService.listByIds(regionSaleIds);
List<BmsRegion> saleRegions = saleRegionMapper.selectBatchIds(regionSaleIds);
Map<Integer,List<BmsRegion>> saleRegionsMap = saleRegions.stream().collect(Collectors.groupingBy(BmsRegion::getLevel));
for (Integer level : saleRegionsMap.keySet()) {
List<BmsRegion> saleRegionListByLevel = saleRegionsMap.get(level);
@ -165,7 +167,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
.map(BmsRegionUser::getRegionId)
.collect(Collectors.toList());
if(regionBizIds.size()>0){
List<BmsRegion2> bizRegions = bizRegionService.listByIds(regionBizIds);
List<BmsRegion2> bizRegions = bmsRegion2Mapper.selectBatchIds(regionBizIds);
Map<Integer,List<BmsRegion2>> saleRegionsMap = bizRegions.stream().collect(Collectors.groupingBy(BmsRegion2::getLevel));
for (Integer level : saleRegionsMap.keySet()) {
List<BmsRegion2> region2List = saleRegionsMap.get(level);

Loading…
Cancel
Save