| | |
| | | |
| | | List<MallOrderItem> items = mallOrderInfoMapper.getMallOrderItemByOrderId(orderId); |
| | | for (MallOrderItem item : items) { |
| | | item.setHasSettle(1); |
| | | mallOrderItemMapper.updateById(item); |
| | | |
| | | // 减去成本后算收益 |
| | | BigDecimal amount = item.getPrice().subtract(item.getCostPrice()).multiply(BigDecimal.valueOf(item.getCnt())); |
| | | if (amount.compareTo(BigDecimal.ZERO) < 1) { |
| | |
| | | } |
| | | |
| | | // 直推数量 |
| | | Integer directCnt = mallMemberMapper.selectOwnCntByInviteId(member.getReferrerId()); |
| | | Integer directCnt = mallMemberMapper.selectOwnCntByInviteId(parentMember.getInviteId()); |
| | | List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.INDIRECT_BONUS_SETTING.getType()); |
| | | |
| | | directCnt = directCnt == null ? 0 :directCnt; |
| | |
| | | } |
| | | |
| | | // 隔代推荐奖 收益 |
| | | direct = direct.divide(indrectDicProp, 2, RoundingMode.HALF_UP); |
| | | direct = direct.multiply(indrectDicProp.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP)); |
| | | |
| | | // direct 收益小于1,则跳出 |
| | | if (direct.compareTo(BigDecimal.ONE) < 1) { |
| | | continue; |
| | | break; |
| | | } |
| | | |
| | | int reduceResult = walletService.reduce(direct, parentMember.getId(), "score"); |
| | |
| | | moneyFlowService.addMoneyFlow(parentMember.getId(), direct.negate(), MoneyFlowTypeEnum.RECOMMEND_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue()); |
| | | } |
| | | // =======隔代奖== end ===== |
| | | |
| | | item.setHasSettle(1); |
| | | mallOrderItemMapper.updateById(item); |
| | | } |
| | | } |
| | | |