package com.yuchen.saas.payment.api.entity.setting;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 平台商户号设置
 * </p>
 *
 * @author miaoqs
 * @since 2023-11-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("pmg_merchant_no")
@ApiModel(value="PmgMerchantNo对象", description="平台商户号设置")
public class PmgMerchantNo extends TenantEntity {

    /**
     * 渠道类型 1:银行;2:第三方;
     */
    @NotNull
    @ApiModelProperty(name = "channelType", value = "渠道类型 1:银行;2:第三方;")
    private String channelType;
    /**
     * 第三方id(渠道id)
     */
    @NotNull
    @ApiModelProperty(name = "payeeChannelId", value = "第三方id(渠道id)")
    private Long payeeChannelId;
    /**
     * 客户名称(客户id)
     */
    @ApiModelProperty(name = "customerId", value = "客户名称(客户id)")
    private Long customerId;
    /**
     * 开户主体(组织id)
     */
    @ApiModelProperty(name = "deptId", value = "开户主体(组织id)")
    private Long deptId;
    /**
     * 开户主体名称
     */
    @NotNull
    @ApiModelProperty(name = "openAccountName", value = "开户主体名称")
    private String openAccountName;
    /**
     * 使用类型1:平台多客户商户;2:平台单客户商户;3:客户自定义商户
     */
    @NotNull
    @ApiModelProperty(name = "useType", value = "使用类型1:平台多客户商户;2:平台单客户商户;3:客户自定义商户")
    private Integer useType;
    /**
     * 收款范围1:平台多服务收款;2:仅业务消费收款;3:仅钱包充值收款;
     */
    @NotNull
    @ApiModelProperty(name = "payeeScope", value = "收款范围1:平台多服务收款;2:仅业务消费收款;3:仅钱包充值收款;")
    private Integer payeeScope;
    /**
     * 商户号
     */
    @NotNull
    @ApiModelProperty(name = "merchantNumber", value = "商户号")
    private String merchantNumber;
    /**
     * 私钥路径
     */
    @NotNull
    @ApiModelProperty(name = "privateKeyUrl", value = "私钥路径")
    private String privateKeyUrl;
    /**
     * 公钥路径
     */
    @NotNull
    @ApiModelProperty(name = "publicKeyUrl", value = "公钥路径")
    private String publicKeyUrl;
    /**
     * 请求地址
     */
    @NotNull
    @ApiModelProperty(name = "requestPath", value = "请求地址")
    private String requestPath;
    /**
     * 异步通知地址
     */
    @NotNull
    @ApiModelProperty(name = "asynNotifyUrl", value = "异步通知地址")
    private String asynNotifyUrl;
    /**
     * 开关(0:关;1:开)
     */
    @ApiModelProperty(name = "openState", value = "开关(0:关;1:开)")
    private String openState;
    /**
     * AppID
     */
    @ApiModelProperty(name = "appId", value = "appId")
    private String appId;
    /**
     * 备注信息
     */
    @ApiModelProperty(name = "remark", value = "备注信息")
    private String remark;
    /**
     * 渠道编码
     */
    @ApiModelProperty(name = "channelCode", value = "渠道编码")
    private String channelCode;
    /**
     * 通联支付应用ID
     */
    @ApiModelProperty(name = "applyAppId", value = "通联支付应用ID")
    private String applyAppId;

}
