xiaoyong931011
2021-07-02 b02c10cc0f53a3dac95045bea33eb9aa3c13e3e3
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -168,9 +168,10 @@
        BigDecimal totalScore = BigDecimal.ZERO;
        for (JhyOrderConfirmItemsDto item : confirmDto.getItems()) {
            JhyOrderItems orderItem = jhyOrderItemsMapper.selectByPrimaryKey(item.getId());
            BigDecimal total = orderItem.getPrice().multiply(BigDecimal.valueOf(40)).multiply(new BigDecimal(item.getWeight()));
            BigDecimal weight = StrUtil.isNotBlank(item.getWeight()) ? new BigDecimal(item.getWeight()) : BigDecimal.ZERO;
            BigDecimal total = orderItem.getPrice().multiply(BigDecimal.valueOf(40)).multiply(weight);
            orderItem.setScore(total.setScale(0, BigDecimal.ROUND_DOWN).toString());
            orderItem.setWeight(StrUtil.isNotBlank(item.getWeight()) ? new BigDecimal(item.getWeight()) : BigDecimal.ZERO);
            orderItem.setWeight(weight);
            jhyOrderItemsMapper.updateByPrimaryKey(orderItem);
            totalScore = totalScore.add(total);
@@ -192,20 +193,29 @@
        jhyScoreDetail.setOrderNo(order.getOrderNo());
        jhyScoreDetail.setUserId(order.getJhyId());
        jhyScoreDetail.setType(ScoreDetails.SCORE_TYPE_PAY);
        jhyScoreDetail.setChangeScore(totalScore.negate());
        jhyScoreDetail.setOriginalScore(jhyScore);
        jhyScoreDetail.setCurrentScore(jhyScore.subtract(totalScore));
        jhyScoreDetail.setChangeScore(totalScore.negate().setScale( 0, BigDecimal.ROUND_DOWN ));
        jhyScoreDetail.setOriginalScore(jhyScore.setScale( 0, BigDecimal.ROUND_DOWN ));
        jhyScoreDetail.setCurrentScore(jhyScore.subtract(totalScore).setScale( 0, BigDecimal.ROUND_DOWN ));
        jhyScoreDetail.setCreatedTime(new Date());
        scoreDetailsMapper.insert(jhyScoreDetail);
        jhyAccount.setCollectScore(jhyScore.subtract(totalScore).setScale( 0, BigDecimal.ROUND_DOWN ).toString());
        accountMapper.updateByPrimaryKey(jhyAccount);
        AccountInfo userAccount = accountMapper.selectAccountInfoByUserId(order.getUserId());
        BigDecimal userScore = StrUtil.isBlank(userAccount.getCollectScore()) ? BigDecimal.ZERO : new BigDecimal(userAccount.getCollectScore());
        ScoreDetails userScoreDetail = new ScoreDetails();
        userScoreDetail.setOrderNo(order.getOrderNo());
        userScoreDetail.setUserId(order.getJhyId());
//        userScoreDetail.setUserId(order.getJhyId());
        userScoreDetail.setUserId(order.getUserId());
        userScoreDetail.setType(ScoreDetails.SCORE_TYPE_EXCHANGE);
        userScoreDetail.setChangeScore(totalScore);
        userScoreDetail.setOriginalScore(userScore);
        userScoreDetail.setCurrentScore(userScore.add(totalScore));
        userScoreDetail.setChangeScore(totalScore.setScale( 0, BigDecimal.ROUND_DOWN ));
        userScoreDetail.setOriginalScore(userScore.setScale( 0, BigDecimal.ROUND_DOWN ));
        userScoreDetail.setCurrentScore(userScore.add(totalScore).setScale( 0, BigDecimal.ROUND_DOWN ));
        userScoreDetail.setCreatedTime(new Date());
        scoreDetailsMapper.insert(userScoreDetail);
        userAccount.setCollectScore(userScore.add(totalScore).setScale( 0, BigDecimal.ROUND_DOWN ).toString());
        accountMapper.updateByPrimaryKey(userAccount);
    }
}