From b02c10cc0f53a3dac95045bea33eb9aa3c13e3e3 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 02 Jul 2021 10:39:49 +0800 Subject: [PATCH] 20210630 积分拨付 --- gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java index 1ae3967..290ded6 100644 --- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java +++ b/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); } } -- Gitblit v1.9.1