package com.ylx.massage.domain;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ylx.common.annotation.Excel;
import com.ylx.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * 商户服务项目表
 *
 * @author ylx
 * @date 2024-03-20
 */
@ApiModel(value = "MaProject", description = "商户服务项目表")
@Data
@TableName("ma_project")
public class MaProject implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id(主键ID)
     */
    @ApiModelProperty("id")
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商户ID
     */
    @Excel(name = "商户ID")
    @ApiModelProperty("商户ID")
    private Integer merchantId;

    /**
     * 项目ID
     */
    @Excel(name = "项目ID")
    @ApiModelProperty("项目ID")
    private Integer projectId;
    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 项目描述
     */
    @Excel(name = "项目描述")
    @ApiModelProperty("项目描述")
    private String projectDescribe;

    /**
     * 项目时长(分)
     */
    @Excel(name = "项目时长(分)")
    @ApiModelProperty("项目时长(分)")
    private Integer projectDuration;

    /**
     * 项目选择人数
     */
    @Excel(name = "项目选择人数")
    @ApiModelProperty("项目选择人数")
    private Long projectUsersNum;

    /**
     * 项目原价
     */
    @Excel(name = "项目原价")
    @ApiModelProperty("项目原价")
    private BigDecimal projectOriginalPrice;


    /**
     * 项目价格上限
     */
    @Excel(name = "项目价格上限")
    @ApiModelProperty("项目价格上限")
    private BigDecimal projectMaxPrice;

    /**
     * 项目价格下限
     */
    @Excel(name = "项目价格下限")
    @ApiModelProperty("项目价格下限")
    private BigDecimal projectLowestPrice;

    /**
     * 我的售价
     */
    @Excel(name = "我的售价")
    @ApiModelProperty("我的售价")
    private BigDecimal projectCurrentPrice;
    /**
     * 商户手机号
     */
    @Excel(name = "商户手机号")
    @ApiModelProperty("商户手机号")
    private String merchantPhone;

    /**
     * 服务标签：1-上门按摩，2-同城陪玩
     */
    @Excel(name = "服务标签：1-上门按摩，2-同城陪玩")
    @ApiModelProperty("服务标签：1-上门按摩，2-同城陪玩")
    private Integer serviceTag;

    /**
     * 开通理由
     */
    @Excel(name = "开通理由")
    @ApiModelProperty("开通理由")
    private String applyReason;
    /**
     * 开通理由
     */
    @Excel(name = "驳回原因")
    @ApiModelProperty("驳回原因")
    private String reason;
    /**
     * 是否启用(0否1是)
     */
    @Excel(name = "是否启用(0否1是)")
    @ApiModelProperty("是否启用(0否1是)")
    private Integer projectIsEnable;

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

    /**
     * 申请时间
     */
    @Excel(name = "申请时间")
    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applyTime;

    /**
     * 审批时间
     */
    @Excel(name = "审批时间")
    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date approveTime;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @ApiModelProperty("创建人")
    private Long createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    @ApiModelProperty("修改人")
    private Long updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

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

    /**
     * 项目封面图
     */
    @TableField(exist = false)
    private String cover;

    /**
     * 计量单位(0:分钟 1:小时 2:次）
     */
    @TableField(exist = false)
    private Integer unitType;

    /**
     * 项目亮点
     */
    @TableField(exist = false)
    private String highlight;

    /**
     * 适用人群
     */
    @TableField(exist = false)
    @ApiModelProperty("适用人群")
    private String targetAudience;
}
