Sfoglia il codice sorgente

订单,积分,分类,退货的功能优化

wang 5 giorni fa
parent
commit
e6725a3823

+ 4 - 2
yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java

@@ -111,8 +111,10 @@ public class MyOrderController {
 //        Math.abs
         Long l = pointsRecordMapper.statisticsPoint(userId, Math.toIntExact(order.getChannelId()));
         orderShopDto.setTotalAvailableScore(l);
-        orderShopDto.setReduceAmount(Arith.div(Double.valueOf(order.getOffsetPoints()), 100));
-        orderShopDto.setTotalUsableScore(Double.valueOf(order.getOffsetPoints()));
+        if(null!=order.getOffsetPoints()){
+            orderShopDto.setReduceAmount(Arith.div(Double.valueOf(order.getOffsetPoints()), 100));
+            orderShopDto.setTotalUsableScore(Double.valueOf(order.getOffsetPoints()));
+        }
         orderShopDto.setCreateTime(order.getCreateTime());
         orderShopDto.setRemarks(order.getRemarks());
         orderShopDto.setOrderType(order.getOrderType());

+ 9 - 4
yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java

@@ -79,11 +79,11 @@ public class OrderController {
     public ResponseEntity<ShopCartOrderMergerDto> confirm(@Valid @RequestBody OrderParam orderParam) {
         String userId = SecurityUtils.getUser().getUserId();
         User user = userService.getById(userId);
-        if (user==null){
+        if (user == null) {
             throw new GlobalException("用户信息不存在...");
         }
-        CullenUtils.validateDataThrowException(user.getChannelId()==null,"不支持非企业用户购买...");
-        CullenUtils.validateDataThrowException(user.getStatus().equals(0),"不支持非企业用户购买...");
+        CullenUtils.validateDataThrowException(user.getChannelId() == null, "不支持非企业用户购买...");
+        CullenUtils.validateDataThrowException(user.getStatus().equals(0), "不支持非企业用户购买...");
 
         if (orderParam.getOrderItem() == null) {
             orderParam.getBasketIds().forEach(basketId -> {
@@ -132,8 +132,9 @@ public class OrderController {
         if (null != point) {
             v = ((double) point / 100);
             //总的可用积分
-            shopCartOrderMergerDto.setTotalAvailableScore(point);
+//        shopCartOrderMergerDto.setTotalAvailableScore(point);
         }
+
         // 所有店铺的订单信息
         List<ShopCartOrderDto> shopCartOrders = new ArrayList<>();
 
@@ -204,6 +205,9 @@ public class OrderController {
         //v
         shopCartOrderMergerDto.setActualTotal(Arith.sub(actualTotal, v) < 0 ? 0 : Arith.sub(actualTotal, v));
         shopCartOrderMergerDto.setTotalUsableScore(Arith.sub(actualTotal, v) < 0 ? actualTotal : v);//总共消耗的积分
+//        shopCartOrderMergerDto.setTotalAvailableScore(point);
+
+        shopCartOrderMergerDto.setTotalAvailableScore((long)Arith.mul(shopCartOrderMergerDto.getTotalUsableScore(),100));//总共消耗的积分
         shopCartOrderMergerDto.setTotal(total);
         shopCartOrderMergerDto.setTotalCount(totalCount);
         shopCartOrderMergerDto.setOrderReduce(allOrderReduce);
@@ -252,6 +256,7 @@ public class OrderController {
         }
         shopCartOrderMergerDto.setActualTotal(Arith.sub(actualTotal, v) < 0 ? 0 : Arith.sub(actualTotal, v));
         shopCartOrderMergerDto.setTotalUsableScore(Arith.sub(actualTotal, v) < 0 ? actualTotal : v);//总共消耗的积分
+        shopCartOrderMergerDto.setTotalAvailableScore((long)Arith.mul(shopCartOrderMergerDto.getTotalUsableScore(),100));
         shopCartOrderMergerDto.setTotalTransfee(totalTransfee);
         shopCartOrderMergerDto.setOrderReduce(allOrderReduce);
 

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/model/PointsRecord.java

@@ -94,7 +94,7 @@ public class PointsRecord implements Serializable {
     private String pointsTypeStr;
 
     @TableField(exist = false)
-    private Long totalAvailablePoints;
+    private Long totalAvailablePoints=0L;
 
     /**
      * 变动积分

+ 5 - 1
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/UserScoreDetailServiceImpl.java

@@ -161,23 +161,27 @@ public class UserScoreDetailServiceImpl extends ServiceImpl<UserScoreDetailMappe
             if (isExpiredToday(pointsRecord.getExpiryDate())) {
                 pointsRecord.setPointsTypeStr("过期");
                 mark = "-";
+                pointsRecord.setVariablePointsStr(mark + (null!=pointsRecord.getVariablePoints()?pointsRecord.getVariablePoints():"0"));
             } else {
                 switch (pointsRecord.getPointsType()) {
                     case 1:
                         pointsRecord.setPointsTypeStr("充值");
                         mark = "+";
+                        pointsRecord.setVariablePointsStr(mark + (null!=pointsRecord.getVariablePoints()?pointsRecord.getVariablePoints():pointsRecord.getPoints()));
                         break;
                     case 2:
                         pointsRecord.setPointsTypeStr("购物");
                         mark = "-";
+                        pointsRecord.setVariablePointsStr(mark + (null!=pointsRecord.getVariablePoints()?pointsRecord.getVariablePoints():"0"));
                         break;
                     case 3:
                         pointsRecord.setPointsTypeStr("退款");
                         mark = "+";
+                        pointsRecord.setVariablePointsStr(mark + (null!=pointsRecord.getVariablePoints()?pointsRecord.getVariablePoints():"0"));
                         break;
                 }
             }
-            pointsRecord.setVariablePointsStr(mark + pointsRecord.getVariablePoints());
+            //此时当前可用
             if(null!=pointsRecord.getCurrentlyAvailablePoints()){
                 pointsRecord.setTotalAvailablePoints(pointsRecord.getCurrentlyAvailablePoints().longValue());
             }