|
@ -8,7 +8,9 @@ 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.*; |
|
|
import com.qs.serve.common.util.*; |
|
|
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.service.BmsRegionUserService; |
|
|
import com.qs.serve.modules.bms.service.BmsRegionUserService; |
|
|
|
|
|
import com.qs.serve.modules.bms.service.BmsSupplierService; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateLog; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateLog; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion; |
|
|
import com.qs.serve.modules.tbs.service.TbsActivityTemplateLogService; |
|
|
import com.qs.serve.modules.tbs.service.TbsActivityTemplateLogService; |
|
@ -45,6 +47,8 @@ public class TbsActivityTemplateController { |
|
|
private TbsActivityTemplateRegionService tbsActivityTemplateRegionService; |
|
|
private TbsActivityTemplateRegionService tbsActivityTemplateRegionService; |
|
|
private BmsRegionUserService bmsRegionUserService; |
|
|
private BmsRegionUserService bmsRegionUserService; |
|
|
private final TbsActivityTemplateLogService activityTemplateLogService; |
|
|
private final TbsActivityTemplateLogService activityTemplateLogService; |
|
|
|
|
|
private BmsSupplierService bmsSupplierService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 列表 |
|
|
* 列表 |
|
@ -225,33 +229,72 @@ public class TbsActivityTemplateController { |
|
|
return R.ok(count); |
|
|
return R.ok(count); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<String> getSaleRegionIds(List<BmsSupplier> list){ |
|
|
|
|
|
List<String> regionIds = list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegionLast() != null && !sup.getRegionLast().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegionLast).collect(Collectors.toList()); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegionFirst() != null && !sup.getRegionFirst().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegionFirst).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegionSecond() != null && !sup.getRegionSecond().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegionSecond).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegionThird() != null && !sup.getRegionThird().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegionThird).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegionFourthly() != null && !sup.getRegionFourthly().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegionFourthly).collect(Collectors.toList())); |
|
|
|
|
|
return regionIds; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<String> getBizRegionIds(List<BmsSupplier> list){ |
|
|
|
|
|
List<String> regionIds = list.stream() |
|
|
|
|
|
.filter(sup->sup.getRegion2Last()!=null&&!sup.getRegion2Last().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegion2Last).collect(Collectors.toList()); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegion2First() != null && !sup.getRegion2First().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegion2First).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegion2Second() != null && !sup.getRegion2Second().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegion2Second).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegion2Third() != null && !sup.getRegion2Third().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegion2Third).collect(Collectors.toList())); |
|
|
|
|
|
regionIds.addAll(list.stream() |
|
|
|
|
|
.filter(sup -> sup.getRegion2Fourthly() != null && !sup.getRegion2Fourthly().equals("0")) |
|
|
|
|
|
.map(BmsSupplier::getRegion2Fourthly).collect(Collectors.toList())); |
|
|
|
|
|
return regionIds; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@NotNull |
|
|
@NotNull |
|
|
private LambdaQueryWrapper<TbsActivityTemplate> buildMyTempQueryWrapper(String templateName) { |
|
|
private LambdaQueryWrapper<TbsActivityTemplate> buildMyTempQueryWrapper(String templateName) { |
|
|
String userId = AuthContextUtils.getSysUserId(); |
|
|
String userId = AuthContextUtils.getSysUserId(); |
|
|
LambdaQueryWrapper<BmsRegionUser> regionUseLqw = new LambdaQueryWrapper<>(); |
|
|
BmsSupplier param = new BmsSupplier(); |
|
|
regionUseLqw.eq(BmsRegionUser::getUserId,userId); |
|
|
param.setCurrUserId(userId); |
|
|
List<BmsRegionUser> regionUsers = bmsRegionUserService.list(regionUseLqw); |
|
|
param.setCooperatePauseFlag(0); |
|
|
Map<Integer,List<BmsRegionUser>> listMap = regionUsers.stream().collect(Collectors.groupingBy(BmsRegionUser::getType)); |
|
|
param.setStopFlag(0); |
|
|
List<BmsRegionUser> saleRegion = listMap.get(0); |
|
|
List<BmsSupplier> supplierList = bmsSupplierService.selectSupplierList(param); |
|
|
List<BmsRegionUser> bizRegion = listMap.get(1); |
|
|
|
|
|
|
|
|
List<String> saleRegionIds = getSaleRegionIds(supplierList); |
|
|
|
|
|
List<String> bizRegionIds = getBizRegionIds(supplierList); |
|
|
|
|
|
|
|
|
LambdaQueryWrapper<TbsActivityTemplateRegion> tempLqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<TbsActivityTemplateRegion> tempLqw = new LambdaQueryWrapper<>(); |
|
|
if(CollectionUtil.isNotEmpty(saleRegion)){ |
|
|
if(CollectionUtil.isNotEmpty(saleRegionIds)){ |
|
|
List<String> regionIds = saleRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); |
|
|
|
|
|
tempLqw.or(con->{ |
|
|
tempLqw.or(con->{ |
|
|
con.eq(TbsActivityTemplateRegion::getType,"sale"); |
|
|
con.eq(TbsActivityTemplateRegion::getType,"sale"); |
|
|
con.in(TbsActivityTemplateRegion::getRegionId,regionIds); |
|
|
con.in(TbsActivityTemplateRegion::getRegionId,saleRegionIds); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
if(CollectionUtil.isNotEmpty(bizRegion)){ |
|
|
if(CollectionUtil.isNotEmpty(bizRegionIds)){ |
|
|
List<String> regionIds = bizRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); |
|
|
|
|
|
tempLqw.or(con->{ |
|
|
tempLqw.or(con->{ |
|
|
con.eq(TbsActivityTemplateRegion::getType,"biz"); |
|
|
con.eq(TbsActivityTemplateRegion::getType,"biz"); |
|
|
con.in(TbsActivityTemplateRegion::getRegionId,regionIds); |
|
|
con.in(TbsActivityTemplateRegion::getRegionId,bizRegionIds); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
List<TbsActivityTemplateRegion> templateRegions = null; |
|
|
List<TbsActivityTemplateRegion> templateRegions = null; |
|
|
if(CollectionUtil.isNotEmpty(saleRegion)||CollectionUtil.isNotEmpty(bizRegion)){ |
|
|
if(CollectionUtil.isNotEmpty(saleRegionIds)||CollectionUtil.isNotEmpty(bizRegionIds)){ |
|
|
templateRegions = tbsActivityTemplateRegionService.list(tempLqw); |
|
|
templateRegions = tbsActivityTemplateRegionService.list(tempLqw); |
|
|
} |
|
|
} |
|
|
List<Long> templateIds = templateRegions!=null&&templateRegions.size()>0?templateRegions.stream() |
|
|
List<Long> templateIds = templateRegions!=null&&templateRegions.size()>0?templateRegions.stream() |
|
@ -261,19 +304,11 @@ public class TbsActivityTemplateController { |
|
|
tmpLqw.eq(TbsActivityTemplate::getTemplateState,1); |
|
|
tmpLqw.eq(TbsActivityTemplate::getTemplateState,1); |
|
|
List<TbsActivityTemplateRegion> finalTemplateRegions = templateRegions; |
|
|
List<TbsActivityTemplateRegion> finalTemplateRegions = templateRegions; |
|
|
tmpLqw.and(a->{ |
|
|
tmpLqw.and(a->{ |
|
|
if(CollectionUtil.isNotEmpty(saleRegion)){ |
|
|
|
|
|
a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0)); |
|
|
a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0)); |
|
|
} |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(bizRegion)){ |
|
|
|
|
|
a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0)); |
|
|
a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0)); |
|
|
} |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(finalTemplateRegions)){ |
|
|
if(CollectionUtil.isNotEmpty(finalTemplateRegions)){ |
|
|
a.or(b->b.in(TbsActivityTemplate::getId,templateIds)); |
|
|
a.or(b->b.in(TbsActivityTemplate::getId,templateIds)); |
|
|
} |
|
|
} |
|
|
a.or(b->{ |
|
|
|
|
|
b.eq(TbsActivityTemplate::getSaleRegionFlag,0); |
|
|
|
|
|
b.eq(TbsActivityTemplate::getBizRegionFlag,0); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
}); |
|
|
if(StringUtils.hasText(templateName)){ |
|
|
if(StringUtils.hasText(templateName)){ |
|
|
tmpLqw.like(TbsActivityTemplate::getTemplateName, templateName); |
|
|
tmpLqw.like(TbsActivityTemplate::getTemplateName, templateName); |
|
|