package com.yuchen.saas.payment.api.dto.setting.req;

import com.thinkunion.park.service.common.constant.GroupAction;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * @author zhouhanwei
 * @create 2024/7/15 14:29
 */
@Data
public class PaymentPlatformWalletConfigSubmitReqDTO {

    @NotNull(groups = GroupAction.UpdateAction.class, message = "id不能为空")
    @Null(groups = GroupAction.InsertAction.class, message = "id必须为空")
    private Long id;

    /**
     * 支付方式
     */
    @ApiModelProperty(name = "payWayId", value = "支付方式")
    @NotNull(message = "请选择支付方式")
    private Long payWayId;
    /**
     * 支付渠道
     */
    @ApiModelProperty(name = "payChannelCode", value = "支付渠道")
    @NotBlank(message = "请选择支付通道")
    private String payChannelCode;
    /**
     * 是否默认配置（1：是，0: 否）
     */
    @ApiModelProperty(name = "defaultConfig", value = "是否默认配置（1：是，0: 否）")
    private String defaultConfig;
    /**
     * 商户号
     */
    @ApiModelProperty(name = "merchantNumber", value = "商户号")
    @NotBlank(message = "商户号不能为空")
    private String merchantNumber;
    /**
     * 通联支付应用ID
     */
    @ApiModelProperty(name = "applyAppId", value = "通联支付应用ID")
    private String applyAppId;
    /**
     * 商户主体
     */
    @ApiModelProperty(name = "merchantSubject", value = "商户主体")
    @NotBlank(message = "商户主体不能为空")
    private String merchantSubject;
    /**
     * 私钥路径
     */
    @ApiModelProperty(name = "privateKeyUrl", value = "私钥路径")
    private String privateKeyUrl;
    /**
     * 公钥路径
     */
    @ApiModelProperty(name = "publicKeyUrl", value = "公钥路径")
    private String publicKeyUrl;
    /**
     * 请求地址
     */
    @ApiModelProperty(name = "requestPath", value = "请求地址")
    private String requestPath;
    /**
     * 异步通知地址
     */
    @ApiModelProperty(name = "asyncNotifyUrl", value = "异步通知地址")
    private String asyncNotifyUrl;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
}
