package com.fs.company.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 企业对象 company
 *
 * @author fs
 * @date 2021-10-04
 */
@Data
public class Company extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long companyId;

    /** 企业名 */
    @Excel(name = "企业名")
    private String companyName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String companyMobile;

    /** 地址 */
    @Excel(name = "地址")
    private String companyAddress;
    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date limitTime;

    /** 余额 */
    @Excel(name = "余额")
    private BigDecimal money;

    /** 余额 */
    @Excel(name = "佣金")
    private BigDecimal tuiMoney;

    /** 呼叫接口ID */
    @Excel(name = "呼叫接口ID")
    private Long voiceApiId;

    private Integer companyType;

    private Long userId;

    private String appId;

    private String appKey;

    @Excel(name = "管理员账号")
    private String userName;

    private String password;


    private String remark;

    private String linkName;

    private Integer limitUserCount;

    private Integer isDel;

    private Integer voiceCallerNumber;

    private String omsCode;
    @Excel(name = "商务负责人")
    private String manager;

    private String followDoctorIds;

    private String doctorIds;
    private String packageCateIds;
    /**
    * 重启时间
    */
    private String restartTime;
    @TableField(exist = false)
    private List<String> rules;

    /**
     * 点播配置-公众号appId
     */
    private String courseMaAppId;
    /**
     * 点播配置-小程序appId
     */
    private String courseMiniAppId;
    /**
    * 自定义小程序
    */
    private String customMiniAppId;

    /** 会员是否默认黑名单，1-是；0-否（用于销售分享成为会员的操作） */
    private Integer fsUserIsDefaultBlack;
    private Integer repeat;
    private Integer sendIfType;
    private Integer ifNum;
    private String groupName;
    @TableField(exist = false)
    private List<String> miniAppMaster;
    @TableField(exist = false)
    private List<String> miniAppServer;

    @TableField(exist = false)
    private boolean updateMiniApp;

    /** 后台制单是否需要付款 默认1 0-否 1-是*/
    private Integer isPay;
    /** 限制销售公司Pad数量 -1表示不做限制*/
    private Integer maxPadNum;
    /** 所属部门id */
    private Long deptId;

    private BigDecimal redPackageMoney;

    // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
    private Integer isOpenRestReminder;

    /** 是否强制评级 0否 1是，同步控制该公司下所有SOP */
    private Integer level;

    @TableField(exist = false)
    private List<Long> ids;

    //小程序名称
    @TableField(exist = false)
    private String queryAppName;
}
