Browse Source

骑手送达时短信改为非必须

codingliang 6 months atrás
parent
commit
1fe9139474

+ 16 - 11
src/main/java/com/sqx/modules/errand/service/impl/TbIndentServiceImpl.java

@@ -1558,8 +1558,9 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
      */
     private void orderHandTakeoutOrder(TbIndent indentOrder, Long userId, OrderRiderDeliveryDTO deliveryDTO) {
         Long smsTemplateId = deliveryDTO.getSmsTemplateId();
+        // 短信模板为空,不发送短信
         if (ObjectUtil.isNull(smsTemplateId)) {
-            throw new SqxException("短信模板id不能为空");
+            return;
         }
 
         MyGlobalThreadPool.execute(() -> {
@@ -1856,13 +1857,23 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
      */
     private void handTakeoutOrder(TbIndent indentOrder, Long userId, RiderDeliveryDTO deliveryDTO) {
         // 6表示跑腿订单处于已完成状态
-        //锁内用锁外数据进行判断会拿等待锁前的数据判断
+        // 锁内用锁外数据进行判断会拿等待锁前的数据判断
         if ("6".equals(indentOrder.getIndentState())) {
             return;
         }
+
+        // 订单新增送达图片
+        String imgStr = deliveryDTO.getImgs();
+        if (StrUtil.isNotBlank(imgStr)) {
+            TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
+            tbOrder.setDeliveryImgs(imgStr);
+            appOrderService.updateById(tbOrder);
+        }
+
+        // 短信模板为空,不发送短信
         Long smsTemplateId = deliveryDTO.getSmsTemplateId();
         if (ObjectUtil.isNull(smsTemplateId)) {
-            throw new SqxException("短信模板id不能为空");
+            return;
         }
 
         // 收货人手机
@@ -1880,15 +1891,9 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
             return;
         }
 
-        // 订单新增送达图片
-        String imgs = deliveryDTO.getImgs();
-        if (StrUtil.isNotBlank(imgs)) {
-            TbOrder tbOrder = appOrderService.getById(indentOrder.getOrderId());
-            tbOrder.setDeliveryImgs(imgs);
-            appOrderService.updateById(tbOrder);
-        }
         TbIndentSmsSendLog tbIndentSmsSendLog=smsSendLogService.getSendSuccessByOrderId(indentOrder.getIndentId());
-//        有发送成功记录则不再发送
+
+        // 有发送成功记录则不再发送
         if(tbIndentSmsSendLog!=null){
             log.error("外卖跑腿订单【{}】短信已发送成功,短信id【{}】", deliveryDTO.getIndentNumber(),tbIndentSmsSendLog.getId());
             return;