消息模块、爬虫
This commit is contained in:
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-achievement</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>api-achievement</name>
|
||||
<description>成就模块API接口</description>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-ai</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<name>api-ai</name>
|
||||
<description>智能体API接口定义</description>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-all</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
@@ -57,5 +57,9 @@
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-crontab</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-message</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-auth</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-crontab</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
@@ -22,12 +22,12 @@
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-dto</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-file</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>api-file</name>
|
||||
<description>文件模块API</description>
|
||||
|
||||
33
schoolNewsServ/api/api-message/pom.xml
Normal file
33
schoolNewsServ/api/api-message/pom.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-message</artifactId>
|
||||
<version>1.0.0</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
<maven.compiler.target>21</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-dto</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,207 @@
|
||||
package org.xyzh.api.message;
|
||||
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.core.page.PageParam;
|
||||
import org.xyzh.common.dto.message.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 消息服务接口
|
||||
*
|
||||
* @description 消息通知模块的服务接口定义
|
||||
* @filename MessageService.java
|
||||
* @author Claude
|
||||
* @copyright xyzh
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
public interface MessageService {
|
||||
|
||||
// ================== 消息管理 ==================
|
||||
|
||||
/**
|
||||
* 创建消息
|
||||
*
|
||||
* @param message 消息对象
|
||||
* @return ResultDomain<TbSysMessage> 创建结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> createMessage(TbSysMessage message);
|
||||
|
||||
/**
|
||||
* 更新消息(仅允许更新草稿状态的消息)
|
||||
*
|
||||
* @param message 消息对象
|
||||
* @return ResultDomain<TbSysMessage> 更新结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> updateMessage(TbSysMessage message);
|
||||
|
||||
/**
|
||||
* 删除消息(逻辑删除)
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessage> 删除结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> deleteMessage(String messageID);
|
||||
|
||||
/**
|
||||
* 根据ID查询消息详情
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<MessageVO> 消息详情
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<MessageVO> getMessageById(String messageID);
|
||||
|
||||
/**
|
||||
* 分页查询消息列表(管理端)
|
||||
*
|
||||
* @param filter 过滤条件
|
||||
* @param pageParam 分页参数
|
||||
* @return ResultDomain<MessageVO> 消息列表
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<MessageVO> getMessagePage(TbSysMessage filter, PageParam pageParam);
|
||||
|
||||
// ================== 消息发送 ==================
|
||||
|
||||
/**
|
||||
* 发送消息(立即发送或定时发送)
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessage> 发送结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> sendMessage(String messageID);
|
||||
|
||||
/**
|
||||
* 立即发送(将定时消息改为立即发送)
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessage> 发送结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> sendNow(String messageID);
|
||||
|
||||
/**
|
||||
* 取消定时消息
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessage> 取消结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> cancelMessage(String messageID);
|
||||
|
||||
/**
|
||||
* 修改定时发送时间
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @param scheduledTime 新的发送时间
|
||||
* @return ResultDomain<TbSysMessage> 修改结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> rescheduleMessage(String messageID, java.util.Date scheduledTime);
|
||||
|
||||
/**
|
||||
* 重试失败消息
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessage> 重试结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessage> retryMessage(String messageID);
|
||||
|
||||
// ================== 用户消息 ==================
|
||||
|
||||
/**
|
||||
* 分页查询我的消息列表(用户端)
|
||||
*
|
||||
* @param filter 过滤条件
|
||||
* @param pageParam 分页参数
|
||||
* @return ResultDomain<MessageUserVO> 我的消息列表
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<MessageUserVO> getMyMessagesPage(MessageUserVO filter, PageParam pageParam);
|
||||
|
||||
/**
|
||||
* 查询我的消息详情(用户端)
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<MessageUserVO> 消息详情
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<MessageUserVO> getMyMessageDetail(String messageID);
|
||||
|
||||
/**
|
||||
* 标记消息为已读
|
||||
*
|
||||
* @param messageID 消息ID
|
||||
* @return ResultDomain<TbSysMessageUser> 标记结果
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<TbSysMessageUser> markAsRead(String messageID);
|
||||
|
||||
/**
|
||||
* 批量标记消息为已读
|
||||
*
|
||||
* @param messageIDs 消息ID列表
|
||||
* @return ResultDomain<Integer> 标记成功的数量
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<Integer> batchMarkAsRead(List<String> messageIDs);
|
||||
|
||||
/**
|
||||
* 获取未读消息数量
|
||||
*
|
||||
* @return ResultDomain<Integer> 未读消息数量
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<Integer> getUnreadCount();
|
||||
|
||||
// ================== 辅助接口 ==================
|
||||
|
||||
/**
|
||||
* 获取可选的部门树(当前部门及子部门)
|
||||
*
|
||||
* @return ResultDomain<Map> 部门树数据
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<Map<String, Object>> getTargetDepts();
|
||||
|
||||
/**
|
||||
* 获取可选的角色列表(当前部门及子部门的角色)
|
||||
*
|
||||
* @return ResultDomain<Map> 角色列表数据
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<Map<String, Object>> getTargetRoles();
|
||||
|
||||
/**
|
||||
* 获取可选的用户列表(当前部门及子部门的用户)
|
||||
*
|
||||
* @return ResultDomain<Map> 用户列表数据
|
||||
* @author Claude
|
||||
* @since 2025-11-13
|
||||
*/
|
||||
ResultDomain<Map<String, Object>> getTargetUsers();
|
||||
}
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-news</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>api-news</name>
|
||||
<description>新闻API接口定义</description>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-study</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-system</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-usercenter</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<name>api-usercenter</name>
|
||||
<description>个人中心API接口定义</description>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>school-news</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>api-all</module>
|
||||
@@ -24,6 +24,7 @@
|
||||
<module>api-news</module>
|
||||
<module>api-file</module>
|
||||
<module>api-crontab</module>
|
||||
<module>api-message</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
@@ -36,57 +37,62 @@
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-all</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-auth</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-system</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-course</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-study</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-usercenter</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-achievement</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-ai</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-news</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-file</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-crontab</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>api-message</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
@@ -94,12 +100,12 @@
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xyzh</groupId>
|
||||
<artifactId>common-dto</artifactId>
|
||||
<version>${school-news.version}</version>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
||||
Reference in New Issue
Block a user