From 54dcf0a82e7490fa58b1c056d5c0b9cb739c2931 Mon Sep 17 00:00:00 2001
From: zjk <852185829@qq.com>
Date: 星期二, 29 九月 2026 14:34:32 +0800
Subject: [PATCH] build(traditionalApp): 更新版本名至1.0.49,版本号至149

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/JpushManualPushAppService.java |  104 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 78 insertions(+), 26 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/JpushManualPushAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/JpushManualPushAppService.java
index c549b1d..646f802 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/JpushManualPushAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/JpushManualPushAppService.java
@@ -9,6 +9,8 @@
 import com.tcm.training.admin.utils.JGPushUtil;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
@@ -21,7 +23,6 @@
     private static final String TEST_TITLE = "极光推送联调";
     private static final String TEST_CONTENT = "这是一条极光推送联调测试消息";
     private static final String TEST_SCENE = "JPUSH_MANUAL_TEST";
-    private static final String MANUAL_NOTICE_TEST_SCENE = "MANUAL_NOTICE_TEST";
     private static final String PUSH_STATUS_SUCCESS = "SUCCESS";
 
     private final JGPushUtil jgPushUtil;
@@ -58,55 +59,116 @@
      * 生成会员到期提醒测试通知并尝试极光推送。
      */
     public JpushManualPushVO pushMemberExpireRemind(JpushManualPushRequest request) {
+        LocalDate expireDate = LocalDate.now().plusDays(3L);
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("expireAt", expireDate.atTime(23, 59, 59).toString());
+        payload.put("remainingDays", "3");
         return pushNoticeType(request,
                 AppSystemNoticeType.MEMBER_EXPIRE_REMIND,
                 "会员到期提醒",
-                "您的会员有效期将于测试日期到期",
-                false);
+                "您的会员有效期将于" + expireDate + "到期",
+                "MEMBER_EXPIRE_" + expireDate,
+                request.getAppUserId(),
+                false,
+                payload);
     }
 
     /**
      * 生成直播提醒测试通知并尝试极光推送。
      */
     public JpushManualPushVO pushLiveRemind(JpushManualPushRequest request) {
+        Long sessionId = System.currentTimeMillis();
+        LocalDateTime startTime = LocalDateTime.now().plusHours(1L);
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("courseId", "100001");
+        payload.put("sessionId", String.valueOf(sessionId));
+        payload.put("startTime", String.valueOf(startTime));
+        payload.put("courseTitle", "测试直播课程");
         return pushNoticeType(request,
                 AppSystemNoticeType.LIVE_REMIND,
                 "直播提醒",
                 "测试直播课程 即将开播",
-                true);
+                "LIVE_SESSION",
+                sessionId,
+                true,
+                payload);
     }
 
     /**
      * 生成活动通知测试通知并尝试极光推送。
      */
     public JpushManualPushVO pushActivityNotice(JpushManualPushRequest request) {
+        Long activityNoticeId = System.currentTimeMillis();
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("activityNoticeId", String.valueOf(activityNoticeId));
+        payload.put("title", "活动通知");
         return pushNoticeType(request,
                 AppSystemNoticeType.ACTIVITY_NOTICE,
                 "活动通知",
-                "这是一条活动通知联调测试消息",
-                true);
+                "活动通知",
+                "ACTIVITY_NOTICE",
+                activityNoticeId,
+                true,
+                payload);
     }
 
     /**
-     * 生成订单状态更新测试通知并尝试极光推送。
+     * 生成礼品订单创建测试通知并尝试极光推送。
      */
     public JpushManualPushVO pushOrderStatusUpdate(JpushManualPushRequest request) {
+        Long orderId = System.currentTimeMillis();
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("orderId", String.valueOf(orderId));
+        payload.put("orderNo", "TEST" + orderId);
+        payload.put("giftName", "测试礼品");
+        payload.put("itemCount", "1");
         return pushNoticeType(request,
                 AppSystemNoticeType.ORDER_STATUS_UPDATE,
                 "订单状态更新",
-                "您的礼品兑换订单状态已更新",
-                true);
+                "您有新的礼品兑换订单待处理",
+                "POINTS_EXCHANGE_ORDER",
+                orderId,
+                true,
+                payload);
+    }
+
+    /**
+     * 生成礼品发货测试通知并尝试极光推送。
+     */
+    public JpushManualPushVO pushOrderShipped(JpushManualPushRequest request) {
+        Long orderId = System.currentTimeMillis();
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("orderId", String.valueOf(orderId));
+        payload.put("orderNo", "TEST" + orderId);
+        payload.put("trackingNo", "SF" + orderId);
+        return pushNoticeType(request,
+                AppSystemNoticeType.ORDER_STATUS_UPDATE,
+                "订单状态更新",
+                "您的礼品兑换订单已发货",
+                "POINTS_EXCHANGE_ORDER_SHIPPED",
+                orderId,
+                true,
+                payload);
     }
 
     /**
      * 生成课程更新测试通知并尝试极光推送。
      */
     public JpushManualPushVO pushCourseUpdateNotice(JpushManualPushRequest request) {
+        Long videoId = System.currentTimeMillis();
+        Map<String, String> payload = new LinkedHashMap<String, String>();
+        payload.put("courseId", "100001");
+        payload.put("courseTitle", "测试课程");
+        payload.put("videoId", String.valueOf(videoId));
+        payload.put("chapterName", "测试章节");
         return pushNoticeType(request,
                 AppSystemNoticeType.COURSE_UPDATE_NOTICE,
                 "课程更新通知",
                 "测试课程 已更新新章节",
-                true);
+                "HEALTH_COURSE_VIDEO",
+                videoId,
+                true,
+                payload);
     }
 
     /**
@@ -116,31 +178,21 @@
                                              String noticeTypeCode,
                                              String title,
                                              String content,
-                                             boolean requireUserSetting) {
-        Long referenceId = System.currentTimeMillis();
+                                             String referenceType,
+                                             Long referenceId,
+                                             boolean requireUserSetting,
+                                             Map<String, String> payload) {
         AppSystemNoticeDispatchCommand command = new AppSystemNoticeDispatchCommand();
         command.setAppUserId(request.getAppUserId());
         command.setNoticeTypeCode(noticeTypeCode);
         command.setTitle(title);
         command.setContent(content);
-        command.setReferenceType("MANUAL_TEST_" + noticeTypeCode);
+        command.setReferenceType(referenceType);
         command.setReferenceId(referenceId);
         command.setRequireUserSetting(requireUserSetting);
-        command.setPayload(buildManualNoticePayload(request.getAppUserId(), noticeTypeCode, referenceId));
+        command.setPayload(payload);
         AppSystemNotice notice = appSystemNoticeDispatchService.createAndPush(command);
         return toNoticePushVO(notice);
-    }
-
-    /**
-     * 构造手动通知测试透传参数,便于APP端区分联调消息。
-     */
-    private Map<String, String> buildManualNoticePayload(Long appUserId, String noticeTypeCode, Long referenceId) {
-        Map<String, String> payload = new LinkedHashMap<String, String>();
-        payload.put("scene", MANUAL_NOTICE_TEST_SCENE);
-        payload.put("noticeTypeCode", noticeTypeCode);
-        payload.put("appUserId", String.valueOf(appUserId));
-        payload.put("referenceId", String.valueOf(referenceId));
-        return payload;
     }
 
     /**

--
Gitblit v1.7.1