This commit is contained in:
quyixiao 2025-11-22 11:17:40 +08:00
parent f9eed324c3
commit 1b016a3079

View File

@ -358,47 +358,47 @@ public class AppOrderController {
vvTradeOrderLineDao.insertOrUpdateVvTradeOrderLine(tradeOrderLineEntity);
}
List<VvPromoterBuyerEntity> 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<Long,List<VvPromoterTradeOrderLineAwardEntity>> 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<VvPromoterTradeOrderLineAwardEntity> list = vvPromoterTradeOrderLineAwardMap.get(vvPromoterBuyer.getPromoterBuyerId());
if(list ==null){
list = new ArrayList<>();
}
list.add(promoterTradeOrderLineAwardNew);
vvPromoterTradeOrderLineAwardMap.put(vvPromoterBuyer.getPromoterBuyerId(), list);
}
// 更新奖励金额
}
for( Map.Entry<Long,List<VvPromoterTradeOrderLineAwardEntity>> entry:vvPromoterTradeOrderLineAwardMap.entrySet()){
VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity = new VvPromoterTradeOrderAwardEntity();
VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardIndex_0 = vvPromoterTradeOrderLineAwardEntityList.get(0);
BeanUtils.copyProperties(vvPromoterTradeOrderLineAwardIndex_0, vvPromoterTradeOrderAwardEntity);
List<VvPromoterTradeOrderLineAwardEntity> vvPromoterTradeOrderLineAwardEntities = entry.getValue();
BigDecimal tradeOrderAward = SanUtils.sum(vvPromoterTradeOrderLineAwardEntities,VvPromoterTradeOrderLineAwardEntity::getAwardAmount );
vvPromoterTradeOrderAwardEntity.setAwardAmount(tradeOrderAward);
vvPromoterTradeOrderAwardDao.insertVvPromoterTradeOrderAward(vvPromoterTradeOrderAwardEntity);
}