package com.hzs.common.domain.third.sms;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 短信发送记录
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("T_SMS_RECORD_SEQ")
@TableName("T_SMS_RECORD")
public class TSmsRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 短信模板主键
     */
    @TableField("PK_SMS_TEMPLATE")
    private Integer pkSmsTemplate;

    /**
     * 发送会员ID
     */
    @TableField("PK_MEMBER")
    private Long pkMember;

    /**
     * 手机号
     */
    @Excel(name = "手机号码", sort = 1)
    @TableField("PHONE")
    private String phone;

    /**
     * 发送内容
     */
    @Excel(name = "短信内容", sort = 4)
    @TableField("CONTENT")
    private String content;

    /**
     * 发送范围（1=指定会员，2=订单短信，3=指定手机号）
     */
    @TableField("SEND_SCOPE")
    private Integer sendScope;

    /**
     * 发送方式（1=立即发送，2=定时发送）
     */
    @TableField("SEND_TYPE")
    private Integer sendType;

    /**
     * 发送状态（0=未发送，1=已发送）
     */
    @TableField("SEND_STATUS")
    private Integer sendStatus;

    /**
     * 发送结果（0=未发送，1=成功，2=失败）
     */
    @TableField("SEND_RESULT")
    private Integer sendResult;

    /**
     * 发送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发送时间", sort = 7, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("SEND_TIME")
    private Date sendTime;

}
