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 9f642637..d2833858 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 @@ -6,10 +6,9 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; -import com.qs.serve.common.util.CollectionUtil; -import com.qs.serve.common.util.PageUtil; -import com.qs.serve.common.util.CopierUtil; -import com.qs.serve.common.util.StringUtils; +import com.qs.serve.common.util.*; +import com.qs.serve.modules.bms.entity.BmsRegionUser; +import com.qs.serve.modules.bms.service.BmsRegionUserService; import com.qs.serve.modules.tbs.entity.TbsActivityTemplateRegion; import com.qs.serve.modules.tbs.service.TbsActivityTemplateRegionService; import lombok.AllArgsConstructor; @@ -40,6 +39,7 @@ public class TbsActivityTemplateController { private TbsActivityTemplateService tbsActivityTemplateService; private TbsActivityTemplateRegionService tbsActivityTemplateRegionService; + private BmsRegionUserService bmsRegionUserService; /** * 列表 @@ -161,5 +161,46 @@ public class TbsActivityTemplateController { return R.ok(templates); } + /** + * 获取当前用户的模板 + * @return + */ + @GetMapping("/listMyTemplate") + public R> listMyTemplate(){ + 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); + //TODO 有重复现象 + LambdaQueryWrapper tempLqw = new LambdaQueryWrapper<>(); + if(CollectionUtil.isNotEmpty(saleRegion)){ + List regionIds = saleRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); + tempLqw.or(con->{ + con.eq(TbsActivityTemplateRegion::getType,"sale"); + con.in(TbsActivityTemplateRegion::getRegionId,regionIds); + }); + } + if(CollectionUtil.isNotEmpty(bizRegion)){ + List regionIds = bizRegion.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList()); + tempLqw.or(con->{ + con.eq(TbsActivityTemplateRegion::getType,"biz"); + con.in(TbsActivityTemplateRegion::getRegionId,regionIds); + }); + } + PageUtil.startPage(); + List templateRegions = tbsActivityTemplateRegionService.list(tempLqw); + if(CollectionUtil.isNotEmpty(templateRegions)){ + List templateIds = templateRegions.stream() + .map(TbsActivityTemplateRegion::getTemplateId).collect(Collectors.toList()); + List templates = tbsActivityTemplateService.listByIds(templateIds); + return R.byPageHelperList(templateRegions,templates); + }else { + return R.byEmptyList(); + } + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetMatchVo.java b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetMatchVo.java index 17b4138c..10583a6b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetMatchVo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetMatchVo.java @@ -29,6 +29,9 @@ public class TbsBudgetMatchVo { /** 预算已使用金额 */ private BigDecimal usedAmount; + /** 当前活动金额 */ + private BigDecimal currentAmount; + @Data public static class BudgetVo{ /** 预算编码 */ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityApplicationService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityApplicationService.java index 41b0102f..7ae9b014 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityApplicationService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsActivityApplicationService.java @@ -14,6 +14,7 @@ import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.util.TbsBudgetCostUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; +import com.qs.serve.modules.tbs.entity.bo.TbsActivitySubjectBo; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetMatchVo; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo; @@ -125,6 +126,12 @@ public class TbsActivityApplicationService { totalAllHisAmount = totalBudgetHisAmount.add(totalBudgetHisAmount); } } + //统计当前活动金额 + BigDecimal totalCurrent = BigDecimal.ZERO; + for (TbsActivitySubjectBo subjectBo : activityBo.getActivitySubjectList()) { + totalCurrent = totalCurrent.add(subjectBo.getAmount()); + } + budgetMatchVo.setCurrentAmount(totalCurrent); budgetMatchVo.setBudgetVoList(matchVos); budgetMatchVo.setUsedAmount(totalAllHisAmount); budgetMatchVo.setTotalAmount(totalAllAmount);