diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java index 387d2be5..e98eba44 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java +++ b/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.util.*; 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.BmsSupplierService; import com.qs.serve.modules.tbs.entity.TbsActivityTemplateLog; import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion; import com.qs.serve.modules.tbs.service.TbsActivityTemplateLogService; @@ -45,6 +47,8 @@ public class TbsActivityTemplateController { private TbsActivityTemplateRegionService tbsActivityTemplateRegionService; private BmsRegionUserService bmsRegionUserService; private final TbsActivityTemplateLogService activityTemplateLogService; + private BmsSupplierService bmsSupplierService; + /** * 列表 @@ -225,33 +229,72 @@ public class TbsActivityTemplateController { return R.ok(count); } + private List getSaleRegionIds(List list){ + List 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 getBizRegionIds(List list){ + List 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 private LambdaQueryWrapper buildMyTempQueryWrapper(String templateName) { String userId = AuthContextUtils.getSysUserId(); - LambdaQueryWrapper regionUseLqw = new LambdaQueryWrapper<>(); - regionUseLqw.eq(BmsRegionUser::getUserId,userId); - List regionUsers = bmsRegionUserService.list(regionUseLqw); - Map> listMap = regionUsers.stream().collect(Collectors.groupingBy(BmsRegionUser::getType)); - List saleRegion = listMap.get(0); - List bizRegion = listMap.get(1); + BmsSupplier param = new BmsSupplier(); + param.setCurrUserId(userId); + param.setCooperatePauseFlag(0); + param.setStopFlag(0); + List supplierList = bmsSupplierService.selectSupplierList(param); + + List saleRegionIds = getSaleRegionIds(supplierList); + List bizRegionIds = getBizRegionIds(supplierList); + LambdaQueryWrapper tempLqw = new LambdaQueryWrapper<>(); - if(CollectionUtil.isNotEmpty(saleRegion)){ - List regionIds = saleRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(saleRegionIds)){ tempLqw.or(con->{ con.eq(TbsActivityTemplateRegion::getType,"sale"); - con.in(TbsActivityTemplateRegion::getRegionId,regionIds); + con.in(TbsActivityTemplateRegion::getRegionId,saleRegionIds); }); } - if(CollectionUtil.isNotEmpty(bizRegion)){ - List regionIds = bizRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(bizRegionIds)){ tempLqw.or(con->{ con.eq(TbsActivityTemplateRegion::getType,"biz"); - con.in(TbsActivityTemplateRegion::getRegionId,regionIds); + con.in(TbsActivityTemplateRegion::getRegionId,bizRegionIds); }); } List templateRegions = null; - if(CollectionUtil.isNotEmpty(saleRegion)||CollectionUtil.isNotEmpty(bizRegion)){ + if(CollectionUtil.isNotEmpty(saleRegionIds)||CollectionUtil.isNotEmpty(bizRegionIds)){ templateRegions = tbsActivityTemplateRegionService.list(tempLqw); } List templateIds = templateRegions!=null&&templateRegions.size()>0?templateRegions.stream() @@ -261,19 +304,11 @@ public class TbsActivityTemplateController { tmpLqw.eq(TbsActivityTemplate::getTemplateState,1); List finalTemplateRegions = templateRegions; tmpLqw.and(a->{ - if(CollectionUtil.isNotEmpty(saleRegion)){ - 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::getSaleRegionFlag,0)); + a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0)); if(CollectionUtil.isNotEmpty(finalTemplateRegions)){ 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)){ tmpLqw.like(TbsActivityTemplate::getTemplateName, templateName);