Bläddra i källkod

恢复店铺发送短信结算时计算短信费用逻辑

codingliang 1 år sedan
förälder
incheckning
e8e9903618

+ 24 - 8
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -40,6 +40,7 @@ import com.sqx.modules.coupon.entity.TbCouponUser;
 import com.sqx.modules.datacentre.entity.SysUserShop;
 import com.sqx.modules.errand.dao.TbIndentDao;
 import com.sqx.modules.errand.entity.TbIndent;
+import com.sqx.modules.errand.entity.TbIndentSmsSendLog;
 import com.sqx.modules.errand.service.TbIndentService;
 import com.sqx.modules.errand.service.TbIndentSmsSendLogService;
 import com.sqx.modules.errand.service.TbIndentSmsTemplateService;
@@ -1740,8 +1741,8 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
             return Result.success();
         }
         String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+        TbIndent indent = tbIndentService.getOne(new QueryWrapper<TbIndent>().eq("order_id", orderId));
         if (tbOrder.getAutoSendOrder() != null && tbOrder.getAutoSendOrder().equals(0)) {
-            TbIndent indent = tbIndentService.getOne(new QueryWrapper<TbIndent>().eq("order_id", orderId));
             if (type==1){
                 if (indent == null || !"4".equals(indent.getIndentState())) {
                     log.info("订单id【{}】,请等待骑手送达!", orderId);
@@ -1793,8 +1794,24 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 sumMoney = sumMoney.subtract(tbOrder.getErrandMoney());
                 errandMoney = tbOrder.getErrandMoney();
             }
+        }
+
+        // 商家配送短信服务费
+        BigDecimal smsSendMoney = BigDecimal.ZERO;
+        if(tbOrder.getAutoSendOrder()!=null && tbOrder.getAutoSendOrder() == 1) {
+            // 查询短信发送结果
+            if (ObjectUtil.isNotNull(indent)) {
+                TbIndentSmsSendLog smsSendLog = smsSendLogService.getSendSuccessByOrderId(indent.getIndentId());
+                if (ObjectUtil.isNotNull(smsSendLog)) {
+                    // 查询短信发送费用
+                    CommonInfo commonInfo = commonInfoService.findOne(421);
 
+                    smsSendMoney = new BigDecimal(commonInfo.getValue());
+                    sumMoney = sumMoney.subtract(smsSendMoney);
+                }
+            }
         }
+
         BigDecimal shopMoney = sumMoney.multiply(shopRate);
 
         shopMoney = (shopMoney.setScale(2, BigDecimal.ROUND_DOWN));
@@ -1829,28 +1846,28 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
             //订单金额: 商家优惠券:  用户实付金额:   跑腿费:   平台服务费:  到账金额:(本单为商家优惠券,商家补贴)
             if (shopIds == -1) {
                 //未使用优惠券
-                userMoneyDetails1.setContent("订单金额:" + tbOrder.getPayMoney() + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",到账金额:" + shopMoney);
+                userMoneyDetails1.setContent("订单金额:" + tbOrder.getPayMoney() + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney);
             } else if (shopIds == 0) {
                 //使用平台优惠券
                 sumMoney = tbOrder.getPayMoney().add(couponMoney);
-                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",到账金额:" + shopMoney + "(本单为平台优惠券,平台补贴)");
+                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney + "(本单为平台优惠券,平台补贴)");
             } else {
                 //使用商家优惠券
                 sumMoney = tbOrder.getPayMoney().add(couponMoney);
-                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",到账金额:" + shopMoney + "(本单为商家优惠券,商家补贴)");
+                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney + "(本单为商家优惠券,商家补贴)");
             }
         } else {
             if (shopIds == -1) {
                 //未使用优惠券
-                userMoneyDetails1.setContent("订单金额:" + tbOrder.getPayMoney() + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",到账金额:" + shopMoney);
+                userMoneyDetails1.setContent("订单金额:" + tbOrder.getPayMoney() + ",用户实付金额:" + tbOrder.getPayMoney() + ",其中跑腿费:" + errandMoney + "(" + tbOrder.getErrandMoneyIsShop() + "),平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney);
             } else if (shopIds == 0) {
                 //使用平台优惠券
                 sumMoney = tbOrder.getPayMoney().add(couponMoney);
-                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",平台服务费:" + pingRate + ",到账金额:" + shopMoney + "(本单为平台优惠券,平台补贴)");
+                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney + "(本单为平台优惠券,平台补贴)");
             } else {
                 //使用商家优惠券
                 sumMoney = tbOrder.getPayMoney().add(couponMoney);
-                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",平台服务费:" + pingRate + ",到账金额:" + shopMoney + "(本单为商家优惠券,商家补贴)");
+                userMoneyDetails1.setContent("订单金额:" + sumMoney + ",优惠券金额:" + couponMoney + ",用户实付金额:" + tbOrder.getPayMoney() + ",平台服务费:" + pingRate + ",短信服务费:" + smsSendMoney + ",到账金额:" + shopMoney + "(本单为商家优惠券,商家补贴)");
             }
         }
 
@@ -1887,7 +1904,6 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         UserEntity userEntity = userDao.selectById(tbOrder.getUserId());
         SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 1);
         userService.pushToSingle("订单完成", "您的订单已完成,欢迎下次光临!", userEntity.getClientid());
-        TbIndent indent = tbIndentService.getOne(new QueryWrapper<TbIndent>().eq("order_id", orderId));
         String shopTemplate = commonInfoService.findOne(354).getValue();
         List<String> msgListShop = new ArrayList<>();
         msgListShop.add(indent.getIndentNumber());