|
|
@ -38,31 +38,30 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe |
|
|
|
private BmsRegionUserService regionUserService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean initByUserId(String userId) { |
|
|
|
public boolean checkInit(String userId) { |
|
|
|
LambdaQueryWrapper<HisUserSupplier> lqwExist = new LambdaQueryWrapper<>(); |
|
|
|
lqwExist.eq(HisUserSupplier::getUserId,userId); |
|
|
|
long count = this.count(lqwExist); |
|
|
|
if(count>0L){ |
|
|
|
return true; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean initByUserId(String userId,boolean hasCheck) { |
|
|
|
if(!hasCheck){ |
|
|
|
boolean checkInit = this.checkInit(userId); |
|
|
|
if(checkInit){ |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
BmsSupplier param = new BmsSupplier(); |
|
|
|
param.setCurrUserId(userId); |
|
|
|
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param); |
|
|
|
List<HisUserSupplier> userSuppliers = new ArrayList<>(); |
|
|
|
for (BmsSupplier supplier : list) { |
|
|
|
HisUserSupplier userSupplier = new HisUserSupplier(); |
|
|
|
userSupplier.setUserId(userId); |
|
|
|
userSupplier.setSupplierId(Long.parseLong(supplier.getId())); |
|
|
|
userSupplier.setSupplierCode(supplier.getCode()); |
|
|
|
userSupplier.setSupplierName(supplier.getName()); |
|
|
|
userSupplier.setType(3); |
|
|
|
userSupplier.setMasterFlag(supplier.getMasterFlag()); |
|
|
|
userSupplier.setSaleRegionFirst(supplier.getRegionFirst()); |
|
|
|
userSupplier.setSaleRegionSecond(supplier.getRegionSecond()); |
|
|
|
userSupplier.setSaleRegionThird(supplier.getRegionThird()); |
|
|
|
userSupplier.setBizRegionFirst(supplier.getRegion2First()); |
|
|
|
userSupplier.setBizRegionSecond(supplier.getRegion2Second()); |
|
|
|
userSupplier.setBizRegionThird(supplier.getRegion2Third()); |
|
|
|
HisUserSupplier userSupplier = supplier.toHisUserSupplier(userId,3); |
|
|
|
userSuppliers.add(userSupplier); |
|
|
|
} |
|
|
|
LambdaQueryWrapper<BmsRegionUser> regionUserLqw = new LambdaQueryWrapper<>(); |
|
|
@ -75,12 +74,11 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe |
|
|
|
if(regionSaleIds.size()>0){ |
|
|
|
List<BmsRegion> saleRegions = saleRegionService.listByIds(regionSaleIds); |
|
|
|
Map<Integer,List<BmsRegion>> saleRegionsMap = saleRegions.stream().collect(Collectors.groupingBy(BmsRegion::getLevel)); |
|
|
|
List<String> regionIds01 = saleRegionsMap.get(1).stream().map(BmsRegion::getId).collect(Collectors.toList()); |
|
|
|
List<String> regionIds02 = saleRegionsMap.get(2).stream().map(BmsRegion::getId).collect(Collectors.toList()); |
|
|
|
List<String> regionIds03 = saleRegionsMap.get(3).stream().map(BmsRegion::getId).collect(Collectors.toList()); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds01,1,userId); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds02,2,userId); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds03,3,userId); |
|
|
|
for (Integer level : saleRegionsMap.keySet()) { |
|
|
|
List<BmsRegion> saleRegionListByLevel = saleRegionsMap.get(level); |
|
|
|
List<String> regionIds = saleRegionListByLevel.stream().map(BmsRegion::getId).collect(Collectors.toList()); |
|
|
|
toHisUserSupplier(userSuppliers,0,regionIds,3,userId); |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> regionBizIds = regionUsers.stream() |
|
|
|
.filter(a->a.getType().equals(1)) |
|
|
@ -89,12 +87,11 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe |
|
|
|
if(regionBizIds.size()>0){ |
|
|
|
List<BmsRegion2> bizRegions = bizRegionService.listByIds(regionBizIds); |
|
|
|
Map<Integer,List<BmsRegion2>> saleRegionsMap = bizRegions.stream().collect(Collectors.groupingBy(BmsRegion2::getLevel)); |
|
|
|
List<String> regionIds01 = saleRegionsMap.get(1).stream().map(BmsRegion2::getId).collect(Collectors.toList()); |
|
|
|
List<String> regionIds02 = saleRegionsMap.get(2).stream().map(BmsRegion2::getId).collect(Collectors.toList()); |
|
|
|
List<String> regionIds03 = saleRegionsMap.get(3).stream().map(BmsRegion2::getId).collect(Collectors.toList()); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds01,1,userId); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds02,2,userId); |
|
|
|
toHisUserSupplier(userSuppliers,regionIds03,3,userId); |
|
|
|
for (Integer level : saleRegionsMap.keySet()) { |
|
|
|
List<BmsRegion2> region2List = saleRegionsMap.get(level); |
|
|
|
List<String> region2Ids = region2List.stream().map(BmsRegion2::getId).collect(Collectors.toList()); |
|
|
|
toHisUserSupplier(userSuppliers,1,region2Ids,1,userId); |
|
|
|
} |
|
|
|
} |
|
|
|
if(userSuppliers.size()>0){ |
|
|
|
this.saveBatch(userSuppliers); |
|
|
@ -108,7 +105,8 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private void toHisUserSupplier(List<HisUserSupplier> userSuppliers,List<String> regionIds,Integer level,String userId){ |
|
|
|
|
|
|
|
private void toHisUserSupplier(List<HisUserSupplier> userSuppliers,Integer type,List<String> regionIds,Integer level,String userId){ |
|
|
|
if(regionIds.size()>0){ |
|
|
|
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>(); |
|
|
|
if(level.equals(1)){ |
|
|
@ -120,11 +118,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe |
|
|
|
} |
|
|
|
List<BmsSupplier> supplierList = bmsSupplierService.list(lqw); |
|
|
|
for (BmsSupplier supplier : supplierList) { |
|
|
|
HisUserSupplier userSupplier = new HisUserSupplier(); |
|
|
|
userSupplier.setUserId(userId); |
|
|
|
userSupplier.setSupplierId(Long.parseLong(supplier.getId())); |
|
|
|
userSupplier.setType(0); |
|
|
|
userSupplier.setMasterFlag(supplier.getMasterFlag()); |
|
|
|
HisUserSupplier userSupplier = supplier.toHisUserSupplier(userId,type); |
|
|
|
userSuppliers.add(userSupplier); |
|
|
|
} |
|
|
|
} |
|
|
|