package cn.iocoder.hake.module.op.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 商户列表
 * </p>
 *
 * @author chenjr
 * @since 2025-07-31
 */
@Data
@Accessors(chain = true)
public class OpMerchantListVo implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 商户编号
     */
    private String merchantNumber;

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

    /**
     * 登录名
     */
    private String loginName;

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

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

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

    /**
     * 联系人手机号
     */
    private Byte contactPhone;

    /**
     * 商户级别(0:简单模式|M0-页面简洁，仅基础收款功能, 1:高级模式|M1-支持api调用， 支持配置应用及分账、转账功能)
     */
    private Boolean merchantLevel;

    /**
     * 退款方式(0:平台退款, 1:接口退款)
     */
    private Boolean refundMethod;

    /**
     * 商户类型(0:特约商户, 1:普通商户)
     */
    private Boolean merchantType;

    /**
     * 代理商ID
     */
    private String agentId;

    /**
     * 服务商ID
     */
    private String serviceId;

    /**
     * 备注
     */
    private String notes;

    /**
     * 预留字段1
     */
    private String reservedField1;

    /**
     * 预留字段2
     */
    private String reservedField2;

    /**
     * 预留字段3
     */
    private String reservedField3;

    /**
     * 创建人
     */
    private String createdUser;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新人
     */
    private String updatedUser;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;

    /**
     * 逻辑删除标识 (0:未删除, 1:已删除)
     */
    private Boolean isDeleted;
}
