package com.fs.qwApi.Result;

import lombok.Data;

import java.util.List;

/**
 *  群发记录列表-附件记录
 */
@Data
class GroupMsgItem {

    /**
     *  	企业群发消息的id，可用于获取企业群发成员执行结果
     */
    private String msgid;

    /**
     *  群发消息创建者userid，API接口创建的群发消息不返回该字段
     */
    private String creator;

    /**
     *  	创建时间
     */
    private String create_time;

    /**
     *  群发消息创建来源。0：企业 1：个人
     */
    private int create_type;

    /**
     *  消息文本内容，最多4000个字节
     */
    private Text text;
    /**
     *  附件
     */
    private List<Attachment> attachments;

    /**
     *  文本
     */
    @Data
    static class Text {
        private String content;

    }

    /**
     *  附件
     */
    @Data
    static class Attachment {
        /**
         *  附件类型 图片，图文，小程序，视频，文件
         */
        private String msgtype;
        private Image image;
        private Link link;
        private MiniProgram miniprogram;
        private Video video;
        private File file;

    }

    @Data
    static class Image {
        /**
         *  图片的media_id，可以通过获取临时素材下载资源
         */
        private String media_id;
        /**
         *  图片的url，与图片的media_id不能共存优先吐出media_id
         */
        private String pic_url;

    }

    @Data
    static class Link {
        /**
         *  图文消息标题
         */
        private String title;
        /**
         *  图文消息封面的url
         */
        private String picurl;
        /**
         *  图文消息的描述，最多512个字节
         */
        private String desc;

        /**
         *  	图文消息的链接
         */
        private String url;

    }

    @Data
    static class MiniProgram {
        /**
         *  小程序消息标题，最多64个字节
         */
        private String title;

        private String pic_media_id;
        /**
         *  小程序appid，必须是关联到企业的小程序应用
         */
        private String appid;
        /**
         *  小程序page路径
         */
        private String page;

    }

    @Data
    static class Video {
        /**
         *  视频的media_id
         */
        private String media_id;

    }

    @Data
    static class File {
        /**
         *  文件的media_id
         */
        private String media_id;

    }
}
