新增:消息仅发送在线用户支持,消息状态status=21
This commit is contained in:
parent
621c205b6c
commit
39db13d8de
@ -102,7 +102,8 @@ public class ImChatService extends BaseService {
|
||||
// intCache.incrHm("im:heartbeat:" + uid, "messagecount", -1);
|
||||
// 更新状态失败, 200ms 后重试(当数据未写入的时候,更新失败)
|
||||
Timers.tryDelay(() -> {
|
||||
FilterNode node = FilterNode.create("senduserid", bean.getSenduserid()).and("receiveuserid", uid);
|
||||
// FilterNode node = FilterNode.create("senduserid", bean.getSenduserid()).and("receiveuserid", uid);
|
||||
FilterNode node = FilterNode.create("messageid", bean.getMessageid());
|
||||
int updateColumn = zimSource.updateColumn(FriendMessage.class, node, ColumnValue.create("status", 10));
|
||||
|
||||
return updateColumn != 0;
|
||||
@ -139,7 +140,8 @@ public class ImChatService extends BaseService {
|
||||
.and("senduserid", NOTEQUAL, userid)
|
||||
.and("createtime", GREATERTHAN, lastAcceptTime)
|
||||
.and("createtime", LESSTHAN, System.currentTimeMillis())
|
||||
.and("status", NOTEQUAL, 80);
|
||||
.and("status", NOTEQUAL, 80)
|
||||
.and("status", NOTEQUAL, 21);
|
||||
try {
|
||||
List<ChannelMessage> messages = zimSource.queryList(ChannelMessage.class, new Flipper(50, "createtime desc"), node1);
|
||||
|
||||
@ -200,6 +202,9 @@ public class ImChatService extends BaseService {
|
||||
}
|
||||
|
||||
private String getGuserid(int userid) {
|
||||
if (userid == 0) {
|
||||
return "0";
|
||||
}
|
||||
ImUser user = zimSource.find(ImUser.class, userid);
|
||||
return user.getGuserid();
|
||||
}
|
||||
|
@ -29,6 +29,9 @@ public class MessageBean {
|
||||
@Comment("[接收群组]{channeltype, channelvalue}")
|
||||
private SubscribeBean receivechannel;
|
||||
|
||||
@Column(comment = "[仅在线接收]0否、1是")
|
||||
private short onlinereceive = 0;
|
||||
|
||||
public FriendMessage buildFriendMessage(int senduserid, int userid) {
|
||||
FriendMessage message = new FriendMessage();
|
||||
message.setContent(content);
|
||||
@ -36,7 +39,7 @@ public class MessageBean {
|
||||
message.setSenduserid(senduserid);
|
||||
message.setReceiveuserid(userid);
|
||||
message.setCreatetime(System.currentTimeMillis());
|
||||
message.setStatus((short) 20);
|
||||
message.setStatus(onlinereceive == 1 ? (short) 21 : 20);
|
||||
message.setMessageid(Utils.fmt36(senduserid) + "-" + Utils.fmt36(message.getCreatetime()));
|
||||
|
||||
return message;
|
||||
@ -50,7 +53,7 @@ public class MessageBean {
|
||||
message.setChanneltype(receivechannel.getChanneltype());
|
||||
message.setChannelvalue(receivechannel.getChannelvalue());
|
||||
message.setCreatetime(System.currentTimeMillis());
|
||||
message.setStatus((short) 20);
|
||||
message.setStatus(onlinereceive == 1 ? (short) 21 : 20);
|
||||
message.setMessageid(Utils.fmt36(message.getSenduserid()) + "-" + Utils.fmt36(message.getCreatetime()));
|
||||
return message;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ public class FriendMessage {
|
||||
@Column(comment = "[创建时间]")
|
||||
private long createtime;
|
||||
|
||||
@Column(comment = "[状态]10已发送,20未发送")
|
||||
@Column(comment = "[状态]10已发送,20未发送,21仅在线发送")
|
||||
private short status;
|
||||
|
||||
public static FriendMessage buildFriendMessage(String content, int senduserid, int receiveuserid) {
|
||||
|
Loading…
Reference in New Issue
Block a user