package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
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 lombok.Data;

import java.util.Date;

/**
 * 门店 ezPay 发票开通配置 pos_store_ezpay
 *
 * <p>与 pos_store 1:1，记录该门店的 ezPay 申请状态、启用开关、凭证、统编等。
 * 门店无此行即视为「未申请」（status=0）。
 *
 * @author ruoyi
 * @date 2026-06-15
 */
@Data
@TableName(value = "pos_store_ezpay")
public class PosStoreEzpay {

    private static final long serialVersionUID = 1L;

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

    /** 关联 pos_store.id（门店） */
    private Long storeId;

    /** 申请状态:0未申请/1申请中/2已开通 */
    private Integer ezpayStatus;

    /** 启用开关:0停用/1启用(仅 status=2 有意义) */
    private Integer isEnabled;

    /** ezPay 商店代号 MerchantID_（开票/查询接口用） */
    private String merchantId;

    /** ezPay HashKey（固定 32 字节） */
    private String hashKey;

    /** ezPay HashIV（固定 16 字节） */
    private String hashIv;

    /** ezPay 会员编号 CompanyID_（字轨接口用，可空） */
    private String companyId;

    /** 统一编号（统编，商家上传） */
    private String ubn;

    /** 提交申请时间（0→1） */
    private Date applyTime;

    /** 开通时间（→2） */
    private Date approvedTime;

    /** 最近一次凭证验证结果 */
    private String lastVerifyResult;

    /** 备注 */
    private String remark;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /** 更新人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;
}
