Quellcode durchsuchen

解决部分退积分bug

wang vor 11 Stunden
Ursprung
Commit
ddd73e3fd7

+ 2 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/model/OrderRefund.java

@@ -162,6 +162,8 @@ public class OrderRefund implements Serializable{
 
     private Double freightAmount;
 
+    private Boolean handler;
+
     private Long offsetPoints;
     //过期的积分
     private Long refundExpiredScore;

+ 3 - 1
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -958,6 +958,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         OrderRefund orderRefund = orderRefundMapper.selectOne(new LambdaQueryWrapper<OrderRefund>()
                 .eq(OrderRefund::getOrderNumber, orderNumber)
                 .eq(OrderRefund::getReturnMoneySts, 70)
+                .eq(OrderRefund::getHandler, Boolean.FALSE)
         );
         if (ObjectUtils.isNotEmpty(orderRefund)) {
             //退款的金额
@@ -1073,7 +1074,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                                     .or()
                                     .isNull(PointsRecord::getExpiryDate)
                             ).orderByDesc(PointsRecord::getExpiryDate));
-                    int totalRefundScore = 0;//需要退的总积分
+                    int totalRefundScore = -(int) Arith.mul(order.getFreightAmount(), 100);//需要退的总积分,先把运费剔除掉
                     double totalRefundActual = 0.0;//需要退的总金额
                     for (OrderRefundSku refundSkus : orderRefundSkus) {
                         Integer productCount = refundSkus.getProductCount();//退款的数量
@@ -1144,6 +1145,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
             orderRefund.setRefundAmount(refundActual.doubleValue());
             orderRefund.setOffsetPoints(refundScore);
+            orderRefund.setHandler(Boolean.TRUE);
             orderRefund.setRefundExpiredScore(refundExpiredScore);
             orderRefundMapper.updateById(orderRefund);