README.md
消息中台系统(fw-hermes)
简介
本系统基于mqtt开发,用于替代腾讯im的功能,对客户端发送及时消息,客户端接收到对应消息后用于不同逻辑的处理与展示。
对接文档
1.SDK
<dependency>
<groupId>cn.fw</groupId>
<artifactId>fw-hermes-sdk</artifactId>
<version>2.0.0</version>
</dependency>
2.枚举
3.接口
类 : cn.fw.hermes.sdk.v2.service.IAccountV2Service
- register 用户注册
入参:
参数名 | 必须 | 类型 | 说明 |
---|---|---|---|
userId | 是 | Long | 用户ID |
userName | 否 | String | 用户名 |
staff | 是 | Boolean | 是否为B端人员,true为B端,fasle则为C端客户 |
返回值 :结果:Boolean
- getIdentifier 获取IM识别码
入参:
参数名 | 必须 | 类型 | 说明 |
---|---|---|---|
userId | 是 | Long | 用户Id |
userType | 否 | Integer | 1:B端用户 2:C端客户(默认b端用户) |
返回值: 用户识别码:string
- kick 将用户踢下线
接口说明:默认将用户类型为业务人员的用户踢下线
入参:
参数名 | 必须 | 类型 | 说明 |
---|---|---|---|
userId | 是 | Long | 用户id |
userType | 是 | Integer | 1:B端用户 2:C端客户 |
返回值: void
类: cn.fw.hermes.sdk.v2.service.IMessageV2Service
-
asyncSendMsg 发送异步消息
接口说明:调用该方法发送消息并不会立即将该消息发送,而是生成唯一消息识别码并返回,然后将消息放
入redis有序队列 定时调度任务拉取 消息进行发送并将发送结果和消息唯一ID发送到MQ入参:类:cn.fw.hermes.sdk.v2.para.MsgV2Condition
返回值:messageId 消息唯一识别码(Long)
- synSendMsg 发送同步消息
接口说明:调用该方法发送消息会立即发送该消息并返回发送结果
入参: 入参参数和 asyncSendMsg
接口方法一致
返回值:
{
"messageId": 1,
"msgState": 3,
"msgStateDesc": "ok",
"resultTime": 11666342
}
4.MQ
public class MessageV2Result {
/**
* 消息id
*/
private Long messageId;
/**
* 消息状态
*
* @see cn.fw.hermes.sdk.v2.enums.MsgState
*/
private Integer msgState;
/**
* 消息状态描述
*/
private String msgStateDesc;
/**
* 结果产生时间
*/
private Date resultTime;
}
topic: hermes_message_result
调用发送异步消息接口方法会将最终发送结果发送给MQ
EX:
{
"messageId": 1,
"msgState": 3,
"msgStateDesc": "ok",
"resultTime": 11666342
}