package com.ruoyi.task.api.spi; /** * 参数配置读取能力 —— ruoyi-task 的对外 SPI,由 smartor 侧实现。 * *
* SysConfig sysConfig = new SysConfig();
* sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
* if (!Objects.isNull(sysConfig)) { String smsContemt = sysConfig.getConfigValue(); ... }
*
* {@code sys_config} 属系统域。ruoyi-task 自己的模块开关读参数走
* {@code ruoyi-common} 的 {@code IConfigService};但这里原本走的是
* {@code SysConfigMapper#checkConfigKeyUnique}(返回整行),
* 且只用到 {@code configValue} 一个字段,故收成一个只返回值的端口。
*
* * ⚠️ 与 {@link #findConfigValueByKey} 不是同一个东西,不要合并: * 前者走的是 {@code SysConfigMapper#checkConfigKeyUnique}(按 key 查整行), * 本方法走的是 {@code ISysConfigService#selectConfigByKey}(带缓存、且支持 orgid 维度)。 * 两者 SQL 不同,合并会改变取值来源 —— 故并列保留、各自对应原调用。 * * @param configKey 参数键名 * @return 参数值;不存在返回 {@code StringUtils.EMPTY}(与原实现一致,不是 null) */ String selectConfigValue(String configKey); /** * 按参数键名 + 机构 id 取参数值(原 {@code ISysConfigService#selectConfigByKey(String, String)})。 *
* ⚠️ 该 2 参重载只在 ruoyi-system 的 {@code ISysConfigService} 上, * 不在 ruoyi-common 的 {@code IConfigService} 上 —— 这也是为什么不能简单地把 * 调用方字段类型换成 {@code IConfigService} 来省掉依赖。 * * @param configKey 参数键名 * @param orgid 机构 id * @return 参数值;不存在返回空串 */ String selectConfigValue(String configKey, String orgid); }