package com.fs.qwApi.param;

import com.fs.qwApi.domain.inner.TextMessage;
import lombok.Data;

import java.util.List;

@Data
public class SendWelcomeMsgParam {
    private String welcome_code; // 欢迎消息的回调代码
    private TextMessage text; // 文本消息内容
    private List<Attachment> attachments; // 附件数组


    @Data
    // 用于附件
    public static class Attachment {
        private String msgtype; // 附件类型：image（图片），link（链接），miniprogram（小程序），video（视频），file（文件）
        private ImageAttachment image; // 图片附件详情
        private LinkAttachment link; // 链接附件详情
        private MiniProgramAttachment miniprogram; // 小程序附件详情
        private VideoAttachment video; // 视频附件详情
        private FileAttachment file; // 文件附件详情
        @Data
        // 内部类，用于图片附件
        public static class ImageAttachment {
            private String pic_url; // 图片的URL
        }
        @Data
        // 内部类，用于链接附件
        public static class LinkAttachment {
            private String title; // 链接标题
            private String picurl; // 缩略图的URL
            private String desc; // 链接描述
            private String url; // 链接的URL
            private String courseId; // 链接的课程id
            private String videoId; // 链接的课节id
            private Integer expiresDays; // 链接的过期时间
        }
        @Data
        // 用于小程序附件
        public static class MiniProgramAttachment {
            private String title; // 小程序标题
            private String pic_media_id; // 小程序缩略图的媒体ID
            private String appid; // 小程序的App ID
            private String page; // 小程序的页面路径
            private String courseId; // 链接的课程id
            private String videoId; // 链接的课节id
            private Integer expiresDays; // 链接的过期时间
        }
        @Data
        // 内部类，用于视频附件
        public static class VideoAttachment {
            private String media_id; // 视频的媒体ID
            private String url; // 视频的媒体ID
        }
        @Data
        // 内部类，用于文件附件
        public static class FileAttachment {
            private String media_id; // 文件的媒体ID
        }
    }
}
