package com.fs.course.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class FsCoursePlaySourceConfigVO {

    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("小程序/公众号名称")
    private String name;

    @ApiModelProperty("小程序/公众号appid")
    private String appid;

    @ApiModelProperty("小程序/公众号secret")
    private String secret;

    @ApiModelProperty("小程序/公众号icon图标")
    private String img;

    @ApiModelProperty("小程序/公众号原始id")
    private String originalId;

    @ApiModelProperty("token")
    private String token;

    @ApiModelProperty("aesKey")
    private String aesKey;

    @ApiModelProperty("msgDataFormat")
    private String msgDataFormat;

    @ApiModelProperty("类型 1主要小程序 2公众号 3炮灰小程序")
    private Integer type;

    @ApiModelProperty("所属公司")
    private Long companyId;

    @ApiModelProperty("所属公司（多选）")
    private List<Long> companyIds;

    @JsonIgnore
    private String companyIdsText;

    /**
     * 销售公司ids 用于判定销售公司可见编辑列表
     */
    @ApiModelProperty("销售公司ids 用于判定销售公司可见编辑列表")
    private String setCompanyIds;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 是否是互医/商城小程序
     */
    private Integer isMall;
    private Long createDeptId;

    @ApiModelProperty("小程序状态：0正常，1半封禁，2封禁")
    private Integer status;

    @ApiModelProperty("商户支付配置id")
    private Long merchantConfigId;

    @ApiModelProperty("是否开启自定义授权 0-否 1-是")
    private Integer customAuthEnabled;

    @ApiModelProperty("小程序授权头像昵称方式（仅自定义授权开启时有效） 1：小程序原生授权 2：跳转H5服务号授权")
    private Integer miniAppAuthType;

    @ApiModelProperty("会员看课小程序授权头像昵称，跳转H5服务号授权域名（仅自定义授权开启且授权方式为服务号时有效）")
    private String userCourseAuthDomain;

    @ApiModelProperty("小程序域名校验文件名")
    private String verifyFileName;
}
