From 469a106cf617efd2e9fbe02937c355fa392ae7bc Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 10 二月 2026 17:53:07 +0800
Subject: [PATCH] feat: 消息通知添加APP跳转路由
---
src/main/java/com/ruoyi/project/system/domain/SysNotice.java | 3 +++
src/main/resources/mapper/system/SysNoticeMapper.xml | 3 +++
src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java | 10 +++++++---
src/main/java/com/ruoyi/project/system/service/impl/UnipushService.java | 2 +-
4 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/project/system/domain/SysNotice.java b/src/main/java/com/ruoyi/project/system/domain/SysNotice.java
index a7e696f..b199b72 100644
--- a/src/main/java/com/ruoyi/project/system/domain/SysNotice.java
+++ b/src/main/java/com/ruoyi/project/system/domain/SysNotice.java
@@ -48,6 +48,9 @@
/** 璺宠浆璺緞 */
private String jumpPath;
+ /** APP璺宠浆璺緞 */
+ private String appJumpPath;
+
/** 鍒涘缓鑰� */
@TableField(fill = FieldFill.INSERT)
private String createBy;
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
index aa7056c..2040850 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
@@ -144,10 +144,12 @@
}
@Override
- public void simpleNoticeByUser(String title, String message, List<Long> consigneeId, String jumpPath) {
+ public void simpleNoticeByUser(String title, String message, List<Long> consigneeId, String jumpPath) {
Long userId = SecurityUtils.getLoginUser().getUserId();
Long tenantId = SecurityUtils.getLoginUser().getTenantId();
- List<SysNotice> sysNotices = consigneeId.stream().map(it -> convertSysNotice(title, message, it,tenantId, jumpPath, userId)).collect(Collectors.toList());
+ List<SysNotice> sysNotices = consigneeId.stream()
+ .map(it -> convertSysNotice(title, message, it, tenantId, jumpPath, unipushService.convertWebPathToAppPath(jumpPath), userId))
+ .collect(Collectors.toList());
sysNoticeService.saveBatch(sysNotices);
try {
unipushService.sendClientMessage(sysNotices);
@@ -200,6 +202,7 @@
it.getUserId(),
it.getTenantId(),
jumpPath,
+ unipushService.convertWebPathToAppPath(jumpPath),
userId
))
.collect(Collectors.toList());
@@ -213,7 +216,7 @@
}
- private SysNotice convertSysNotice(String title,String message,Long consigneeId, Long tenantId,String jumpPath,Long currentUserId) {
+ private SysNotice convertSysNotice(String title,String message,Long consigneeId, Long tenantId,String jumpPath,String appJumpPath,Long currentUserId) {
SysNotice sysNotice = new SysNotice();
sysNotice.setNoticeType("1");
sysNotice.setNoticeTitle(title);//鏍囬
@@ -222,6 +225,7 @@
sysNotice.setConsigneeId(consigneeId);
sysNotice.setSenderId(currentUserId);
sysNotice.setJumpPath(jumpPath);
+ sysNotice.setAppJumpPath(appJumpPath);
sysNotice.setTenantId(tenantId);
return sysNotice;
}
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/UnipushService.java b/src/main/java/com/ruoyi/project/system/service/impl/UnipushService.java
index 7284ace..b40cbee 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/UnipushService.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/UnipushService.java
@@ -95,7 +95,7 @@
/**
* 灏� Web 绔垎灞傚叏璺緞杞崲涓� App 绔粍浠惰矾鐢�
*/
- private String convertWebPathToAppPath(String webPath) {
+ public String convertWebPathToAppPath(String webPath) {
if (StringUtils.isEmpty(webPath)) {
return DEFAULT_APP_PAGE;
}
diff --git a/src/main/resources/mapper/system/SysNoticeMapper.xml b/src/main/resources/mapper/system/SysNoticeMapper.xml
index f1aba88..3dd5735 100644
--- a/src/main/resources/mapper/system/SysNoticeMapper.xml
+++ b/src/main/resources/mapper/system/SysNoticeMapper.xml
@@ -31,6 +31,7 @@
sender_id,
consignee_id,
jump_path,
+ app_jump_path,
tenant_id
from sys_notice
</sql>
@@ -75,6 +76,7 @@
<if test="senderId != null and senderId != ''">sender_id,</if>
<if test="consigneeId != null and consigneeId != ''">consignee_id,</if>
<if test="jumpPath != null and jumpPath != ''">jump_path,</if>
+ <if test="appJumpPath != null and appJumpPath != ''">app_jump_path,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="tenantId != null and tenantId != ''">tenant_id,</if>
create_time
@@ -87,6 +89,7 @@
<if test="senderId != null and senderId != ''">#{senderId},</if>
<if test="consigneeId != null and consigneeId != ''">#{consigneeId},</if>
<if test="jumpPath != null and jumpPath != ''">#{jumpPath},</if>
+ <if test="appJumpPath != null and appJumpPath != ''">#{appJumpPath},</if>
<if test="pathParms != null and pathParms != ''">#{queryParms},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="tenantId != null and tenantId != ''">#{tenantId},</if>
--
Gitblit v1.9.3