package cn.axzo.msg.center.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 渠道模板变量序列表
 * </p>
 *
 * @author szg
 * @since 2021-08-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("mns_batch_message")
public class MNSBatchMessage extends Model<MNSBatchMessage> {

    private static final long serialVersionUID=1L;

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

    /**
     * APP请求号
     */
    @TableField("request_no")
    private String requestNo;

    /**
     * 批次号
     */
    @TableField("batch_no")
    private String batchNo;

    /**
     * 应用no
     */
    @TableField("app_no")
    private String appNo;

    /**
     * 内部模板号
     */
    @TableField("template_no")
    private String templateNo;

    /**
     * 渠道模板号
     */
    @TableField("channel_template_no")
    private String channelTemplateNo;

    /**
     * 请求渠道号
     */
    @TableField("message_order_no")
    private String messageOrderNo;

    /**
     * 消息内容
     */
    @TableField("sms_content")
    private String smsContent;

    /**
     * 渠道码
     */
    @TableField("channel_code")
    private String channelCode;

    /**
     * 批次数量
     */
    @TableField("batch_size")
    private Integer batchSize;

    /**
     * 成功数
     */
    @TableField("success_count")
    private Integer successCount;

    /**
     * 失败数
     */
    @TableField("fail_count")
    private Integer failCount;

    /**
     * 发送类型(1:实时;2:非实时)
     */
    @TableField("send_type")
    private Integer sendType;

    /**
     * 状态(0:初始化;1:已拆分完成;2:处理中;3:发送成功;4:部分成功;5:全部失败)
     */
    @TableField("status")
    private Integer status;

    /**
     * 提交渠道成功数
     */
    @TableField("submit_success_num")
    private Integer submitSuccessNum;

    /**
     * 提交渠道失败数
     */
    @TableField("submit_fail_num")
    private Integer submitFailNum;

    /**
     * 消息ID
     */
    @TableField("channel_msg_id")
    private String channelMsgId;

    @TableField("channel_return_code")
    private String channelReturnCode;

    /**
     * 渠道响应信息
     */
    @TableField("channel_error_msg")
    private String channelErrorMsg;

    /**
     * 创建时间
     */
    @TableField("create_at")
    private Date createAt;

    /**
     * 修改时间
     */
    @TableField("update_at")
    private Date updateAt;

    /**
     * 是否删除(0:未删除;1:已删除)
     */
    @TableField("is_delete")
    private Integer isDelete;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
