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/app/home/service/AppVzanLiveEntryService.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/home/service/AppVzanLiveEntryService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/home/service/AppVzanLiveEntryService.java
index f0e8b5c..f800caa 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/home/service/AppVzanLiveEntryService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/home/service/AppVzanLiveEntryService.java
@@ -7,6 +7,7 @@
 import cn.hutool.json.JSONUtil;
 import com.tcm.training.admin.agent.entity.ProvincialAgent;
 import com.tcm.training.admin.agent.mapper.ProvincialAgentMapper;
+import com.tcm.training.admin.app.auth.service.AppAuthSessionService;
 import com.tcm.training.admin.app.home.vo.AppVzanLiveEntryVO;
 import com.tcm.training.admin.app.user.service.AppUserCenterService;
 import com.tcm.training.admin.app.user.vo.AppUserCenterVO;
@@ -27,24 +28,30 @@
 @Service
 public class AppVzanLiveEntryService {
     private static final String VZAN_AUTH_SECRET = "2b4fefe91d8cba50";
+    private static final String VZAN_WEB_PAY_UA = "webchatPay/wx074c1f0cf5a0ecf4 InAppPay";
     private static final int USER_STATUS_ENABLED = 1;
 
     private final LiveRoomSettingService liveRoomSettingService;
     private final UserMapper userMapper;
     private final ClinicMapper clinicMapper;
     private final ProvincialAgentMapper provincialAgentMapper;
+    private final AppAuthSessionService appAuthSessionService;
 
     public AppVzanLiveEntryService(LiveRoomSettingService liveRoomSettingService,
                                    UserMapper userMapper,
                                    ClinicMapper clinicMapper,
-                                   ProvincialAgentMapper provincialAgentMapper) {
+                                   ProvincialAgentMapper provincialAgentMapper,
+                                   AppAuthSessionService appAuthSessionService) {
         this.liveRoomSettingService = liveRoomSettingService;
         this.userMapper = userMapper;
         this.clinicMapper = clinicMapper;
         this.provincialAgentMapper = provincialAgentMapper;
+        this.appAuthSessionService = appAuthSessionService;
     }
 
     public AppVzanLiveEntryVO createEntry(Long userId) {
+        // APP 发版完成后改为从登录会话获取用户ID,避免客户端指定其他用户。
+        // Long userId = appAuthSessionService.getLoginUserId();
         LiveRoomSettingVO setting = liveRoomSettingService.current();
         String liveRoomUrl = setting == null ? null : StrUtil.trim(setting.getLiveRoomUrl());
         validateLiveRoomUrl(liveRoomUrl);
@@ -56,9 +63,9 @@
         JSONObject payload = new JSONObject();
         payload.set("tuid", user.getId());
         payload.set("followPhone", followPhone);
-        payload.set("third_ts", System.currentTimeMillis());
+        payload.set("third_ts", System.currentTimeMillis() + 5000);
         payload.set("avatar", StrUtil.trim(avatar));
-        log.info("微赞入口参数已生成,tuid={}, third_ts={}", user.getId(), payload.get("third_ts"));
+        log.info("微赞入口参数已生成,{}", JSONUtil.toJsonStr(payload));
 
         SymmetricCrypto sm4 = SmUtil.sm4(VZAN_AUTH_SECRET.getBytes(StandardCharsets.UTF_8));
         String encryptedData = sm4.encryptBase64(payload.toString(), StandardCharsets.UTF_8);
@@ -68,7 +75,7 @@
                 .encode(StandardCharsets.UTF_8)
                 .toUriString();
         log.info("微赞直播生成URL: {}", entryUrl);
-        return new AppVzanLiveEntryVO(entryUrl);
+        return new AppVzanLiveEntryVO(entryUrl, VZAN_WEB_PAY_UA);
     }
 
     private String resolveFollowPhone(Long clinicId) {
@@ -126,4 +133,4 @@
         String wechatAvatar = user == null ? null : StrUtil.trim(user.getWechatAvatar());
         return StrUtil.isNotBlank(wechatAvatar) ? wechatAvatar : "";
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.7.1