Преглед на файлове

添加短信发送订单游客

caotao преди 1 седмица
родител
ревизия
bebe016329

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -253,4 +253,6 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
     List<Map<String, Object>> queryOrderLink(@Param("day") int day,@Param("direction")int direction);
 
     List<Map<String, Object>> queryOrderJzPhone(@Param("day") int day,@Param("direction")int direction);
+
+    List<Map<String, Object>> queryOrderVisitorMobile(@Param("day") int day,@Param("direction") int direction);
 }

+ 21 - 19
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/smsSendconfig/SmsSendconfigServiceImpl.java

@@ -315,31 +315,17 @@ public class SmsSendconfigServiceImpl implements SmsSendconfigService {
         List<Map<String,Object>> linkList = tradeOrderMapper.queryOrderLink(day,type);
         // 查询接站登记人
         List<Map<String,Object>> jzPhoneList = tradeOrderMapper.queryOrderJzPhone(day,type);
+        // 查询订单游客电话
+        List<Map<String,Object>> visitorMobileList = tradeOrderMapper.queryOrderVisitorMobile(day,type);
         // 查询短信配置
         SmsTemplateDO smsTemplateDO = smsTemplateMapper.selectByCode(code);
         // 合并两个列表并去重
         Set<String> phoneSet = new HashSet<>();
         Map<String, Map<String, Object>> phoneDataMap = new HashMap<>();
+        processPhoneList(linkList, "link_mobile", phoneSet, phoneDataMap);
+        processPhoneList(jzPhoneList, "phone", phoneSet, phoneDataMap);
+        processPhoneList(visitorMobileList, "mobile", phoneSet, phoneDataMap);
 
-        if (linkList != null) {
-            for (Map<String, Object> map : linkList) {
-                String phone = (String) map.get("link_mobile");
-                if (phone != null && !phone.isEmpty()) {
-                    phoneSet.add(phone);
-                }
-            }
-        }
-        if (jzPhoneList != null) {
-            for (Map<String, Object> map : jzPhoneList) {
-                String phone = (String) map.get("phone");
-                if (phone != null && !phone.isEmpty()) {
-                    phoneSet.add(phone);
-                    if (!phoneDataMap.containsKey(phone)) {
-                        phoneDataMap.put(phone, map);
-                    }
-                }
-            }
-        }
         List<String> phoneList = new ArrayList<>(phoneSet);
         List<String> params = smsTemplateDO.getParams();// ["【pick】","【time】"]
         Map<String, Object> templateParams = new HashMap<>();
@@ -376,4 +362,20 @@ public class SmsSendconfigServiceImpl implements SmsSendconfigService {
         }
     }
 
+    private void processPhoneList(List<Map<String, Object>> dataList, String phoneKey,
+                                  Set<String> phoneSet, Map<String, Map<String, Object>> phoneDataMap) {
+        if (dataList == null) {
+            return;
+        }
+        for (Map<String, Object> map : dataList) {
+            String phone = (String) map.get(phoneKey);
+            if (phone != null && !phone.isEmpty()) {
+                phoneSet.add(phone);
+                if (!phoneDataMap.containsKey(phone)) {
+                    phoneDataMap.put(phone, map);
+                }
+            }
+        }
+    }
+
 }

+ 12 - 2
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

@@ -2584,7 +2584,7 @@
                                                 LEFT JOIN product_voyage pv ON td.voyage_id = pv.id
                                                 LEFT JOIN resource_route rr ON pv.route_id = rr.id
         where DATE_FORMAT(td.travel_date, '%Y-%m-%d') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL (-#{day}) DAY), '%Y-%m-%d')
-          and td.deleted='0' and td.link_mobile is not null and td.order_status in (0,1,2,3,6,7,8,9,12,13,14,15) and rr.direction = #{direction};
+          and td.deleted='0' and td.link_mobile is not null and td.order_status in (0,1,2,3,6,7,8,9,12,13,14,15) and rr.direction = #{direction}
     </select>
 
     <select id="queryOrderJzPhone" resultType="java.util.Map">
@@ -2594,7 +2594,17 @@
                                            LEFT JOIN product_voyage pv ON td.voyage_id = pv.id
                                            LEFT JOIN resource_route rr ON pv.route_id = rr.id
         where DATE_FORMAT(td.travel_date, '%Y-%m-%d') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL (-#{day}) DAY), '%Y-%m-%d')
-          and td.deleted='0' and tzd.phone is not null and td.order_status in (0,1,2,3,6,7,8,9,12,13,14,15) and rr.direction = #{direction};
+          and td.deleted='0' and tzd.phone is not null and td.order_status in (0,1,2,3,6,7,8,9,12,13,14,15) and rr.direction = #{direction}
+    </select>
+
+    <select id="queryOrderVisitorMobile" resultType="java.util.Map">
+        select distinct tv.mobile from trade_order td
+                                           left join trade_visitor tv on tv.order_id = td.id
+                                           LEFT JOIN product_voyage pv ON td.voyage_id = pv.id
+                                           LEFT JOIN resource_route rr ON pv.route_id = rr.id
+        where DATE_FORMAT(td.travel_date, '%Y-%m-%d') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL (-#{day}) DAY), '%Y-%m-%d')
+          and td.deleted='0' and (tv.mobile is not null and tv.mobile !='') and tv.deleted='0' and td.order_status in (0,1,2,3,6,7,8,9,12,13,14,15) and rr.direction = #{direction}
+
     </select>
 </mapper>