package cn.ysk.cashier.system.service;


import cn.ysk.cashier.system.domain.Params;
import cn.ysk.cashier.system.service.dto.ParamsDTO;
import com.baomidou.mybatisplus.extension.service.IService;

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

/**
 * 参数管理
 *
 * @author tankaikai
 * @since 2024-09-27 11:34
 */
public interface ParamsService extends IService<Params> {

    Map<String,Object> page(Map<String, Object> params);

    List<ParamsDTO> list(Map<String, Object> params);

    /**
     * 根据参数编码，获取参数的value值
     *
     * @param paramCode  参数编码
     */
    String getValue(String paramCode);

    /**
     * 根据参数编码，获取value的Object对象
     * @param paramCode  参数编码
     * @param clazz  Object对象
     */
    <T> T getValueObject(String paramCode, Class<T> clazz);

    /**
     * 根据参数编码，更新value
     * @param paramCode  参数编码
     * @param paramValue  参数值
     */
    int updateValueByCode(String paramCode, String paramValue);
}
