NIMSDK-AOS  10.9.50
RoamMsgHasMoreOption.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.msg.model;
2 
3 import com.netease.nimlib.SDKCacheUI;
4 import com.netease.nimlib.biz.constant.ITalkService;
5 import com.netease.nimlib.push.packet.marshal.Property;
7 
8 import java.io.Serializable;
9 
10 public class RoamMsgHasMoreOption implements Serializable {
11  /** 会话ID */
12  private final String sessionId;
13  /** 会话类型 */
14  private final SessionTypeEnum sessionType;
15  /** has more标记的消息的时间 */
16  private final long time;
17  /** has more标记的消息的服务ID */
18  private final long serverId;
19 
20  public RoamMsgHasMoreOption(String sessionId, SessionTypeEnum sessionTypeEnum, long time, long serverId) {
21  this.sessionId = sessionId;
22  this.sessionType = sessionTypeEnum;
23  this.time = time;
24  this.serverId = serverId;
25  }
26 
27  public RoamMsgHasMoreOption(Property msg) {
28  this.time = Long.parseLong(msg.get(ITalkService.Tag.time));
29  this.serverId = Long.parseLong(msg.get(ITalkService.Tag.msgid_server));
30 
31  String receiverType = msg.get(ITalkService.Tag.ReceiverType);
32  String toAccount = msg.get(ITalkService.Tag.ReceiverAccount);
33  String fromAccount = msg.get(ITalkService.Tag.fromAccount);
34  switch (receiverType){
35  case "1":
36  case "2":
37  this.sessionType = SessionTypeEnum.Team;
38  this.sessionId = toAccount;
39  break;
40  case "0":
41  default:
42  this.sessionType = SessionTypeEnum.P2P;
43  final String myAccId = SDKCacheUI.getAccount();
44  this.sessionId = (myAccId != null && myAccId.equals(fromAccount)) ? toAccount : fromAccount;
45  break;
46  }
47  }
48 
49  public String getSessionId() {
50  return sessionId;
51  }
52 
54  return sessionType;
55  }
56 
57  public long getTime() {
58  return time;
59  }
60 
61  public long getServerId() {
62  return serverId;
63  }
64 
65  @Override
66  public String toString() {
67  return String.format("{sessionId: %s, sessionType: %s, time: %s, serverId: %s}", sessionId, sessionType, time, serverId);
68  }
69 }
RoamMsgHasMoreOption(String sessionId, SessionTypeEnum sessionTypeEnum, long time, long serverId)