package com.flossom.common.core.domain.req;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 发送话术记录 请求对象
 *
 * @author flossom
 * @date 2023-12-20
 */
public class WxUserScriptReq {

    /**
     * 话术接收用户id
     */
    List<Long> userIdList;

    /**
     * 是否自定义话术：0否，1是
     */
    @NotNull(message = "请选择是否自定义话术")
    @Range(min = 0, max = 1)
    private Integer isCustom;

    /**
     * 当为 is_custom = 0，选择话术模板
     */
    private Integer scriptTemplateId;

    /**
     * 话术名称
     */
    private String scriptName;

    /**
     * 话术标题
     */
    private String titile;

    /**
     * 话术内容
     */
    private String content;

    /**
     * 标签类型：1小程序标签  2外部标签
     */
    private Integer tagType;

    /**
     * 跳转类型：0无跳转、1跳转内部链接、3跳转外部链接、4跳转小程序、5导向视频号、6导向视频号直播间
     */
    private Integer type;

    /**
     * 跳转链接（跳转外部链接、跳转内部链接）
     */
    private String link;

    /**
     * 跳转链接参数（跳转内部链接）
     */
    private String linkParams;

    /**
     * 外链小程序appid（跳转小程序）
     */
    private String redirectAppid;

    /**
     * 外链小程序url（跳转小程序）
     */
    private String redirectUrl;

    /**
     * 视频号（导向视频号、导向视频号直播间）
     */
    private String videoNo;

    /**
     * 视频号feedId（导向视频号）
     */
    private String feedId;

    /**
     * 标签名字(xxx,xxx,xxx)
     */
    private List<String> tagNames;

    /**
     * 标签ID(xxxx,xxxx,xxx)
     */
    private List<String> tagIds;


    public List<Long> getUserIdList() {
        return userIdList;
    }

    public void setUserIdList(List<Long> userIdList) {
        this.userIdList = userIdList;
    }

    public Integer getIsCustom() {
        return isCustom;
    }

    public void setIsCustom(Integer isCustom) {
        this.isCustom = isCustom;
    }

    public Integer getScriptTemplateId() {
        return scriptTemplateId;
    }

    public void setScriptTemplateId(Integer scriptTemplateId) {
        this.scriptTemplateId = scriptTemplateId;
    }

    public String getScriptName() {
        return scriptName;
    }

    public void setScriptName(String scriptName) {
        this.scriptName = scriptName;
    }

    public String getTitile() {
        return titile;
    }

    public void setTitile(String titile) {
        this.titile = titile;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getTagType() {
        return tagType;
    }

    public void setTagType(Integer tagType) {
        this.tagType = tagType;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getLinkParams() {
        return linkParams;
    }

    public void setLinkParams(String linkParams) {
        this.linkParams = linkParams;
    }

    public String getRedirectAppid() {
        return redirectAppid;
    }

    public void setRedirectAppid(String redirectAppid) {
        this.redirectAppid = redirectAppid;
    }

    public String getRedirectUrl() {
        return redirectUrl;
    }

    public void setRedirectUrl(String redirectUrl) {
        this.redirectUrl = redirectUrl;
    }

    public String getVideoNo() {
        return videoNo;
    }

    public void setVideoNo(String videoNo) {
        this.videoNo = videoNo;
    }

    public String getFeedId() {
        return feedId;
    }

    public void setFeedId(String feedId) {
        this.feedId = feedId;
    }

    public List<String> getTagNames() {
        return tagNames;
    }

    public void setTagNames(List<String> tagNames) {
        this.tagNames = tagNames;
    }

    public List<String> getTagIds() {
        return tagIds;
    }

    public void setTagIds(List<String> tagIds) {
        this.tagIds = tagIds;
    }

}
