~
This commit is contained in:
124
mjkf-xinke-plugin-api/mjkf-xinke-plugin-dev-api/pom.xml
Normal file
124
mjkf-xinke-plugin-api/mjkf-xinke-plugin-dev-api/pom.xml
Normal file
@@ -0,0 +1,124 @@
|
||||
<?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>mjkf.xinke</groupId>
|
||||
<artifactId>mjkf-xinke-plugin-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>mjkf-xinke-plugin-dev-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<description>开发工具插件api接口</description>
|
||||
|
||||
<dependencies>
|
||||
<!-- 每个插件接口都要引入common -->
|
||||
<dependency>
|
||||
<groupId>mjkf.xinke</groupId>
|
||||
<artifactId>mjkf-xinke-common</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--腾讯云上传文件客户端-->
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos_api</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>tencentcloud-sdk-java-common</artifactId>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<groupId>joda-time</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!--阿里云上传文件客户端-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<groupId>commons-logging</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.codehaus.jettison</groupId>
|
||||
<artifactId>jettison</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- jettison -->
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jettison</groupId>
|
||||
<artifactId>jettison</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--minio上传文件客户端-->
|
||||
<dependency>
|
||||
<groupId>io.minio</groupId>
|
||||
<artifactId>minio</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--java邮件发送-->
|
||||
<dependency>
|
||||
<groupId>com.sun.mail</groupId>
|
||||
<artifactId>javax.mail</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--阿里云邮件发送-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-dm</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- 腾讯云邮件发送 -->
|
||||
<dependency>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
<artifactId>tencentcloud-sdk-java-ses</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>okio-jvm</artifactId>
|
||||
<groupId>com.squareup.okio</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<groupId>commons-logging</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!--阿里云短信发送-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>dysmsapi20170525</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>org.jacoco.agent</artifactId>
|
||||
<groupId>org.jacoco</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>jaxb-impl</artifactId>
|
||||
<groupId>com.sun.xml.bind</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!--腾讯云短信发送-->
|
||||
<dependency>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
<artifactId>tencentcloud-sdk-java-sms</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--系统硬件信息-->
|
||||
<dependency>
|
||||
<groupId>com.github.oshi</groupId>
|
||||
<artifactId>oshi-core</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@@ -0,0 +1,27 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
/**
|
||||
* 开发工具模块综合API
|
||||
*
|
||||
*
|
||||
* @date 2022/9/26 14:24
|
||||
**/
|
||||
public interface DevApi {
|
||||
|
||||
/**
|
||||
* 初始化ID类型的租户开发工具模块数据
|
||||
*
|
||||
*
|
||||
* @date 2022/9/26 14:25
|
||||
**/
|
||||
void initTenDataForCategoryId(String tenId, String tenName);
|
||||
|
||||
/**
|
||||
* 删除ID类型的租户开发工具模块数据
|
||||
*
|
||||
*
|
||||
* @date 2022/9/26 14:25
|
||||
**/
|
||||
void removeTenDataForCategoryId(String tenId);
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
/**
|
||||
* 配置APi接口
|
||||
*
|
||||
*
|
||||
* @date 2022/6/17 10:37
|
||||
**/
|
||||
public interface DevConfigApi {
|
||||
|
||||
/**
|
||||
* 根据键获取值
|
||||
*
|
||||
*
|
||||
* @date 2022/6/17 11:11
|
||||
**/
|
||||
String getValueByKey(String key);
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 动态字段API
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 15:58
|
||||
*/
|
||||
public interface DevDfcApi {
|
||||
|
||||
/**
|
||||
* 获取动态字段配置
|
||||
*
|
||||
*
|
||||
* @date 2022/7/22 14:47
|
||||
**/
|
||||
List<JSONObject> getTableFieldList(String dbsId, String tableName);
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
/**
|
||||
* 字典API
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 15:58
|
||||
*/
|
||||
public interface DevDictApi {
|
||||
}
|
@@ -0,0 +1,131 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 邮件API接口
|
||||
*
|
||||
*
|
||||
* @date 2022/6/22 15:21
|
||||
**/
|
||||
public interface DevEmailApi {
|
||||
|
||||
/* =========本地邮件========= */
|
||||
|
||||
/**
|
||||
* 发送纯文本邮件
|
||||
*
|
||||
* @param tos 收件人邮箱,逗号拼接
|
||||
* @param subject 邮件主题
|
||||
* @param content 邮件内容
|
||||
* @param files 附件列表
|
||||
*
|
||||
* @date 2022/2/7 22:29
|
||||
*/
|
||||
void sendTextEmailLocal(String tos, String subject, String content, List<File> files);
|
||||
|
||||
/**
|
||||
* 发送HTML邮件
|
||||
*
|
||||
* @param tos 收件人邮箱,逗号拼接
|
||||
* @param subject 邮件主题
|
||||
* @param content 邮件内容
|
||||
* @param imageMap – 图片与占位符,占位符格式为cid:$IMAGE_PLACEHOLDER
|
||||
* @param files 附件列表
|
||||
*
|
||||
* @date 2022/2/7 22:29
|
||||
*/
|
||||
void sendHtmlEmailLocal(String tos, String subject, String content, Map<String, InputStream> imageMap, List<File> files);
|
||||
|
||||
/* =========阿里云邮件========= */
|
||||
|
||||
/**
|
||||
* 发送纯文本邮件(不使用模板,频率限制100 QPS)
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param user 发信人昵称,长度小于15个字符,可不传
|
||||
* @param tos 目标地址,多个 email 地址可以用逗号分隔,最多100个地址,必传且必须正确
|
||||
* @param subject 邮件主题,必传
|
||||
* @param content 邮件 txt 正文,限制28K,必传
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendTextEmailAliyun(String from, String user, String tos, String subject, String content);
|
||||
|
||||
/**
|
||||
* 发送HTML邮件(不使用模板,频率限制100 QPS)
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param user 发信人昵称,长度小于15个字符,可不传
|
||||
* @param tos 目标地址,多个 email 地址可以用逗号分隔,最多100个地址,必传且必须正确
|
||||
* @param subject 邮件主题,必传
|
||||
* @param content 邮件 html 正文,限制28K,必传
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendHtmlEmailAliyun(String from, String user, String tos, String subject, String content);
|
||||
|
||||
/**
|
||||
* 使用模板发送邮件,国内频率限制是20/min;海外频率限制是10/min。
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param tagName 控制台创建的邮件标签,可不传
|
||||
* @param toName 预先创建且上传了收件人的收件人列表名称,必传且必须正确
|
||||
* @param templateName 预先创建且通过审核的模板名称,必传且必须正确
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendEmailWithTemplateAliyun(String from, String tagName, String toName, String templateName);
|
||||
|
||||
/* =========腾讯云邮件========= */
|
||||
|
||||
/**
|
||||
* 发送纯文本邮件(不使用模板,默认接口请求频率限制:20次/秒。)
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param user 发信人昵称,可不传
|
||||
* @param tos 目标地址,多个 email 地址可以用逗号分隔,最多50个地址,必传且必须正确,非群发邮件请多次调用API发送
|
||||
* @param subject 邮件主题,必传
|
||||
* @param content 邮件 txt 正文,必传,注意:腾讯云api目前要求请求包大小不得超过8 MB。
|
||||
* @param attachmentList 需要发送附件时,填写附件相关参数,格式:[{"FileName": "xxxx", "Content": "xxx"}]
|
||||
* 支持的格式与说明见:https://cloud.tencent.com/document/api/1288/51053#Attachment
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendTextEmailTencent(String from, String user, String tos, String subject, String content, List<JSONObject> attachmentList);
|
||||
|
||||
/**
|
||||
* 发送HTML邮件(不使用模板,默认接口请求频率限制:20次/秒。)
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param user 发信人昵称,可不传
|
||||
* @param tos 目标地址,多个 email 地址可以用逗号分隔,最多50个地址,必传且必须正确,非群发邮件请多次调用API发送
|
||||
* @param subject 邮件主题,必传
|
||||
* @param content 邮件 txt 正文,必传,注意:腾讯云api目前要求请求包大小不得超过8 MB。
|
||||
* @param attachmentList 需要发送附件时,填写附件相关参数,格式:[{"FileName": "xxxx", "Content": "xxx"}]
|
||||
* 支持的格式与说明见:https://cloud.tencent.com/document/api/1288/51053#Attachment
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendHtmlEmailTencent(String from, String user, String tos, String subject, String content, List<JSONObject> attachmentList);
|
||||
|
||||
/**
|
||||
* 使用模板发送邮件,默认接口请求频率限制:20次/秒。
|
||||
*
|
||||
* @param from 管理控制台中配置的发信地址,必传且必须正确
|
||||
* @param user 发信人昵称,可不传
|
||||
* @param toId 预先创建且上传了收件人的收件人列表id,必传且必须正确
|
||||
* @param templateId 预先创建且通过审核的模板Id,必传且必须正确
|
||||
* @param templateParam 预先创建且通过审核的模板的参数json,格式{"name":"张三"},可不传
|
||||
* @param subject 邮件主题,必传
|
||||
*
|
||||
* @date 2022/2/23 14:24
|
||||
**/
|
||||
void sendEmailWithTemplateTencent(String from, String user, String toId, String templateId, String templateParam, String subject, List<JSONObject> attachmentList);
|
||||
}
|
@@ -0,0 +1,93 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* 文件API接口,可参考mjkf.xinke.dev.core.util.file包下的工具类扩展更多需要的方法
|
||||
*
|
||||
*
|
||||
* @date 2022/6/22 15:21
|
||||
**/
|
||||
public interface DevFileApi {
|
||||
|
||||
/* =========本地文件========= */
|
||||
|
||||
/**
|
||||
* 上传文件返回Url
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnUrlLocal(MultipartFile file);
|
||||
|
||||
/**
|
||||
* 上传文件返回Id
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnIdLocal(MultipartFile file);
|
||||
|
||||
/* =========阿里云文件========= */
|
||||
|
||||
/**
|
||||
* 上传文件返回Url
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnUrlAliyun(MultipartFile file);
|
||||
|
||||
/**
|
||||
* 上传文件返回Id
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnIdAliyun(MultipartFile file);
|
||||
|
||||
/* =========腾讯云件========= */
|
||||
|
||||
/**
|
||||
* 上传文件返回Url
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnUrlTencent(MultipartFile file);
|
||||
|
||||
/**
|
||||
* 上传文件返回Id
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnIdTencent(MultipartFile file);
|
||||
|
||||
/* =========MINIO件========= */
|
||||
|
||||
/**
|
||||
* 上传文件返回Url
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnUrlMinio(MultipartFile file);
|
||||
|
||||
/**
|
||||
* 上传文件返回Id
|
||||
*
|
||||
* @param file 文件
|
||||
*
|
||||
* @date 2022/6/22 17:44
|
||||
**/
|
||||
String storageFileWithReturnIdMinio(MultipartFile file);
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
/**
|
||||
* 定时任务API
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 15:59
|
||||
*/
|
||||
public interface DevJobApi {
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 日志API
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 15:59
|
||||
*/
|
||||
public interface DevLogApi {
|
||||
|
||||
/**
|
||||
* 记录登录日志
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 16:03
|
||||
*/
|
||||
void executeLoginLog(String userName);
|
||||
|
||||
/**
|
||||
* 记录登出日志
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 16:03
|
||||
*/
|
||||
void executeLogoutLog(String userName);
|
||||
|
||||
/**
|
||||
* 获取当前用户的访问日志列表
|
||||
*
|
||||
*
|
||||
* @date 2022/9/4 15:12
|
||||
*/
|
||||
List<JSONObject> currentUserVisLogList();
|
||||
|
||||
/**
|
||||
* 获取当前用户的操作日志列表
|
||||
*
|
||||
*
|
||||
* @date 2022/9/4 15:12
|
||||
*/
|
||||
List<JSONObject> currentUserOpLogList();
|
||||
}
|
@@ -0,0 +1,100 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 站内信API接口
|
||||
*
|
||||
*
|
||||
* @date 2022/6/22 17:33
|
||||
**/
|
||||
public interface DevMessageApi {
|
||||
|
||||
/**
|
||||
* 发送站内信,默认:分类系统通知
|
||||
*
|
||||
* @param receiverIdList 接收的用户id集合
|
||||
* @param subject 主题
|
||||
*
|
||||
* @date 2022/6/22 17:35
|
||||
**/
|
||||
void sendMessage(List<String> receiverIdList, String subject);
|
||||
|
||||
/**
|
||||
* 发送站内信指定分类
|
||||
*
|
||||
* @param receiverIdList 接收的用户id集合
|
||||
* @param subject 主题
|
||||
*
|
||||
* @date 2022/6/22 17:35
|
||||
**/
|
||||
void sendMessage(List<String> receiverIdList, String category, String subject);
|
||||
|
||||
/**
|
||||
* 发送站内信带内容,默认:分类系统通知
|
||||
*
|
||||
* @param receiverIdList 接收的用户id集合
|
||||
* @param subject 主题
|
||||
* @param content 站内信内容
|
||||
*
|
||||
* @date 2022/6/22 17:35
|
||||
**/
|
||||
void sendMessageWithContent(List<String> receiverIdList, String subject, String content);
|
||||
|
||||
/**
|
||||
* 发送站内信带内容,指定分类
|
||||
*
|
||||
* @param receiverIdList 接收的用户id集合
|
||||
* @param subject 主题
|
||||
* @param content 站内信内容
|
||||
*
|
||||
* @date 2022/6/22 17:35
|
||||
**/
|
||||
void sendMessageWithContent(List<String> receiverIdList, String category, String subject, String content);
|
||||
|
||||
/**
|
||||
* 获取未读站内信列表
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 11:48
|
||||
*/
|
||||
List<JSONObject> list(List<String> receiverIdList, Integer limit);
|
||||
|
||||
/**
|
||||
* 获取未读站内信数量
|
||||
*
|
||||
* @author diantu
|
||||
* @date 2023/7/10
|
||||
*/
|
||||
Long unreadCount(String loginId);
|
||||
|
||||
/**
|
||||
* 获取站内信分页
|
||||
*
|
||||
*
|
||||
* @date 2022/9/2 11:48
|
||||
*/
|
||||
Page<JSONObject> page(List<String> receiverIdList, String category);
|
||||
|
||||
/**
|
||||
* 获取站内信详情
|
||||
*
|
||||
* @param id 站内信id
|
||||
*
|
||||
* @date 2022/4/24 20:08
|
||||
*/
|
||||
JSONObject detail(String id);
|
||||
|
||||
/**
|
||||
* 站内信全部标记已读
|
||||
*
|
||||
* @author diantu
|
||||
* @date 2023/7/10
|
||||
*/
|
||||
void allMessageMarkRead();
|
||||
|
||||
}
|
@@ -0,0 +1,43 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
/**
|
||||
* 短信API
|
||||
*
|
||||
*
|
||||
* @date 2022/6/22 15:22
|
||||
**/
|
||||
public interface DevSmsApi {
|
||||
|
||||
/* =========阿里云邮件========= */
|
||||
|
||||
/**
|
||||
* 发送短信
|
||||
*
|
||||
* @param phoneNumbers 手机号码,支持对多个手机号码发送短信,手机号码之间以半角逗号(,)分隔。
|
||||
* 上限为1000个手机号码。批量调用相对于单条调用及时性稍有延迟。
|
||||
* @param signName 短信服务控制台配置且审核通过的短信签名
|
||||
* @param templateCode 短信服务控制台配置且审核通过的模板编码
|
||||
* @param templateParam 短信模板变量对应的实际值,JSON格式。支持传入多个参数,示例:{"name":"张三","number":"15038****76"}
|
||||
*
|
||||
* @date 2022/2/24 13:42
|
||||
**/
|
||||
void sendSmsAliyun(String phoneNumbers, String signName, String templateCode, String templateParam);
|
||||
|
||||
/* =========腾讯云邮件========= */
|
||||
|
||||
/**
|
||||
* 发送短信
|
||||
*
|
||||
* @param sdkAppId 短信 SdkAppId,在 短信控制台 添加应用后生成的实际 SdkAppId,示例如1400006666。
|
||||
* 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
|
||||
* @param phoneNumbers 手机号码,支持对多个手机号码发送短信,手机号码之间以半角逗号(,)分隔。
|
||||
* 上限为1000个手机号码。批量调用相对于单条调用及时性稍有延迟。
|
||||
* @param signName 短信服务控制台配置且审核通过的短信签名
|
||||
* @param templateCode 短信服务控制台配置且审核通过的模板编码
|
||||
* @param templateParam 短信模板变量对应的顺序。支持传入多个参数,逗号拼接,示例:"张三,15038****76,进行中"}
|
||||
*
|
||||
* @date 2022/2/24 13:42
|
||||
**/
|
||||
void sendSmsTencent(String sdkAppId, String phoneNumbers, String signName, String templateCode, String templateParam);
|
||||
}
|
@@ -0,0 +1,57 @@
|
||||
|
||||
package mjkf.xinke.dev.api;
|
||||
|
||||
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
||||
import mjkf.xinke.common.sse.CommonSseParam;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* SSE API接口
|
||||
*
|
||||
* @author diantu
|
||||
* @date 2023/7/5
|
||||
**/
|
||||
public interface DevSseApi {
|
||||
|
||||
/**
|
||||
* 创建SSE连接
|
||||
*
|
||||
* @param clientId 客户端id,不传则自动生成
|
||||
* @param setHeartBeat 是否设置心跳定时任务,默认为false(true:设置 false:不设置)
|
||||
* @param defaultHeartbeat 是否使用默认心跳任务
|
||||
* @param consumer 自定义心跳任务,需要自定义实现Consumer接口中的accept方法(setHeartBeat必须为true,defaultHeartbeat为false才有意义)
|
||||
* @return 初次建立连接会推送客户端id,状态码为0
|
||||
* @author diantu
|
||||
* @date 2023/7/5
|
||||
**/
|
||||
public SseEmitter createSseConnect(String clientId, Boolean setHeartBeat, Boolean defaultHeartbeat, Consumer<CommonSseParam> consumer);
|
||||
|
||||
/**
|
||||
* 关闭连接
|
||||
*
|
||||
* @param clientId 客户端id
|
||||
* @author diantu
|
||||
* @date 2023/7/5
|
||||
**/
|
||||
public void closeSseConnect(String clientId);
|
||||
|
||||
/**
|
||||
* 推送消息到所有客户端
|
||||
*
|
||||
* @param msg 推送消息
|
||||
* @author diantu
|
||||
* @date 2023/7/5
|
||||
**/
|
||||
public void sendMessageToAllClient(String msg);
|
||||
|
||||
/**
|
||||
* 根据clientId发送消息给某一客户端
|
||||
*
|
||||
* @param clientId 客户端id
|
||||
* @param msg 推送消息
|
||||
* @author diantu
|
||||
* @date 2023/7/5
|
||||
**/
|
||||
public void sendMessageToOneClient(String clientId, String msg);
|
||||
|
||||
}
|
Reference in New Issue
Block a user