package com.jeesharp.business.modules.pay.payalipayconfig.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.jeesharp.framework.mybatis.core.dataobject.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 支付宝渠道配置实体，映射表 {@code pay_alipay_config}。
 *
 * @author jeesharp
 * @since 2026-05-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pay_alipay_config")
@Schema(description = "支付宝渠道配置")
public class PayAlipayConfig extends BaseEntity<PayAlipayConfig> {

    @Schema(description = "关联 pay_channel_config.id")
    private String channelConfigId;

    @Schema(description = "配置编码")
    private String configCode;
    @Schema(description = "配置名称")
    private String configName;

    @Schema(description = "记录状态：0-禁用 1-启用")
    private Integer status;
    @Schema(description = "是否调用真实支付宝：0-否 1-是")
    private Integer aliEnabled;

    @Schema(description = "AppId")
    private String appId;
    @Schema(description = "应用私钥")
    private String privateKey;
    @Schema(description = "支付宝公钥")
    private String aliPayPublicKey;
    @Schema(description = "网关地址")
    private String serviceUrl;
    @Schema(description = "字符集")
    private String charset;
    @Schema(description = "签名类型")
    private String signType;
    @Schema(description = "是否证书模式：0-否 1-是")
    private Integer certModel;
    @Schema(description = "应用公钥证书路径")
    private String appCertPath;
    @Schema(description = "支付宝公钥证书路径")
    private String aliPayCertPath;
    @Schema(description = "支付宝根证书路径")
    private String aliPayRootCertPath;

    @Schema(description = "回调基地址")
    private String notifyBaseUrl;
    @Schema(description = "支付中心回调相对路径")
    private String payCenterNotifyPath;
}
