WxCpUserExternalGroupChatInfo.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package cn.nosum.wx.cp.entity.external;
  2. import com.google.gson.annotations.SerializedName;
  3. import lombok.Getter;
  4. import lombok.Setter;
  5. import cn.nosum.wx.cp.entity.WxCpBaseResp;
  6. import cn.nosum.wx.cp.utils.json.WxCpGsonBuilder;
  7. import java.io.Serializable;
  8. import java.util.List;
  9. @Getter
  10. @Setter
  11. public class WxCpUserExternalGroupChatInfo extends WxCpBaseResp {
  12. @SerializedName("group_chat")
  13. private GroupChat groupChat;
  14. @Getter
  15. @Setter
  16. public static class GroupChat implements Serializable {
  17. private static final long serialVersionUID = -4301684507150486556L;
  18. @SerializedName("chat_id")
  19. private String chatId;
  20. @SerializedName("name")
  21. private String name;
  22. @SerializedName("owner")
  23. private String owner;
  24. @SerializedName("create_time")
  25. private Long createTime;
  26. @SerializedName("notice")
  27. private String notice;
  28. @SerializedName("member_list")
  29. private List<GroupMember> memberList;
  30. @SerializedName("admin_list")
  31. private List<GroupAdmin> adminList;
  32. }
  33. @Getter
  34. @Setter
  35. public static class GroupMember implements Serializable {
  36. private static final long serialVersionUID = -4301684507150486556L;
  37. @SerializedName("userid")
  38. private String userId;
  39. /**
  40. * 成员类型。
  41. * 1 - 企业成员
  42. * 2 - 外部联系人
  43. */
  44. @SerializedName("type")
  45. private int type;
  46. @SerializedName("join_time")
  47. private Long joinTime;
  48. /**
  49. * 外部联系人在微信开放平台的唯一身份标识(微信unionid)
  50. * 通过此字段企业可将外部联系人与公众号/小程序用户关联起来
  51. * 仅当群成员类型是微信用户(包括企业成员未添加好友),且企业或第三方服务商绑定了微信开发者ID有此字段
  52. */
  53. @SerializedName("unionid")
  54. private String unionId;
  55. /**
  56. * 入群方式。
  57. * 1 - 由成员邀请入群(直接邀请入群)
  58. * 2 - 由成员邀请入群(通过邀请链接入群)
  59. * 3 - 通过扫描群二维码入群
  60. */
  61. @SerializedName("join_scene")
  62. private int joinScene;
  63. /**
  64. * 在群里的昵称
  65. */
  66. @SerializedName("group_nickname")
  67. private String groupNickname;
  68. /**
  69. * 名字。仅当 need_name = 1 时返回
  70. * 如果是微信用户,则返回其在微信中设置的名字
  71. * 如果是企业微信联系人,则返回其设置对外展示的别名或实名
  72. */
  73. @SerializedName("name")
  74. private String name;
  75. /**
  76. * 邀请者。目前仅当是由本企业内部成员邀请入群时会返回该值
  77. */
  78. @SerializedName("invitor")
  79. private Invitor invitor;
  80. }
  81. @Getter
  82. @Setter
  83. public static class Invitor {
  84. /**
  85. * 邀请者的userid
  86. */
  87. @SerializedName("userid")
  88. private String userId;
  89. }
  90. @Getter
  91. @Setter
  92. public static class GroupAdmin {
  93. /**
  94. * 群管理员userid
  95. */
  96. @SerializedName("userid")
  97. private String userId;
  98. }
  99. public static WxCpUserExternalGroupChatInfo fromJson(String json) {
  100. return WxCpGsonBuilder.create().fromJson(json, WxCpUserExternalGroupChatInfo.class);
  101. }
  102. }