package com.fs.qwApi.param;

import lombok.Data;

import java.util.HashMap;
import java.util.List;

@Data
public class QwMsgTemplateSop {

    /**
     *  群发任务的类型，默认为single，表示发送给客户，group表示发送给客户群
     */
    private String chatType;

    /** 通过添加外部联系人事件推送给企业的发送欢迎语的凭证，有效期为20秒 */
    private String welcomeCode;

    /**
     *  客户的externaluseridList列表，仅在chat_type为single时有效，最多可一次指定1万个客户
     */
    private List<String> externalUseridList;

    /** 客户群id列表，仅在chat_type为group时有效，最多可一次指定2000个客户群。指定群id之后，收到任务的群主无须再选择客户群 */
    private List<String> chatIdList;

    /**
     *  要进行群发的客户标签列表，同组标签之间按或关系进行筛选，不同组标签按且关系筛选，每组最多指定100个标签，支持规则组标签
     */
    private List<HashMap<String,List<String>>> tagFilterGroupList;
    /**
     *  发送企业群发消息的成员userid，当类型为发送给客户群时必填 （如果发给客户，时候不填，则有相同客户的企业成员都会收到 群发助手的提醒）
     */
    private String sender;

    /** 是否允许成员在待发送客户列表中重新进行选择，默认为false，仅支持客户群发场景 */
    private Boolean allowSelect=true;

    /** 消息文本内容 */
    private  String textContent;

    /**附件  最多支持添加9个*/
    private List<Attachment> attachments; // 附件数组

    // 用于附件
    @Data
    public static class Attachment {
        /**
         *  选择的附件类型 1 仅文本 2仅图片 3 图文 4仅小程序  5仅文件 6 仅视频
         */
        private int type;

        /**  图片的media_id，可以通过素材管理接口获得    */
        private String imageMediaId;

        /** 图片的链接，仅可使用上传图片接口得到的链接 */
        private String imagePicUrl;

        /**
         *  图文消息标题，最长为128字节
         */
        private String linkTitle;

        /**
         * 图文消息封面的url
         */
        private String linkPicurl;

        /**
         *  图文消息的描述
         */
        private String linkDesc;


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

        //小程序消息标题
        private String miniProgramTitle;
        //小程序消息封面的mediaid，封面图建议尺寸为520*416
        private String miniProgramPicMediaId;
        //小程序appid
        private String miniProgramAppId;
        //小程序page路径
        private String miniProgramPage;

    }

}
