package com.ylx.massage.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import com.ylx.common.annotation.Excel;
import com.ylx.common.core.domain.BaseEntity;

import java.time.LocalDate;
import java.util.Date;


/**
 * 商户对象
 *
 * @author ylx
 * @date 2024-03-22
 */

@Data
@TableName("ma_technician")
@Accessors(chain = true)
public class MaTechnician extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID（商户ID）
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 姓名
     */
    @TableField("te_name")
    @Excel(name = "姓名")
    private String teName;
    /**
     * 昵称
     */
    @Excel(name = "昵称")
    @TableField("te_nick_name")
    private String teNickName;


    /**
     * 用户的openId
     */
    @TableField("c_openid")
    @ApiModelProperty("用户的openId")
    private String cOpenid;

    /**
     * 性别(0女1男)
     */
    @Excel(name = "性别(0女1男)")
    @TableField("te_sex")
    private Integer teSex;

    /**
     * 电话
     */
    @Excel(name = "电话")
    @TableField("te_phone")
    private String tePhone;

    /**
     * 合作意向城市
     */
    @Excel(name = "合作意向城市")
    @TableField("te_address")
    private String teAddress;

    /**
     * 城市编码
     */
    private String teAreaCode;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    @TableField("te_age")
    private Integer teAge;

    /**
     * 头像
     */
    @Excel(name = "头像")
    @TableField("te_avatar")
    private String teAvatar;

    /**
     * 服务标签（1：按摩推拿 2：陪玩）
     */
    @TableField("service_tag")
    private Integer serviceTag;

    /**
     * 开通服务类目ID
     */
    @Excel(name = "开通服务类目ID")
    @TableField("openService")
    private String openService;

    /**
     * 可服务项目名称
     */
    @TableField("te_project")
    private String teProject;

    /**
     * 形象照
     */
    @Excel(name = "形象照")
    @TableField("avatar")
    private String avatar;

    /**
     * 身份证过期日期
     */
    @Excel(name = "身份证过期日期")
    @TableField("id_card_expiration_date")
    private LocalDate idCardExpirationDate;

    /**
     * 简介
     */
    @Excel(name = "简介")
    @TableField("te_brief")
    private String teBrief;

    /**
     * 待审核昵称
     */
    @TableField("pending_te_nick_name")
    private String pendingTeNickName;

    /**
     * 昵称资料审核状态：0-审核中，1-审核通过，2-审核驳回
     */
    @TableField("te_nick_name_audit_status")
    private Integer teNickNameAuditStatus;

    /**
     * 昵称资料审核备注
     */
    @TableField("te_nick_name_audit_remark")
    private String teNickNameAuditRemark;

    /**
     * 待审核简介
     */
    @TableField("pending_te_brief")
    private String pendingTeBrief;

    /**
     * 简介资料审核状态：0-审核中，1-审核通过，2-审核驳回
     */
    @TableField("te_brief_audit_status")
    private Integer teBriefAuditStatus;

    /**
     * 简介资料审核备注
     */
    @TableField("te_brief_audit_remark")
    private String teBriefAuditRemark;

    /**
     * 健康证过期日期
     */
    @Excel(name = "健康证过期日期")
    @TableField("health_certificate_expiration_date")
    private LocalDate healthCertificateExpirationDate;

    /**
     * 服务状态(0服务中,1可服务 2已休息)
     */
    @Excel(name = "服务状态(0服务中,1可服务 2已休息)")
    private Integer serviceState;

    /**
     * 从业资格证过期日期
     */
    @Excel(name = "从业资格证过期日期")
    @TableField("qualification_certificate_expiration_date")
    private LocalDate qualificationCertificateExpirationDate;

    /**
     * 上岗状态 （-1：未上岗 0：已上岗 1：已申请）
     */
    @Excel(name = "上岗状态 （-1：未上岗 0：已上岗 1：已申请）")
    private Integer nStatus2;

    /**
     * 商户管理状态: 0-正常, 1-限制接单, 2-冻结, 3-注销
     */
    @Excel(name = "商户管理状态: 0-正常, 1-限制接单, 2-冻结, 3-注销")
    private Integer merchantStatus;

    /**
     * 商户管理状态变更原因
     */
    @TableField("reason_change")
    private String reasonChange;

    /**
     * 商户接单状态(0:休息中 1:在线接单)
     */
    @Excel(name = "商户接单状态(0休息中 1在线接单)")
    private Integer postState;

    /**
     * 商户类型（0：真实商户 1：虚拟商户）
     */
    @Excel(name = "商户类型（0：真实商户 1：虚拟商户）")
    private Integer techType;

    /**
     * 是否启用(0否1是)
     */
    @Excel(name = "是否启用(0否1是)")
    private Integer teIsEnable;

    /**
     * 审核状态：-1-申请入驻 0-待入驻，1-待审核，2-审核通过，3-审核驳回
     */
    @Excel(name = "审核状态：-1-申请入驻 0-待入驻，1-待审核，2-审核通过，3-审核驳回")
    private Integer auditStatus;

    /**
     * 审核备注
     */
    @Excel(name = "审核备注")
    @TableField("audit_remark")
    private String auditRemark;

    /**
     * 审批时间
     */
    @Excel(name = "审批时间")
    private Date approveTime;

    /**
     * 是否删除(0否1是)
     */
    @Excel(name = "是否删除(0否1是)")
    @TableField("is_delete")
    @TableLogic
    private Integer isDelete;

    /**
     * 评分
     * 用户对技师的评分，通常为1-5分
     */
    @ApiModelProperty("评分")
    private Integer nStar;

    /**
     * 已服务数量
     * 技师累计完成的订单总数
     */
    @TableField("n_num")
    @ApiModelProperty("已服务订单数量")
    private Integer nNum;

    /**
     * 是否推荐(0否1是)
     */
    @Excel(name = "是否推荐(0否1是)")
    @TableField("is_recommend")
    @ApiModelProperty("是否推荐")
    private Integer isRecommend;

    /**
     * 省级行政区编码，如：110000。
     */
    @TableField(exist = false)
    private String provinceCode;

    /**
     * 省级行政区名称，如：北京市。
     */
    @TableField(exist = false)
    private String provinceName;

    /**
     * 地级市编码，如：110100。
     */
    @TableField(exist = false)
    private String cityCode;

    /**
     * 地级市名称，如：北京市。
     */
    @TableField(exist = false)
    private String cityName;

    /**
     * 运营中心ID。
     */
    @TableField(exist = false)
    private Integer operationCenterId;

    /**
     * 运营中心名称。
     */
    @TableField(exist = false)
    private String operationCenterName;
}
