using Model; using Model.Dto.System; using SqlSugar; using System.Collections.Generic; using System.Threading.Tasks; namespace Service.Interface { /// /// 系统参数配置 服务接口 /// 管理侧:CRUD(按 Group 分组、关键字检索);业务侧:按 Key 单/批量取值(带缓存) /// 内置参数(IsSystem=1)禁止删除,仅允许修改 Value /// public interface ISystemParamService { // ==================== 管理侧 ==================== /// 分页查询(关键字匹配 ParamKey/ParamName;可选 Group 过滤) Task>> GetListPagedAsync(int pageIndex, int pageSize, RefAsync total, string? keyword = null, string? group = null); /// 参数详情 Task> GetByIdAsync(long id); /// 新增参数(校验 ParamKey 唯一) Task> AddAsync(SystemParamDto dto); /// 修改参数(内置参数仅允许改 Value/Remark;非内置可改全字段;Key 变更时同步失效缓存) Task> UpdateAsync(SystemParamDto dto); /// 删除参数(内置参数禁止删除) Task DeleteAsync(long id); /// 清空参数值缓存(运维用) Task ReloadCacheAsync(); // ==================== 业务侧(无权限,供其它模块调用) ==================== /// 按 Key 取单个值(带缓存;不存在返回空字符串) Task> GetValueAsync(string key); /// 按 Key 列表批量取值(带缓存) Task>> GetValuesAsync(string[] keys); } }