package com.CUST.brain.service;

import com.CUST.brain.dao.domain.system.SysParam;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

public interface SysParamService extends IService<SysParam> {
    
    /**
     * 根据参数类型获取参数列表
     *
     * @param typeId 参数类型ID
     * @return 参数Map，key为参数名，value为参数值
     */
    Map<String, String> getParamsByType(String typeId);

    /**
     * 获取参数值
     *
     * @param typeId 参数类型ID
     * @param paramName 参数名
     * @return 参数值
     */
    String getParamValue(String typeId, String paramName);

    /**
     * 更新参数
     *
     * @param param 参数对象
     * @return 是否成功
     */
    boolean updateParam(SysParam param);

    /**
     * 根据参数类型获取参数列表
     *
     * @param typeCode 参数类型编码
     * @return 参数列表
     */
    List<SysParam> listByType(String typeCode);

    /**
     * 批量获取多个参数类型的参数列表
     *
     * @param typeCodes 参数类型编码列表
     * @return Map<String, List<SysParam>> key为参数类型编码，value为该类型的参数列表
     */
    Map<String, List<SysParam>> getParamsByTypes(List<String> typeCodes);
} 