Browse Source

fix: 同步微信模板消息字段和模板ID,修复故障订阅通知未生效问题

- FAULT_ALERT/FAULT_RECOVER 模板字段 key 对齐微信后台实际名称
- PARKING_COUPON 金额字段 amount4 → amount3 对齐新模板
- 更新 SQL 迁移脚本中的模板 ID 和 content 占位符

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline 1 day ago
parent
commit
41f46b2548

+ 4 - 4
car-wash-entity/src/main/resources/sql/v6_fault_notification.sql

@@ -54,12 +54,12 @@ CREATE TABLE IF NOT EXISTS `t_fault_record` (
 -- ----------------------------
 INSERT INTO `t_mp_msg_template` (`template_id`, `biz_type`, `title`, `primary_industry`, `deputy_industry`, `content`, `example`, `page_path`, `create_time`, `update_time`)
 VALUES (
-    '',  -- 待替换为实际申请的模版ID
+    'Th-izNrL4o2X_zshLfMUk4H8ulhQSnfUSCnmwMq4T-Y',
     'FAULT_ALERT',
     '设备故障提醒',
     'IT科技',
     'IT软件与服务',
-    '{thing1.DATA}{thing2.DATA}{thing3.DATA}{time4.DATA}',
+    '{{thing26.DATA}}{{thing9.DATA}}{{thing5.DATA}}{{time2.DATA}}',
     '站点:XX洗车站点\n设备:设备001\n故障类型:设备离线\n故障时间:2025-01-01 12:00:00',
     '',
     NOW(),
@@ -71,12 +71,12 @@ VALUES (
 -- ----------------------------
 INSERT INTO `t_mp_msg_template` (`template_id`, `biz_type`, `title`, `primary_industry`, `deputy_industry`, `content`, `example`, `page_path`, `create_time`, `update_time`)
 VALUES (
-    '',  -- 待替换为实际申请的模版ID
+    'hnAaDKy92EySs2Pz778RPevh91qUVaSADSQAUzyeE1Y',
     'FAULT_RECOVER',
     '设备故障恢复提醒',
     'IT科技',
     'IT软件与服务',
-    '{thing1.DATA}{thing2.DATA}{thing3.DATA}{time4.DATA}',
+    '{{thing14.DATA}}{{thing3.DATA}}{{thing2.DATA}}{{time6.DATA}}',
     '站点:XX洗车站点\n设备:设备001\n故障类型:设备离线\n恢复时间:2025-01-01 14:00:00',
     '',
     NOW(),

+ 8 - 8
car-wash-service/src/main/java/com/kym/service/impl/FaultNotificationServiceImpl.java

@@ -187,19 +187,19 @@ public class FaultNotificationServiceImpl implements FaultNotificationService {
 
     private Map<String, String> buildFaultAlertParams(FaultRecord record) {
         return Map.of(
-                "thing1", getStationName(record.getStationId()),
-                "thing2", record.getDeviceName(),
-                "thing3", FaultType.fromCode(record.getFaultType()).getDesc(),
-                "time4", record.getFaultTime().format(FORMATTER)
+                "thing26", getStationName(record.getStationId()),
+                "thing9", record.getDeviceName(),
+                "thing5", FaultType.fromCode(record.getFaultType()).getDesc(),
+                "time2", record.getFaultTime().format(FORMATTER)
         );
     }
 
     private Map<String, String> buildFaultRecoverParams(FaultRecord record) {
         return Map.of(
-                "thing1", getStationName(record.getStationId()),
-                "thing2", record.getDeviceName(),
-                "thing3", FaultType.fromCode(record.getFaultType()).getDesc(),
-                "time4", LocalDateTime.now().format(FORMATTER)
+                "thing14", getStationName(record.getStationId()),
+                "thing3", record.getDeviceName(),
+                "thing2", FaultType.fromCode(record.getFaultType()).getDesc(),
+                "time6", LocalDateTime.now().format(FORMATTER)
         );
     }
 

+ 1 - 1
car-wash-service/src/main/java/com/kym/service/wechat/impl/ParkingCouponParamBuilder.java

@@ -13,7 +13,7 @@ import java.util.Map;
 public class ParkingCouponParamBuilder implements TemplateParamBuilder {
 
     private static final String ORDER_ID = "character_string12";
-    private static final String ORDER_AMOUNT = "amount4";
+    private static final String ORDER_AMOUNT = "amount3";
     private static final String STATION_NAME = "thing15";
     private static final String SERVICE_NAME = "thing2";