Browse Source

模板查询条件

v1.0
15989082884@163.com 2 years ago
parent
commit
9cccfc3412
  1. 81
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

81
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

@ -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)); a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0));
}
if(CollectionUtil.isNotEmpty(bizRegion)){
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);

Loading…
Cancel
Save