Ver código fonte

添加了配送费小于1.5时才需要骑手额外配送费的条件

liu 8 meses atrás
pai
commit
03df1aa3d2

+ 34 - 16
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -1030,14 +1030,22 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         BigDecimal rider = new BigDecimal(0);
         if (ObjectUtils.isNotEmpty(order.getOrderTypeExtra())&&order.getOrderTypeExtra()==2) {
             //        获取骑手额外配送费
-            CommonInfo commonInfo = commonInfoService.findOne(443);
-            if (ObjectUtils.isNotEmpty(commonInfo)) {
-                rider =rider.add(new BigDecimal(commonInfo.getValue()));
-                shopMoney=shopMoney.subtract(rider);
+            //        配送费大于等于1.5就不需要骑手额外配送费
+            if (order.getErrandMoney().doubleValue()<1.5) {
+                CommonInfo commonInfo = commonInfoService.findOne(443);
+                if (ObjectUtils.isNotEmpty(commonInfo)) {
+                    rider =rider.add(new BigDecimal(commonInfo.getValue()));
+                    shopMoney=shopMoney.subtract(rider);
+                }
+                order.setShopIncomeMoney(shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
+                log.info("preOrder==>[{}],订单计算店铺预计收益,商家佣金比例[{}],本单用户应付金额[{}],本单店铺预计收益[{}],骑手额外配送费[{}]",
+                        order.getOrderId(), shopRate, sumMoney, order.getShopIncomeMoney(),rider);
+            }else {
+                order.setShopIncomeMoney(shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
+                log.info("preOrder==>[{}],订单计算店铺预计收益,商家佣金比例[{}],本单用户应付金额[{}],本单店铺预计收益[{}]",
+                        order.getOrderId(), shopRate, sumMoney, order.getShopIncomeMoney());
             }
-            order.setShopIncomeMoney(shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
-            log.info("preOrder==>[{}],订单计算店铺预计收益,商家佣金比例[{}],本单用户应付金额[{}],本单店铺预计收益[{}],骑手额外配送费[{}]",
-                    order.getOrderId(), shopRate, sumMoney, order.getShopIncomeMoney(),rider);
+
         }else {
             order.setShopIncomeMoney(shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
             log.info("preOrder==>[{}],订单计算店铺预计收益,商家佣金比例[{}],本单用户应付金额[{}],本单店铺预计收益[{}]",
@@ -1798,11 +1806,15 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
             BigDecimal rider = new BigDecimal(0);
             if (ObjectUtils.isNotEmpty(order.getOrderTypeExtra())&&order.getOrderTypeExtra()==2) {
                 //        获取骑手额外配送费
-                CommonInfo commonInfo = commonInfoService.findOne(443);
-                if (ObjectUtils.isNotEmpty(commonInfo)) {
-                    rider =rider.add(new BigDecimal(commonInfo.getValue()));
-                    shopMoney=shopMoney.subtract(rider);
+                //        配送费大于等于1.5就不需要骑手额外配送费
+                if (order.getErrandMoney().doubleValue()<1.5) {
+                    CommonInfo commonInfo = commonInfoService.findOne(443);
+                    if (ObjectUtils.isNotEmpty(commonInfo)) {
+                        rider =rider.add(new BigDecimal(commonInfo.getValue()));
+                        shopMoney=shopMoney.subtract(rider);
+                    }
                 }
+
             }
 
             shopMoney = (shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
@@ -2168,10 +2180,13 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         BigDecimal rider = new BigDecimal(0);
         if (ObjectUtils.isNotEmpty(tbOrder.getOrderTypeExtra())&&tbOrder.getOrderTypeExtra()==2) {
             //        获取骑手额外配送费
-            CommonInfo commonInfo = commonInfoService.findOne(443);
-            if (ObjectUtils.isNotEmpty(commonInfo)) {
-                rider =rider.add(new BigDecimal(commonInfo.getValue()));
-                shopMoney=shopMoney.subtract(rider);
+            //        配送费大于等于1.5就不需要骑手额外配送费
+            if (tbOrder.getErrandMoney().doubleValue()<1.5) {
+                CommonInfo commonInfo = commonInfoService.findOne(443);
+                if (ObjectUtils.isNotEmpty(commonInfo)) {
+                    rider = rider.add(new BigDecimal(commonInfo.getValue()));
+                    shopMoney = shopMoney.subtract(rider);
+                }
             }
             log.info("订单id【{}】,骑手额外配送费【{}】", orderId,rider);
         }
@@ -2207,7 +2222,10 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         contentBuffer.append("平台服务费:").append(pingRate.setScale(2, BigDecimal.ROUND_DOWN)).append(",");
         contentBuffer.append("短信服务费:").append(smsSendMoney.setScale(2, BigDecimal.ROUND_DOWN)).append(",");
         if (ObjectUtils.isNotEmpty(tbOrder.getOrderTypeExtra())&&tbOrder.getOrderTypeExtra()==2) {
-            contentBuffer.append("骑手额外配送费:").append(rider.setScale(2, BigDecimal.ROUND_DOWN)).append(",");
+            //        配送费大于等于1.5就不需要骑手额外配送费
+            if (tbOrder.getErrandMoney().doubleValue()<1.5) {
+                contentBuffer.append("骑手额外配送费:").append(rider.setScale(2, BigDecimal.ROUND_DOWN)).append(",");
+            }
         }
         contentBuffer.append("到账金额:").append(shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
 

+ 1 - 1
src/main/resources/application.yml

@@ -21,7 +21,7 @@ spring:
     allow-circular-references: true
   # 环境 dev|test|prod
   profiles:
-    active: dev
+    active: mysql8
   # jackson时间格式化
   jackson:
     time-zone: GMT+8

+ 10 - 1
src/test/java/OrderTest.java

@@ -32,6 +32,8 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 /**
@@ -199,7 +201,8 @@ public class OrderTest {
             userMoneyDetails1.setType(1);
             userMoneyDetails1.setClassify(3);
             userMoneyDetails1.setMoney(shopMoney);
-            userMoneyDetails1.setCreateTime("2025-10-09 23:59:59");
+            DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            userMoneyDetails1.setCreateTime(LocalDateTime.now().format(dateTimeFormatter1));
             userMoneyDetails1.setState(2);
             userMoneyDetailsDao.insert(userMoneyDetails1);
             log.info("订单id【{}】,商户用户钱包收入记录新增成功", tbOrder.getOrderId());
@@ -208,4 +211,10 @@ public class OrderTest {
             userMoneyService.updateMoney(1, goodsShop.getUserId(), shopMoney.doubleValue());
         }
     }
+
+    @Test
+    public void test2() {
+        String value = commonInfoService.findOne(19).getValue();
+        System.out.println("value = " + value);
+    }
 }