Name Last Update
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...
.gitignore Loading commit data...
README.md Loading commit data...
pom.xml Loading commit data...

README.md

im管理系统(fw-hermes)

简介

本系统基于腾讯im及时通讯开发,用于替代push的功能,对客户端发送及时消息,客户端接收到对应消息后用于不同逻辑的处理与展示。

对接文档

1.SDK

<dependency>
    <groupId>cn.fw</groupId>
    <artifactId>fw-hermes-sdk</artifactId>
    <version>1.0.0</version>
</dependency>

2.枚举

3.接口

类:ChatPullApiService
  • count 统计聊天次数大于等于所给定次数的聊天记录集合

​ 接口说明:仅发送单向消息不算一次记录 ,一次点对点聊天才成立

入参:

参数名 必须 类型 说明
chatCount Integer 聊天次数

返回值:

[{"chatCount":20,"fromUserId":1,"fromUserType":0,"toUserId":2,"toUserType":1},{"chatCount":10,"fromUserId":5,"fromUserType":0,"toUserId":7,"toUserType":1}]
  • queryChatRecordOfCouple 查询指定时间范围内指定两人聊天次数

​ 接口说明:仅发送单向消息不算一次记录 ,一次点对点聊天才成立

入参:

参数名 必须 类型 说明
fromAccount String 消息发送人userId
fromIsStaff Boolean 消息发送人是否为业务人员
toAccount String 消息接收人userId
toIsStaff Boolean 消息接收人是否为业务人员
startTime Long 开始时间 ,单位秒(消息记录默认漫游7天,不能早于当前时间的7天前的日期)
endTime Long 截止时间 , 单位秒

返回值:

Integer  聊天次数
类 : ImAccountApiService
  • userRegister 用户注册

入参:

参数名 必须 类型 说明
userId Long 用户ID
userName String 用户名
faceUrl faceUrl 面部识别URL
isStaff boolean 是否为业务人员,true为业务人员,fasle则为客户

返回值 :

  {"createTime":1614075253000,"identifierCode":"ch22","nickName":"testUser","userId":22}
  • getSig 获取签名

入参:

参数名 必须 类型 说明
userId Long 用户id
expire Long 签名过期时间(单位:秒 默认10天)签名未过期不生效(该接口字段未使用)
isStaff boolean 是否是业务人员(true是业务人员,false则是客户)

返回值:

  {"userId":1189,"identifier":"bh1189","userSig":"eJw1j11vgjAYRv8L12ahfLtkF93SLIi4JQM13jSMtvCqhcoqqIv-fR2R23MunvP8Wtny66lQChgtNHU7Zj1btjUbMb8o6DgthOadwVHg2fbkgPFGg4DRfNcIRfOH*YHKoJTkbzGpspXq19KXHyTHCSHua7u9Nc4RMfAvi3DurzNP49O7GDAQ3AxiqHefiyTc3No43OVYnIJ0v*q7pBLSjlV6llHdZ*21fJnG2IGO9WYSmTzkRmEwlWiQ-J8HyHMcU*g8eFGW7bnRVF8VH*-e-wD4*lB6"}
  • getIdentifier 获取IM识别码

入参:

参数名 必须 类型 说明
userId Long 用户Id
isStaff boolean 是否为业务人员(true:业务人员,false :客户)

返回值:

  string 用户识别码
  • kick 将用户踢下线

接口说明:默认将用户类型为业务人员的用户踢下线

入参:

参数名 必须 类型 说明
userId Long 用户类型为业务人员的用户id

返回值:

 Boolean  true:踢下线成功 false:踢下线失败
类: ImSendMsgApiServiceImpl
  • sendMsg 弃用发送消息接口方法

接口说明:该接口方法消息接收用户类型默认为业务人员

入参:MsgPara类

​ 构建消息对象方法:

​ 构建自定义消息: getCustomMsg

​ 入参:

参数名 必须 类型 说明
desc String 内容(描述信息)
title String 标题(为空的时候不会在通知栏提示,静默消息)
ext Map<String, Object> ext 扩展信息 ,业务通知时ext必须要有type字段才能解析 所对应类型为枚举类型
lifeTime Integer 离线保留时长(秒) 最长7天,若消息只发在线用户,不想保存离线,则该字段填 0。若不填,则默认保存 7 天
userId Long 消息接收人id
useOffline boolean 是否离线推送

​ 构建文本消息:getTextPara

​ 入参:

参数名 必须 类型 说明
text String 消息内容
lifeTime Integer 离线保留时长(秒) 最长7天 若消息只发在线用户,不想保存离线,则该字段填 0。若不填,则默认保存 7 天
userId Long 消息接收人用户id

​ 构建离线消息:getOfflineTxetPara

​ 构建表情消息:getFaceMsg(消息接收端暂不支持解析)

​ 构建位置消息:getLocationMsg(消息接收端暂不支持解析)

返回值:

  Integer 是否发送成功 1:发送成功 0:发送失败

  • asynSendMsg 发送异步消息

    接口说明:调用该方法发送消息并不会立即将该消息发送,而是生成唯一消息识别码并返回,然后将消息放 入redis有序队列 定时调度任务拉取 消息进行发送并将发送结果和消息唯一ID发送到MQ

    入参:类:MsgParamCondition

​ 构建方法入参参数和接口方法sendMsg除以下提到的以外都一致

​ 区别:

​ MsgParamCondition:

​ 新增字段:isStaff

参数名 必须 类型 说明
isStaff Boolean 消息接收人是否为业务人员;true:业务人员;false:客户

​ 构建自定义消息: getCustomMsg

参数名 必须 类型 说明
ext Map<String, Object> ext 扩展信息 ,业务通知时ext必须要有type字段才能解析 所对应类型为字符串

​ 返回值:

String 消息唯一识别码和MQ返回的唯一消息识别码一致
  • synSendMsg 发送同步消息

​ 接口说明:调用该方法发送消息会立即发送该消息并返回发送结果

​ 入参: 入参参数和asynSendMsg 接口方法一致

返回值:

Boolean true:发送成功 false 发送失败 

4.MQ


  /**
   * 消息唯一ID
   */
  private String messageId;
  /**
   * 消息最终状态 true:发送成功
   * false:发送失败
   */
  private Boolean status;
topic: send_asyn_msg

调用发送异步消息接口方法会将最终发送结果发送给MQ

EX:

{"messageId":"c1feab8485f64bdcabce2cc774a2bd84","status":true}