package com.jeequan.jeepay.member.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 系统Yml配置参数定义Bean
 *
 * @author terrfly
 * @date 2021-04-27 15:50
 */
@Component
@ConfigurationProperties(prefix="isys")
@Data
public class SystemYmlConfig {

	/** 是否允许跨域请求 [生产环境建议关闭， 若api与前端项目没有在同一个域名下时，应开启此配置或在nginx统一配置允许跨域]  **/
	private Boolean allowCors;

	/** 生成jwt的秘钥。 要求每个系统有单独的秘钥管理机制。 **/
	private String jwtSecret;

	/** DB SM4 加解密秘钥 (必须16位) [每个系统配置必须相同，否则加解密不一致导致业务异常！] **/
	private String dbEncryptSecret;

	/** web传输加解密 秘钥 (必须16位) [每个系统配置必须相同，否则加解密不一致导致业务异常！] **/
	private String httpMessageEncryptSecret;

	/** 支付网关的公钥和私钥（系统级别！）， 请妥善保存，用于回调商户的商户侧的验证， 首次设置好之后不可随意变更！ **/
	private String sysRSA2PrivateKey;

	/**支付网关的公钥和私钥（系统级别！）， 请妥善保存，用于回调商户的商户侧的验证， 首次设置好之后不可随意变更！ **/
	private String sysRSA2PublicKey;

	/** 是否内存缓存配置信息: true表示开启如支付网关地址/商户应用配置/服务商配置等， 开启后需检查MQ的广播模式是否正常； false表示直接查询DB.  **/
	private Boolean cacheConfig;

}
