From 4bc0b71b0dc64194a9fa3b6bb4a0d812a1961c75 Mon Sep 17 00:00:00 2001 From: Yen Date: Sun, 7 Apr 2024 16:47:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E5=95=86?= =?UTF-8?q?=E5=93=81=E7=BB=B4=E5=BA=A6=E8=A7=84=E5=88=99=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BirActivityCenterGoodsController.java | 7 +- .../bir/entity/BirActivityCenterGoods.java | 4 + .../BirActivityCenterGoodsServiceImpl.java | 23 +++- .../goods/controller/GoodsSpuController.java | 36 +++--- .../modules/goods/entity/GoodsAccredit.java | 2 + .../serve/modules/goods/entity/GoodsSpu.java | 3 + .../goods/entity/dto/GoodsAccrIdsDto.java | 25 ++++ .../modules/goods/mapper/GoodsSkuMapper.java | 19 +++ .../goods/service/GoodsAccreditService.java | 14 ++ .../impl/GoodsAccreditServiceImpl.java | 120 ++++++++++++++++-- .../oms/service/impl/OmsOrderServiceImpl.java | 4 +- .../service/impl/SysDeleteLogServiceImpl.java | 22 ++-- .../modules/third/PortalOfCostController.java | 11 ++ .../service/PortalOfCostApplication.java | 21 ++- .../impl/VtbVerificationServiceImpl.java | 3 + .../resources/mapper/goods/GoodsSkuMapper.xml | 55 ++++++++ .../resources/mapper/goods/GoodsSpuMapper.xml | 6 + 17 files changed, 319 insertions(+), 56 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/dto/GoodsAccrIdsDto.java diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java index c480eb45..bf64ca58 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java @@ -77,13 +77,12 @@ public class BirActivityCenterGoodsController { @GetMapping("/toSyncDev") public R syncBir(Integer idType){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.notIn(TbsCostApply::getChargeState,0) - .select(TbsCostApply::getId) + lqw + .select(TbsCostApply::getId).ne(TbsCostApply::getChargeState,0) .eq(TbsCostApply::getCancelFlag,0) .eq(TbsCostApply::getTmpState,0) .gt(TbsCostApply::getTotalActivity,0) - .ge(TbsCostApply::getSubmitTime, LocalDate.of(2024,1,1).atStartOfDay()) - .last(" limit 100"); + .ge(TbsCostApply::getCreateTime, LocalDate.of(2023,1,1).atStartOfDay()) ; boolean ex = extracted(lqw); while (!ex){ ex = extracted(lqw); diff --git a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java index 19d86dc9..d9757521 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/BirActivityCenterGoods.java @@ -325,6 +325,10 @@ public class BirActivityCenterGoods implements Serializable { private Long templateId; + private Long budgetId; + + private Long scheduleItemBudgetId; + @TableField(condition = SqlCondition.LIKE) private String templateTitle; diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java index 34a65730..a983ece0 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirActivityCenterGoodsServiceImpl.java @@ -24,14 +24,12 @@ import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; -import com.qs.serve.modules.tbs.entity.TbsActivity; -import com.qs.serve.modules.tbs.entity.TbsActivityCenter; -import com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods; -import com.qs.serve.modules.tbs.entity.TbsCostApply; +import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.mapper.TbsActivityCenterGoodsMapper; import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.service.TbsActivityCenterGoodsService; +import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService; import com.qs.serve.modules.vtb.common.VtbFundFlowType; import com.qs.serve.modules.vtb.entity.VtbFundFlow; import com.qs.serve.modules.vtb.entity.dto.VtbFundFlowSumAmtDTO; @@ -81,6 +79,8 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl costApplyIds) { if(CollectionUtil.isEmpty(costApplyIds)){ @@ -148,7 +148,6 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl saleRegionList = regionMapper.selectList(regionLqw); Map saleRegionMap = saleRegionList.stream().collect(Collectors.toMap(BmsRegion::getId,a->a)); - LambdaQueryWrapper region2Lqw = new LambdaQueryWrapper<>(); region2Lqw.in(BmsRegion2::getId,bmsSupplierList.stream().map(a->a.getRegion2Last()).collect(Collectors.toList())); List bizRegionList = region2Mapper.selectList(region2Lqw); @@ -186,6 +185,12 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl activityCenterGoodsList = collectMap.get(activityId); for (TbsActivityCenterGoods activityCenterGoods : activityCenterGoodsList) { + + //绑定预算信息 + TbsBudgetCostItem costItem = budgetCostItemService.getOne( + new LambdaQueryWrapper() + .eq(TbsBudgetCostItem::getCenterGoodItemId,activityCenterGoods.getId()),false); + LocalDate actStartDate = activityCenterGoods.getPreStartDate(); LocalDate actEndDate = activityCenterGoods.getPreEndDate(); int currentActDays = (int) (actEndDate.toEpochDay()-actStartDate.toEpochDay()+1); @@ -198,6 +203,10 @@ public class BirActivityCenterGoodsServiceImpl extends ServiceImpl goodsAccreditList = goodsAccreditService - .listIgnoreAcc(supplier.getId(), supplier.listBizRegionIds(), supplier.listSaleRegionIds()); - Set spuIds = goodsAccreditList.stream().map(GoodsAccredit::getSpuId).filter(Objects::nonNull).collect(Collectors.toSet()); - Set cateIds = goodsAccreditList.stream().map(GoodsAccredit::getCategoryId).filter(Objects::nonNull).collect(Collectors.toSet()); - if(CollUtil.isNotEmpty(cateIds)){ - log.debug("SelectNotIntCateIds() {}",JsonUtil.objectToJson(cateIds)); - if(CollUtil.isEmpty(param.getSelectNotIntCateIds())){ - param.setSelectNotIntCateIds(new ArrayList<>(cateIds)); - }else{ - param.getSelectNotIntCateIds().addAll(cateIds); - } - } - if(CollUtil.isNotEmpty(spuIds)){ - log.debug("getSelectNotInIds() {}",JsonUtil.objectToJson(spuIds)); - if (CollUtil.isEmpty(param.getSelectNotInIds())){ - param.setSelectNotInIds(new ArrayList<>(spuIds)); - }else{ - param.getSelectNotInIds().addAll(spuIds); - } - } + GoodsAccrIdsDto accrIdsDto = goodsAccreditService + .listIgnoreAcc2(supplier.getId(), supplier.listBizRegionIds(), supplier.listSaleRegionIds()); + List ids = goodsSkuMapper.listByOtherIds( + accrIdsDto.getCateIds(), + accrIdsDto.getSpuIds(), + accrIdsDto.getSkuIds(), + accrIdsDto.getNotInCateIds(), + accrIdsDto.getNotInSpuIds(), + accrIdsDto.getNotInSkuIds() + ); + param.setNotInSkuIds(ids); + } /** diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsAccredit.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsAccredit.java index a4bb5448..b07efe79 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsAccredit.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsAccredit.java @@ -34,6 +34,8 @@ public class GoodsAccredit implements Serializable { /** 客户id */ private Long spuId; + private Long skuId; + /** 销售区域id */ @Length(max = 32,message = "销售区域id长度不能超过32字") private String categoryId; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 2ac7f698..51f648ab 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -178,6 +178,9 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private Integer selectSpecialFlag; + @TableField(exist = false) + private List notInSkuIds; + @TableField(exist = false) private BigDecimal skuPrice; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/dto/GoodsAccrIdsDto.java b/src/main/java/com/qs/serve/modules/goods/entity/dto/GoodsAccrIdsDto.java new file mode 100644 index 00000000..8fa38be1 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/dto/GoodsAccrIdsDto.java @@ -0,0 +1,25 @@ +package com.qs.serve.modules.goods.entity.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +/** + * @author YenHex + * @since 2024/4/7 + */ +@Data +@AllArgsConstructor +public class GoodsAccrIdsDto { + + private List skuIds; + private List spuIds; + private List cateIds; + + + private List notInSkuIds; + private List notInSpuIds; + private List notInCateIds; + +} diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java index c70a6490..af098f09 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java @@ -43,5 +43,24 @@ public interface GoodsSkuMapper extends BaseMapper { @Select("select * from goods_sku where sku_code = #{skuCode} and del_flag = 0 limit 1 ") GoodsSku selectBySkuCode(@Param("skuCode")String skuCode); + + /** + * 列出skuId + * @param cateIds + * @param spuIds + * @param skuIds + * @param notInCateIds + * @param notInSpuIds + * @param notInSkuIds + * @return + */ + @InterceptorIgnore(tenantLine = "1") + List listByOtherIds(@Param("cateIds") List cateIds, + @Param("spuIds") List spuIds, + @Param("skuIds") List skuIds, + @Param("notInCateIds") List notInCateIds, + @Param("notInSpuIds") List notInSpuIds, + @Param("notInSkuIds") List notInSkuIds); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsAccreditService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsAccreditService.java index 17d2d3ac..85150507 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsAccreditService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsAccreditService.java @@ -3,10 +3,13 @@ package com.qs.serve.modules.goods.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.goods.entity.GoodsAccredit; import com.qs.serve.modules.goods.entity.GoodsAccreditItem; +import com.qs.serve.modules.goods.entity.GoodsRuleItem; import com.qs.serve.modules.goods.entity.bo.GoodsAccreditBo; +import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; import com.qs.serve.modules.goods.entity.vo.GoodsAccreditVo; import java.util.List; +import java.util.Map; /** * 规则 服务接口 @@ -31,5 +34,16 @@ public interface GoodsAccreditService extends IService { */ List listIgnoreAcc(String supplierId,List bizRegionIds,List saleRegionIds); + GoodsAccrIdsDto listIgnoreAcc2(String supplierId, List bizRegionIds, List saleRegionIds); + + /** + * 检测sku是否符合规则 + * @param spuIds + * @param accreditList + * @param throwEx 不判断数量拦截,只条件拦截 + * @return + */ + boolean checkSkuCode(List spuIds, List accreditList, boolean throwEx); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java index f8a33b72..7e8cf088 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java @@ -13,21 +13,16 @@ import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.goods.entity.*; import com.qs.serve.modules.goods.entity.bo.GoodsAccreditBo; +import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; import com.qs.serve.modules.goods.entity.vo.GoodsAccreditVo; -import com.qs.serve.modules.goods.mapper.GoodsAccreditItemMapper; -import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper; -import com.qs.serve.modules.goods.mapper.GoodsSpuMapper; +import com.qs.serve.modules.goods.mapper.*; import com.qs.serve.modules.goods.service.GoodsAccreditItemService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.qs.serve.modules.goods.service.GoodsAccreditService; -import com.qs.serve.modules.goods.mapper.GoodsAccreditMapper; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -42,10 +37,12 @@ public class GoodsAccreditServiceImpl extends ServiceImpl bizRegionIds, List saleRegionIds) { + //查询自身所有 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(GoodsAccreditItem::getId,GoodsAccreditItem::getAccType) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"supplier").eq(GoodsAccreditItem::getTargetId,supplierId)) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"saleRegion").in(GoodsAccreditItem::getTargetId,saleRegionIds)) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"bizRegion").in(GoodsAccreditItem::getTargetId,bizRegionIds)); + + List selfNotInIds = goodsAccreditItemService.list(lqw).stream() + .filter(a->a.getAccType().equals(1)).map(GoodsAccreditItem::getId).collect(Collectors.toList()); + List selfInIds = goodsAccreditItemService.list(lqw).stream() + .filter(a->a.getAccType().equals(0)).map(GoodsAccreditItem::getId).collect(Collectors.toList()); + + + //查询其它维度所有in + LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); + lqw2.select(GoodsAccreditItem::getId) + .eq(GoodsAccreditItem::getAccType,0).and( + qw->{ + qw.or(a->a.eq(GoodsAccreditItem::getTargetType,"supplier").ne(GoodsAccreditItem::getTargetId,supplierId)) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"saleRegion").notIn(GoodsAccreditItem::getTargetId,saleRegionIds)) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"bizRegion").notIn(GoodsAccreditItem::getTargetId,bizRegionIds)); + } + ); + List otherInIds = goodsAccreditItemService.list(lqw2) + .stream().map(GoodsAccreditItem::getId).collect(Collectors.toList()); + selfNotInIds.addAll(otherInIds); + + List skuIds = new ArrayList<>(); + List spuIds = new ArrayList<>(); + List cateIds = new ArrayList<>(); + + List skuNotInIds = new ArrayList<>(); + List spuNotInIds = new ArrayList<>(); + List cateNotInIds = new ArrayList<>(); + + //设置默认值 防止空in + skuIds.add(-1000L); + spuIds.add(-1000L); + cateIds.add("-999"); + skuNotInIds.add(-1000L); + spuNotInIds.add(-1000L); + cateNotInIds.add("-999"); + + if(CollUtil.isNotEmpty(selfNotInIds)){ + List notInList = this.listByIds(selfNotInIds); + Set spuIds2 = notInList.stream().map(GoodsAccredit::getSpuId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set skuIds2 = notInList.stream().map(GoodsAccredit::getSkuId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set cateIds2 = notInList.stream().map(GoodsAccredit::getCategoryId).filter(Objects::nonNull).collect(Collectors.toSet()); + skuIds.addAll(skuIds2); + spuIds.addAll(spuIds2); + cateIds.addAll(cateIds2); + } + + if(CollUtil.isNotEmpty(selfInIds)){ + List inList = this.listByIds(selfInIds); + Set spuIds2 = inList.stream().map(GoodsAccredit::getSpuId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set skuIds2 = inList.stream().map(GoodsAccredit::getSkuId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set cateIds2 = inList.stream().map(GoodsAccredit::getCategoryId).filter(Objects::nonNull).collect(Collectors.toSet()); + skuNotInIds.addAll(skuIds2); + spuNotInIds.addAll(spuIds2); + cateNotInIds.addAll(cateIds2); + } + return new GoodsAccrIdsDto(skuIds,spuIds,cateIds,skuNotInIds,spuNotInIds,cateNotInIds); + } + + @Override + public boolean checkSkuCode(List spuIds, List accreditList, boolean throwEx) { + if(CollUtil.isEmpty(spuIds)){ + return false; + } + List spuList = spuMapper.selectBatchIds(spuIds); + for (GoodsAccredit accredit : accreditList) { + if(accredit.getSpuId()!=null){ + for (GoodsSpu spu : spuList) { + if(spu.getId().equals(accredit.getSpuId())){ + if(throwEx){ + Assert.throwEx("SKU["+spu.getSpuCode()+"]不可下单"); + } + return false; + } + } + }else if (accredit.getCategoryId()!=null){ + for (GoodsSpu spu : spuList) { + for (String categoryId : spu.listCategoryIds()) { + if(categoryId.equals(accredit.getCategoryId())){ + if(throwEx){ + Assert.throwEx("SKU["+spu.getSpuCode()+"]不可下单"); + } + return false; + } + } + } + } + } + return false; + } + private GoodsAccredit getGoodsAccredit(GoodsAccreditBo param){ GoodsAccredit accredit = null; if(param.getCategoryId()!=null){ @@ -344,6 +440,14 @@ public class GoodsAccreditServiceImpl extends ServiceImpl() + .eq(GoodsAccredit::getSkuId,param.getSkuId()),false); + if(accredit==null){ + GoodsSku sku = goodsSkuMapper.selectById(param.getSkuId()); + accredit = new GoodsAccredit(); + accredit.setSkuId(sku.getId()); + } } return accredit; } diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 8e03afb1..d0f14c8f 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -12,6 +12,7 @@ import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.bms.service.BmsSupplierAddressService; import com.qs.serve.modules.goods.common.GoodsConst; +import com.qs.serve.modules.goods.entity.GoodsAccredit; import com.qs.serve.modules.goods.entity.GoodsCategoryRule; import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.goods.entity.GoodsSpu; @@ -330,7 +331,8 @@ public class OmsOrderServiceImpl extends ServiceImpl im //拦截商品授权维度规则 if(supplier!=null){ - goodsAccreditService.listIgnoreAcc(supplier.getId(),supplier.getSelectBizRegionIds(),supplier.getSelectSaleRegionIds()); + List accredits = goodsAccreditService.listIgnoreAcc(supplier.getId(),supplier.getSelectBizRegionIds(),supplier.getSelectSaleRegionIds()); + goodsAccreditService.checkSkuCode(spuIds,accredits,true); } //拦截客户维度规则 diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java index 68b1274b..f4b52598 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java @@ -66,17 +66,17 @@ public class SysDeleteLogServiceImpl extends ServiceImpl checkContractCheck(Long costId){ + portalOfCostApplication.updateCostUsedAmount(costId); + return R.ok(); + } + /** * 协议类费用 释放接口 * @param contractBo diff --git a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java index 203191b5..2b6d2152 100644 --- a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java +++ b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.third.service; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.qs.serve.common.config.properties.ProjectApisProperties; @@ -1071,7 +1072,7 @@ public class PortalOfCostApplication { * 协议类费用 核销支付记录 * @param createBo */ - @Transactional(rollbackFor = Exception.class) + @DSTransactional public void createByContractCheck(ProcessCreateContractCheckBo createBo){ TbsCostApply costApply = costApplyService.getByCode(createBo.getCostCode()); if(!costApply.getChargeState().equals(2)){ @@ -1229,17 +1230,25 @@ public class PortalOfCostApplication { } //判断金额是否用完,用完直接更新状态 //根据ActivitySubject更新活动金额 - List subjectNewList = activitySubjectService.listByActivityId(activity.getId()); - Map> groupActSubject= subjectNewList.stream() - .collect(Collectors.groupingBy(TbsActivitySubject::getActivityId)); + this.updateCostUsedAmount(costApply.getId()); + } + + + public void updateCostUsedAmount(Long costId) { + TbsCostApply costApply = costApplyService.getById(costId); + List subjectNewList = verificationSubjectService.list( + new LambdaQueryWrapper() + .eq(VtbVerificationSubject::getCostApplyId,costId)); + Map> groupActSubject= subjectNewList.stream() + .collect(Collectors.groupingBy(VtbVerificationSubject::getActivityId)); //统计费用申请 BigDecimal totalCostAmt = BigDecimal.ZERO; for (Long actId : groupActSubject.keySet()) { TbsActivity tbsActivity = activityService.getById(actId); - List activitySubjects = groupActSubject.get(actId); + List activitySubjects = groupActSubject.get(actId); //统计活动 BigDecimal totalActAmt = BigDecimal.ZERO; - for (TbsActivitySubject actSubject : activitySubjects) { + for (VtbVerificationSubject actSubject : activitySubjects) { if(actSubject.getUsedAmount()==null){ continue; } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 9f96ce17..c5e1d9e6 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -473,6 +473,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl + + diff --git a/src/main/resources/mapper/goods/GoodsSpuMapper.xml b/src/main/resources/mapper/goods/GoodsSpuMapper.xml index dce51009..a073d34e 100644 --- a/src/main/resources/mapper/goods/GoodsSpuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSpuMapper.xml @@ -89,6 +89,12 @@ `goods_sku`.`sku_name` like concat('%', #{query.keyword},'%') ) + + and `goods_spu`.`id` in + + #{selectId} + +