比如自定义一个用户审批的业务,消息类型type为1011,根据content
里的业务号contractid
是否一致来判断是否同一个审批。
如果是同一个审批(包含多条发消息:第一条消息----提交审批申请;后续消息----审批中,审批通过/审批失败...)只更新 t__messages_xx_
对应消息的content
, 而不是新增一条消息。----也就是说同一个业务在消息表t__messages_xx_
只对应一条消息只有一个messageId,返回结果也是同一个messageId。
发消息的参数:
{
"sender": "plswpwyx",
"conv": {
"type": 0,
"target": "rBr-r-xw"
},
"payload": {
"type": 1011,
"content": "{\"contractid\": \"186501000001\", \"appid\":\"112887840\",\"title\":\"哈哈哈哈\"}"
}
}
对于开源的野火IM,如果才能实现上述的功能,还请各位大神指点!!!
对于开源的野火IM,如果才能实现上述的功能,还请各位大神指点!!!
对于开源的野火IM,如果才能实现上述的功能,还请各位大神指点!!!
现在的思路:在消息表t__messages_xx_
新增_contract_id
用于存储自定义消息的业务id,通过查数据库来判断是否有相同业务的信息,如果有则更新,无则插入新消息。但是现在这种思路有问题:
1. 消息存储在t__messages_xx_
每个月一个表,在判断比较_contract_id
的时候如何判断去哪个表里查?
2. 发消息会初始化messagesId
,也会插入新消息至t_user_messages_xx
表,对于更新的消息是不应该更新t_user_messages_xx
的。