Name Last Update
.idea Loading commit data...
doc Loading commit data...
fw-hermes-common Loading commit data...
fw-hermes-dao Loading commit data...
fw-hermes-domain Loading commit data...
fw-hermes-rpc Loading commit data...
fw-hermes-sdk Loading commit data...
fw-hermes-server Loading commit data...
fw-hermes-service Loading commit data...
.editorconfig Loading commit data...
.gitignore Loading commit data...
README.md Loading commit data...
lombok.config Loading commit data...
pom.xml Loading commit data...
v1_0.md Loading commit data...

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
}