package com.czg.order.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;

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

import java.io.Serial;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 商户进件 实体类。
 *
 * @author ww
 * @since 2026-01-07
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_direct_merchant")
public class ShopDirectMerchant implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 店铺id
     */
    @Id
    private Long shopId;
    /**
     * 店铺名称
     */
    @Column(ignore = true)
    private String shopName;

    /**
     * 营业执照编号
     */
    private String licenceNo;
    /**
     * 支付宝账号
     */
    private String alipayAccount;
    /**
     * 商户编号（在当前系统唯一）
     */
    private String merchantCode;
    /**
     * 【必填】
     * 商户类型
     * 0: 个体商户;
     * 1: 企业商户;
     * 3: 小微商户 暂不支持
     */
    private String userType;

    /**
     * 【必填】
     * 商户简称--企业、个体必填
     */
    private String shortName;
    /**
     * 商户基础信息
     */
    private String merchantBaseInfo;

    /**
     * 法人信息
     */
    private String legalPersonInfo;

    /**
     * 营业执照信息
     */
    private String businessLicenceInfo;

    /**
     * 门店信息
     */
    private String storeInfo;

    /**
     * 结算信息
     */
    private String settlementInfo;

    @Column(onInsertValue = "now()")
    private LocalDateTime createTime;

    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    private LocalDateTime updateTime;


    private String errorMsg;

    private String wechatApplyId;
    /**
     * 微信状态
     */
    private String wechatStatus;

    /**
     * 微信进件错误信息
     */
    private String wechatErrorMsg;
    /**
     * 微信进件签名地址
     */
    private String wechatSignUrl;

    private String alipayOrderId;

    /**
     * 支付宝状态
     */
    private String alipayStatus;

    /**
     * 支付宝进件错误信息
     */
    private String alipayErrorMsg;
    /**
     * 支付宝进件签名地址
     */
    private String alipaySignUrl;

    /**
     * 支付宝授信息
     */
    private String alipayAuthInfo;
    /**
     * 微信商户id
     */
    private String wechatMerchantId;
    /**
     * 支付宝商户id
     */
    private String alipayMerchantId;


}
