package com.fs.qwApi.Result;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;


@Data
public class QwGroupChatDetailsResult {

    @JsonProperty("errcode")
    private int errCode;

    @JsonProperty("errmsg")
    private String errMsg;

    /**
     *  客户群详情
     */
    @JsonProperty("group_chat")
    private GroupChats groupChat;


@Data
public static class GroupChats {

    /**
     *  	客户群ID
     */
    @JsonProperty("chat_id")
    private String chatId;

    /**
     *  群名
     */
    @JsonProperty("name")
    private String name;

    /**
     *  群主ID
     */
    @JsonProperty("owner")
    private String owner;

    /**
     *  	群的创建时间
     */
    @JsonProperty("create_time")
    private long createTime;

    /**
     *  群公告
     */
    @JsonProperty("notice")
    private String notice;

    /**
     *  群成员列表
     */
    @JsonProperty("member_list")
    private List<Member> memberList;

    /**
     *  群管理员列表
     */
    @JsonProperty("admin_list")
    private List<Admin> adminList;
    /**
     *当前群成员版本号
     */
    @JsonProperty("member_version")
    private String memberVersion;

}
@Data
public static class Member {

    /**
     *  群成员id
     */
    @JsonProperty("userid")
    private String userId;

    /**
     *  成员类型。
     * 1 - 企业成员
     * 2 - 外部联系人
     */
    @JsonProperty("type")
    private int type;

    /**
     *  外部联系人在微信开放平台的唯一身份标识（微信unionid）
     */
    private String unionid;
    /**
     *  入群时间
     */
    @JsonProperty("join_time")
    private long joinTime;

    /**
     *  入群方式。
     * 1 - 由群成员邀请入群（直接邀请入群）
     * 2 - 由群成员邀请入群（通过邀请链接入群）
     * 3 - 通过扫描群二维码入群
     */
    @JsonProperty("join_scene")
    private int joinScene;

    /**
     *  	邀请者。目前仅当是由本企业内部成员邀请入群时会返回该值
     */
    @JsonProperty("invitor")
    private Invitor invitor;

    /**
     *  在群里的昵称
     */
    @JsonProperty("group_nickname")
    private String groupNickname;

    /**
     *  名字。仅当 need_name = 1 时返回
     * 如果是微信用户，则返回其在微信中设置的名字
     * 如果是企业微信联系人，则返回其设置对外展示的别名或实名
     */
    @JsonProperty("name")
    private String name;

}

@Data
public static class Invitor {

    /**
     *  邀请者的userid
     */
    @JsonProperty("userid")
    private String userId;
}

@Data
public static class Admin {

    /**
     *  群管理员userid
     */
    @JsonProperty("userid")
    private String userId;

}
}
