package com.xunhong.erp.turbo.api.infra.dto.common;

import com.alibaba.cola.dto.DTO;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.xunhong.erp.turbo.api.infra.dto.enums.SettingKeyEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@JsonTypeName("ALI_PAY_CONFIG")
@Schema(title = "支付宝配置")
@EqualsAndHashCode(callSuper = true)
public class AliPayConfigValue extends DTO implements SettingValue {

	/**
	 * 支付宝appid
	 */
	@Schema(title = "支付宝appid", requiredMode = Schema.RequiredMode.REQUIRED)
	private String appId;

	/**
	 * 支付宝私钥
	 */
	@Schema(title = "支付宝私钥", requiredMode = Schema.RequiredMode.REQUIRED)
	private String privateKey;

	/**
	 * 支付宝公钥
	 */
	@Schema(title = "支付宝公钥", requiredMode = Schema.RequiredMode.REQUIRED)
	private String publicKey;

	/**
	 * 支付宝网关地址
	 */
	@Schema(title = "支付宝网关地址", requiredMode = Schema.RequiredMode.REQUIRED)
	private String gatewayUrl;

	/**
	 * 支付宝回调地址
	 */
	@Schema(title = "支付宝回调地址", requiredMode = Schema.RequiredMode.REQUIRED)
	private String notifyUrl;

	@Override
	public SettingKeyEnum getSettingKey() {
		return SettingKeyEnum.ALI_PAY_CONFIG;
	}
}
