From 1b016a3079125a5922e5effb50a9c6db2f73941f Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sat, 22 Nov 2025 11:17:40 +0800 Subject: [PATCH] rjquwht --- .../api/controller/vv/AppOrderController.java | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java index 0283963..333230e 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -358,47 +358,47 @@ public class AppOrderController { vvTradeOrderLineDao.insertOrUpdateVvTradeOrderLine(tradeOrderLineEntity); } - List vvPromoterBuyerList = vvPromoterBuyerDao.selectVvPromoterBuyerByPromoterId(vvActivityDTO.getPromoterId()); if (CollectionUtils.isNotEmpty(vvPromoterBuyerList) && CollectionUtils.isNotEmpty(vvPromoterTradeOrderLineAwardEntityList)) { - for (int i = 0; i < vvPromoterBuyerList.size(); i++) { - VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity = new VvPromoterTradeOrderAwardEntity(); - VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardIndex_0 = vvPromoterTradeOrderLineAwardEntityList.get(0); - VvPromoterBuyerEntity vvPromoterBuyer = vvPromoterBuyerList.get(i); - - vvPromoterTradeOrderAwardEntity.setPromoterBuyerId(vvPromoterBuyer.getPromoterBuyerId()); - vvPromoterTradeOrderAwardEntity.setPromoterBuyerName(vvPromoterBuyer.getPromoterBuyerName()); - vvPromoterTradeOrderAwardEntity.setPromoterBuyerPhone(vvPromoterBuyer.getPromoterBuyerPhone()); - vvPromoterTradeOrderAwardEntity.setPromoterBuyerWeixin(vvPromoterBuyer.getPromoterBuyerWeixin()); - - BeanUtils.copyProperties(vvPromoterTradeOrderLineAwardIndex_0, vvPromoterTradeOrderAwardEntity); - vvPromoterTradeOrderAwardDao.insertVvPromoterTradeOrderAward(vvPromoterTradeOrderAwardEntity); - - BigDecimal tradeOrderAward = BigDecimal.ZERO; - for (VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardEntity : vvPromoterTradeOrderLineAwardEntityList) { - BigDecimal awardAmount = vvPromoterTradeOrderLineAwardEntity.getAwardAmount(); - BigDecimal awardAmountSingle = BigDecimalUtil.divide(awardAmount, new BigDecimal(vvPromoterBuyerList.size())); - VvPromoterTradeOrderLineAwardEntity promoterTradeOrderLineAwardNew = new VvPromoterTradeOrderLineAwardEntity(); - BeanUtils.copyProperties(vvPromoterTradeOrderLineAwardEntity, promoterTradeOrderLineAwardNew); - - BigDecimal sum = BigDecimal.ZERO; + Map> vvPromoterTradeOrderLineAwardMap = new HashMap<>(); + for (VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardEntity : vvPromoterTradeOrderLineAwardEntityList) { + BigDecimal awardAmount = vvPromoterTradeOrderLineAwardEntity.getAwardAmount(); + BigDecimal awardAmountSingle = BigDecimalUtil.divide(awardAmount, new BigDecimal(vvPromoterBuyerList.size())); + VvPromoterTradeOrderLineAwardEntity promoterTradeOrderLineAwardNew = new VvPromoterTradeOrderLineAwardEntity(); + BeanUtils.copyProperties(vvPromoterTradeOrderLineAwardEntity, promoterTradeOrderLineAwardNew); + BigDecimal sum = BigDecimal.ZERO; + for (int i = 0; i < vvPromoterBuyerList.size(); i++) { + VvPromoterBuyerEntity vvPromoterBuyer = vvPromoterBuyerList.get(i); if (i == vvPromoterBuyerList.size() - 1) { promoterTradeOrderLineAwardNew.setAwardAmount(awardAmount.subtract(sum)); } else { sum = sum.add(awardAmountSingle); promoterTradeOrderLineAwardNew.setAwardAmount(awardAmountSingle); } - promoterTradeOrderLineAwardNew.setPromoterBuyerId(vvPromoterBuyer.getPromoterBuyerId()); promoterTradeOrderLineAwardNew.setPromoterBuyerName(vvPromoterBuyer.getPromoterBuyerName()); promoterTradeOrderLineAwardNew.setPromoterBuyerPhone(vvPromoterBuyer.getPromoterBuyerPhone()); promoterTradeOrderLineAwardNew.setPromoterBuyerWeixin(vvPromoterBuyer.getPromoterBuyerWeixin()); + vvPromoterTradeOrderLineAwardDao.insertVvPromoterTradeOrderLineAward(promoterTradeOrderLineAwardNew); - tradeOrderAward = tradeOrderAward.add(promoterTradeOrderLineAwardNew.getAwardAmount()); - vvPromoterTradeOrderLineAwardDao.insertVvPromoterTradeOrderLineAward(vvPromoterTradeOrderLineAwardEntity); + List list = vvPromoterTradeOrderLineAwardMap.get(vvPromoterBuyer.getPromoterBuyerId()); + if(list ==null){ + list = new ArrayList<>(); + } + + list.add(promoterTradeOrderLineAwardNew); + vvPromoterTradeOrderLineAwardMap.put(vvPromoterBuyer.getPromoterBuyerId(), list); } - // 更新奖励金额 + } + + for( Map.Entry> entry:vvPromoterTradeOrderLineAwardMap.entrySet()){ + VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity = new VvPromoterTradeOrderAwardEntity(); + VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardIndex_0 = vvPromoterTradeOrderLineAwardEntityList.get(0); + BeanUtils.copyProperties(vvPromoterTradeOrderLineAwardIndex_0, vvPromoterTradeOrderAwardEntity); + + List vvPromoterTradeOrderLineAwardEntities = entry.getValue(); + BigDecimal tradeOrderAward = SanUtils.sum(vvPromoterTradeOrderLineAwardEntities,VvPromoterTradeOrderLineAwardEntity::getAwardAmount ); vvPromoterTradeOrderAwardEntity.setAwardAmount(tradeOrderAward); vvPromoterTradeOrderAwardDao.insertVvPromoterTradeOrderAward(vvPromoterTradeOrderAwardEntity); }