| | |
| | | private AccountMapper accountMapper; |
| | | @Autowired |
| | | private UserMapper userMapper; |
| | | @Autowired |
| | | private ScoreDetailsMapper scoreDetailsMapper; |
| | | |
| | | public void distribRecord(Long orderId, String userId) { |
| | | UserHeadRelate userHeadRelate = userHeadRelateMapper.selectRelateByUserId(userId); |
| | |
| | | // 首单返利 |
| | | if (StrUtil.isNotBlank(value) && !"0".equals(value)) { |
| | | BigDecimal money = new BigDecimal(value); |
| | | totalReturnScore = totalReturnScore.add(money); |
| | | totalReturnCoin = totalReturnCoin.add(money); |
| | | remark.add("首单返利:" + money); |
| | | } |
| | | } |
| | |
| | | // 根据订单总积分, 1:40比例,换算成环保币,返对应百分比 |
| | | if (StrUtil.isNotBlank(coinStr) && !"0".equals(coinStr)) { |
| | | BigDecimal coinRatio = new BigDecimal(coinStr).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal totalCoin = totalScore.multiply(new BigDecimal(40)); |
| | | BigDecimal totalCoin = totalScore.divide(new BigDecimal(40), 2, BigDecimal.ROUND_DOWN); |
| | | |
| | | BigDecimal returnCoin = totalCoin.multiply(coinRatio).setScale(2, BigDecimal.ROUND_DOWN); |
| | | totalReturnCoin = totalReturnCoin.add(returnCoin); |
| | |
| | | accountInfo.setCollectScore(collectScore.add(totalReturnScore).setScale(0, BigDecimal.ROUND_DOWN).toString()); |
| | | accountMapper.updateByPrimaryKey(accountInfo); |
| | | |
| | | if (totalReturnScore.compareTo(BigDecimal.ZERO) > 0) { |
| | | ScoreDetails scoreDetails = new ScoreDetails(); |
| | | scoreDetails.setCurrentScore(new BigDecimal(accountInfo.getCollectScore())); |
| | | scoreDetails.setOriginalScore(collectScore); |
| | | scoreDetails.setChangeScore(totalReturnScore); |
| | | scoreDetails.setCreatedTime(new Date()); |
| | | scoreDetails.setType(ScoreDetails.SCORE_TYPE_OTHER); |
| | | scoreDetails.setUserId(userHeadRelate.getHeadUserId()); |
| | | scoreDetails.setOrderNo(order.getOrderNo()); |
| | | scoreDetailsMapper.insert(scoreDetails); |
| | | } |
| | | |
| | | SysMessage sysMessage = new SysMessage(); |
| | | sysMessage.setCreateTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); |
| | | sysMessage.setCreateUserId(userHeadRelate.getHeadUserId()); |