| | |
| | | * 所有合伙人补贴至消费礼包的三倍额度需要复购一次。 |
| | | */ |
| | | BigDecimal scoreSum = BigDecimal.ZERO; |
| | | BigDecimal achieveSum = BigDecimal.ZERO; |
| | | List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); |
| | | if (CollUtil.isNotEmpty(orderItems)) { |
| | | for (MallOrderItem orderItem : orderItems) { |
| | |
| | | new BigDecimal(mallGoods.getPresentPrice()) |
| | | .multiply(new BigDecimal(orderItem.getCnt())) |
| | | .multiply(basePercent) |
| | | .abs() |
| | | .setScale(2,BigDecimal.ROUND_DOWN)); |
| | | achieveSum = achieveSum.add( |
| | | new BigDecimal(mallGoods.getPresentPrice()) |
| | | .multiply(new BigDecimal(orderItem.getCnt())) |
| | | .abs() |
| | | .setScale(2,BigDecimal.ROUND_DOWN)); |
| | | } |
| | |
| | | /** |
| | | * 产生一条业绩记录 |
| | | */ |
| | | MallAchieveRecord mallAchieveRecord = new MallAchieveRecord(); |
| | | mallAchieveRecord.setMemberId(memberId); |
| | | mallAchieveRecord.setAchieveTime(new Date()); |
| | | mallAchieveRecord.setAmount(orderInfo.getAmount().subtract(orderInfo.getScoreAmount())); |
| | | mallAchieveRecord.setOrderId(orderId); |
| | | mallAchieveRecord.setPayTime(orderInfo.getPayTime()); |
| | | mallAchieveRecordMapper.insert(mallAchieveRecord); |
| | | if(achieveSum.compareTo(BigDecimal.ZERO) > 0){ |
| | | MallAchieveRecord mallAchieveRecord = new MallAchieveRecord(); |
| | | mallAchieveRecord.setMemberId(memberId); |
| | | mallAchieveRecord.setAchieveTime(new Date()); |
| | | mallAchieveRecord.setAmount(achieveSum.subtract(orderInfo.getScoreAmount())); |
| | | mallAchieveRecord.setOrderId(orderId); |
| | | mallAchieveRecord.setPayTime(orderInfo.getPayTime()); |
| | | mallAchieveRecordMapper.insert(mallAchieveRecord); |
| | | } |
| | | } |
| | | |
| | | public static void main(String[] args) { |