package com.jeequan.jeepay.core.entity;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.jeequan.jeepay.core.model.BaseModel;
import lombok.Data;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 商户信息表
 * </p>
 *
 * @author [mybatis plus generator]
 * @since 2021-04-27
 */
@Data
@Accessors(chain = true)
public class MchInfo extends BaseModel implements Serializable {


    private static final long serialVersionUID=1L;

    public static final byte TYPE_NORMAL = 1; //商户类型： 1-普通商户
    public static final byte TYPE_ISVSUB = 2; //商户类型： 2-特约商户

    public static final String REFUND_MODEL_PLAT = "plat"; // 支持的退款方式 平台
    public static final String REFUND_MODEL_API = "api"; // 支持的退款方式 接口

    public static final String MCH_LEVEL_M0 = "M0"; // 商户级别：简单
    public static final String MCH_LEVEL_M1 = "M1"; // 商户级别：高级

    public static final byte STATE_YES = 0; // 商户状态: 0-停用
    public static final byte STATE_NO = 1; // 商户状态: 1-正常
    public static final byte STATE_NO_MGR = 2; // 商户状态: 2-由运营平台停用

    /**
     * 商户号
     */
    private String mchNo;

    /**
     * 商户名称
     */
    private String mchName;

    /**
     * 商户简称
     */
    private String mchShortName;

    /**
     * 类型: 1-普通商户, 2-特约商户(服务商模式)
     */
    private Byte type;

    /**
     * 支持的退款方式 ["plat", "api"]
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private JSONArray refundMode;

    /**
     * 商户级别： M0(页面简洁，仅基础收款功能), M1(支持api调用， 支持配置应用及分账、转账功能)
     */
    private String mchLevel;

    /**
     * 服务商号
     * @Deprecated 用户信息不再关联唯一渠道号
     */
    private String isvNo;

    /**
     * 服务商号
     */
    private String agentNo;

    private String agentNoArr;

    /**
     * 顶级服务商号
     */
    private String topAgentNo;

    /**
     * 联系人姓名
     */
    private String contactName;

    /**
     * 联系人手机号
     */
    private String contactTel;

    /**
     * 联系人邮箱
     */
    private String contactEmail;

    /**
     * 商户状态: 0-停用, 1-正常，2-由运营平台停用
     */
    private Byte state;

    /**
     * 商户备注
     */
    private String remark;

    /**
     * 初始用户ID（创建商户时，允许商户登录的用户）
     */
    private Long initUserId;

    /**
     * 登录用户名
     */
    private String loginUsername;

    /**
     * 支付密码(敏感信息密码Sensitive information password)
     */
    private String sipw;

    /**
     * 广告开关 0-关闭 1-开启
     */
    private Byte advertFlag;

    /**
     * 创建者用户ID
     */
    private Long createdUid;

    /**
     * 创建者姓名
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 更新时间
     */
    private Date updatedAt;


}
