From d0c47393cbf57134bd539c7cc0804c9c4cddef85 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 07 Jul 2021 17:31:53 +0800
Subject: [PATCH] 20210707

---
 gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
index 33cc93a..f0f17d6 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -174,8 +174,13 @@
     }
 
     public Long insureOrder(InsureOrderDto model) {
+        long id = model.getId();
+        ScoreOrder scoreOrderBefore = scoreOrderMapper.selectByPrimaryKey(id);
         ScoreOrder scoreOrder = new ScoreOrder();
         scoreOrder.setId(model.getId());
+        if(ScoreOrder.STATUS_DOING == scoreOrderBefore.getStatus()){
+            scoreOrder.setStatus(ScoreOrder.STATUS_DONE);
+        }
 //        scoreOrder.setStatus(ScoreOrder.STATUS_DONE);
         scoreOrder.setIsFinish(ScoreOrder.ISFINISH_YES);
         scoreOrder.setVoucherImg(CollUtil.join(model.getVoucherImgs(),","));
@@ -206,15 +211,12 @@
         }
 
         AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(addGoodsOrderDto.getUserId());
-        log.info("积分:{}", accountInfo.getCollectScore());
         if (accountInfo.getCollectScore() == null) {
             throw new RestException(-3, "积分不足");
         }
 
         BigDecimal totalPrice = sku.getPresentPrice().multiply(BigDecimal.valueOf(addGoodsOrderDto.getCnt()));
         BigDecimal score = new BigDecimal(accountInfo.getCollectScore());
-        log.info("积分:{}", score);
-        log.info("积分1:{}", totalPrice);
         if (score.compareTo(totalPrice) < 0) {
             throw new RestException(-3, "积分不足");
         }
@@ -239,6 +241,7 @@
         orderDetails.setTotalPrice(totalPrice);
         orderDetails.setUnitPrice(sku.getPresentPrice());
         orderDetails.setGoodsId(goods.getId());
+        orderDetails.setSkuId(sku.getId());
         orderDetails.setThumb(goods.getThumb());
         scoreOrderDetailsMapper.insert(orderDetails);
 
@@ -272,12 +275,12 @@
         scoreDetails.setType(ScoreDetails.SCORE_TYPE_SHOPPING);
         scoreDetails.setOriginalScore(score);
         scoreDetails.setCurrentScore(remianScore);
-        scoreDetails.setChangeScore(totalPrice);
+        scoreDetails.setChangeScore(totalPrice.negate());
         scoreDetails.setCreatedTime(new Date());
         scoreDetailsMapper.insert(scoreDetails);
 
         sku.setStock(sku.getStock() - addGoodsOrderDto.getCnt());
-        sku.setQuantity(sku.getQuantity() - addGoodsOrderDto.getCnt());
+        sku.setQuantity(sku.getQuantity() + addGoodsOrderDto.getCnt());
         scoreGoodsSkuMapper.updateByPrimaryKey(sku);
     }
 
@@ -355,7 +358,12 @@
             throw new RestException(-3, "暂不能确认收货");
         }
 
-        scoreOrderMapper.updateOrderStatus(id, ScoreOrder.STATUS_DOING, userId);
+        if (ScoreOrder.ISFINISH_YES.equals(order.getIsFinish())) {
+            scoreOrderMapper.updateOrderStatus(id, ScoreOrder.STATUS_DONE, userId);
+        } else {
+            scoreOrderMapper.updateOrderStatus(id, ScoreOrder.STATUS_DOING, userId);
+        }
+
     }
 
     public void cancelOrder(Long id, String userId) {

--
Gitblit v1.9.1