From 6cd7904f0d9667889da1f0dc626b46a7e68362f5 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 5 Dec 2023 15:40:54 +0800 Subject: [PATCH] debug --- .../modules/tbs/mapper/TbsActivityMapper.java | 3 ++ .../tbs/service/TbsCostApplyService.java | 8 +++ .../service/impl/TbsCostApplyServiceImpl.java | 7 +++ .../service/impl/VtbFundFlowServiceImpl.java | 25 ++++++++++ .../impl/VtbVerificationServiceImpl.java | 49 +++++-------------- 5 files changed, 56 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java index acb97548..396826f9 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityMapper.java @@ -15,6 +15,9 @@ import java.util.List; */ public interface TbsActivityMapper extends BaseMapper { + @Select("select sum(tbs_activity.used_amount) from tbs_activity where cost_apply_id = #{costId} and del_flag = 0") + BigDecimal sumCostUsedAmount(@Param("costId") Long costId); + /** * 统计用户所有通过审核的费用 * @param supplierId diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java index 0e1da3c4..0327c275 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java @@ -8,6 +8,7 @@ import com.qs.serve.modules.bms.entity.BmsApplyMessage; import com.qs.serve.modules.tbs.entity.TbsCostApply; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -18,6 +19,13 @@ import java.util.Map; */ public interface TbsCostApplyService extends IService { + /** + * 通过活动合计费用申请总支付金额 + * @param id + * @return + */ + BigDecimal totalCostUsed(Long id); + void updateCheckState(); TbsCostApply getByCode(String code); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 57f0d0e1..43f06627 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -125,8 +125,14 @@ public class TbsCostApplyServiceImpl extends ServiceImpl activityCenterGoodsList = activityCenterGoodsService.listByActivityId(activityId); //更新其它明细 Map> fundFlowMapBySubject = allFunFlow.stream().collect(Collectors.groupingBy(VtbFundFlow::getSubjectId)); + if(fundFlowMapBySubject.size()==0){ + for (TbsActivitySubject currActivitySubject : activitySubjectList) { + TbsActivitySubject activitySubject = new TbsActivitySubject(); + activitySubject.setId(currActivitySubject.getId()); + activitySubject.setSubjectId(currActivitySubject.getSubjectId()); + activitySubject.setUsedAmount(BigDecimal.ZERO); + activitySubject4Update.add(activitySubject); + } + for (TbsActivityCenter center : activityCenterList) { + TbsActivityCenter centerParam = new TbsActivityCenter(); + centerParam.setId(center.getId()); + centerParam.setUsedAmount(BigDecimal.ZERO); + centerParam4Update.add(centerParam); + } + for (TbsActivityCenterGoods centerGoods : activityCenterGoodsList) { + TbsActivityCenterGoods centerGoodsParam = new TbsActivityCenterGoods(); + centerGoodsParam.setId(centerGoods.getId()); + centerGoodsParam.setUsedAmount(BigDecimal.ZERO); + centerGoodsParam.setCenterGoodsRate(centerGoods.getCenterGoodsRate()); + String subjectCenterKey = centerGoods.getSubjectId()+":"+centerGoods.getCenterType()+"_"+centerGoods.getCenterId(); + centerGoodsParam.setSubjectCenterKey(subjectCenterKey); + allUpdateCenterGoodsList.add(centerGoodsParam); + } + return; + } for (Long subjectId : fundFlowMapBySubject.keySet()) { List fundFlowList = fundFlowMapBySubject.get(subjectId); if(fundFlowList != null){ 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 e7e9d7da..8591c39c 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 @@ -387,41 +387,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl activityCenterList = activityCenterService.listByActivity(activity.getId()); - for (TbsActivityCenter activityCenter : activityCenterList) { - activityCenter.setUsedAmount(totalVtbAmt.multiply(activityCenter.getCenterRate()).divide(n100,2, RoundingMode.DOWN)); - } - activityCenterService.updateBatchById(activityCenterList); - Map subjectAmountMap = new HashMap<>(); - List centerGoodsList = activityCenterGoodsService.listByActivityId(activity.getId()); - for (TbsActivityCenterGoods centerGoods : centerGoodsList) { - centerGoods.setUsedAmount(totalVtbAmt.multiply(centerGoods.getCenterRate()).multiply(centerGoods.getCenterGoodsRate()).divide(n10000,2,RoundingMode.DOWN)); - BigDecimal amt = subjectAmountMap.get(centerGoods.getSubjectId()); - if(amt==null){ - amt = centerGoods.getUsedAmount(); - }else { - amt = amt.add(centerGoods.getUsedAmount()); - } - subjectAmountMap.put(centerGoods.getSubjectId(),amt); - } - activityCenterGoodsService.updateBatchById(centerGoodsList); - - List activitySubjectList = activitySubjectService.listByActivityId(activity.getId()); - for (TbsActivitySubject activitySubject : activitySubjectList) { - BigDecimal amt = subjectAmountMap.get(activitySubject.getSubjectId()); - activitySubject.setUsedAmount(amt==null?BigDecimal.ZERO:amt); - } - activitySubjectService.updateBatchById(activitySubjectList); + //刷新活动状态 + VtbFundFlowService vtbFundFlowService = SpringUtils.getBean(VtbFundFlowService.class); + vtbFundFlowService.flushActivityAmount(verification.getActivityId()); //如果为最后的活动,更变费用申请状态 if(costApply.getChargeState().equals(TbsCostApplyState.State_3_finished.getCode())){ @@ -440,6 +408,14 @@ public class VtbVerificationServiceImpl extends ServiceImpl