package com.fs.qw.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fs.common.annotation.Excel;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

/**
 * 签到红包领取记录对象 sign_red_packet_record
 *
 * @author fs
 * @date 2026-04-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SignRedPacketRecord extends BaseEntity{

    /** $column.columnComment */
    private Long id;

    /** 签到图片地址 */
    @Excel(name = "签到地址")
    private String signUrl;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 批次单号 */
    @Excel(name = "批次单号")
    private String outBatchNo;

    /** $column.columnComment */
    @Excel(name = "红包发送结果")
    private String result;

    /** 微信批次ID */
    @Excel(name = "微信批次ID")
    private String batchId;

    /** 点击红包领取按钮标识 0-未生成 1-生成 */
    @Excel(name = "点击红包领取按钮标识 0-未生成 1-生成")
    private Integer collectTag;

    /** 红包金额 */
    @Excel(name = "红包金额")
    private BigDecimal amount;

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

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

    /** 领取状态(0-已发放 1-已领取 2-已失效) */
    @Excel(name = "领取状态(0-已发放 1-已领取 2-已失效)")
    private Integer collectType;

    /** 领取用户名称 */
    @Excel(name = "领取用户名称")
    private String userName;

    /** 销售ID */
    @Excel(name = "销售ID")
    private Long companyUserId;

    /** 公司ID */
    @Excel(name = "公司ID")
    private Long companyId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 销售企微用户id */
    @Excel(name = "销售企微用户id")
    private String qwUserId;

    /** 销售企微用户名 */
    @Excel(name = "销售企微用户名")
    private String qwUserName;

    /** 文章id */
    @Excel(name = "文章id")
    private Long articleId;


    /** 打卡类型 打卡类型：1-直接打卡 2-上传图片 3-上传视频 */
    private Integer signType;

}
