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;

/**
 * 门店蓝新金流支付凭证 pos_store_newebpay
 *
 * <p>与 pos_store 1:1，记录该门店的蓝新申请状态、启用开关、凭证、启用的支付方式。
 * 复用 009 pos_store_ezpay 的状态机模式（0未申请/1申请中/2已开通）。
 * 门店无此行即视为「未申请」。
 *
 * @author ruoyi
 * @date 2026-06-22
 */
@Data
@TableName(value = "pos_store_newebpay")
public class PosStoreNewebpay {

    private static final long serialVersionUID = 1L;

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

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

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

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

    /** 蓝新商店代号 MerchantID */
    private String merchantId;

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

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

    /** 启用的支付方式，逗号分隔：CREDIT,LINEPAY,APPLEPAY */
    private String enabledPayments;

    /** 提交申请时间（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;
}
