package com.mortals.xhx.base.system.param.service;


import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.IParamService;
import com.mortals.xhx.base.system.param.model.ParamEntity;

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

/**
 * <p>Title: 参数信息</p>
 * <p>Description: ParamService service接口 </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 * @author
 * @version 1.0.0
 */

public interface ParamService extends ICRUDCacheService<ParamEntity, Long>, IParamService {
	
	/**
	 * 通过Key获取参数值
	 * @param key
	 * @return
	 */
    String getValueByKey(String key);

	/**
	 * 通过firstOrganize获取配置参数key-value
	 *
	 * @param firstOrganize
	 * @param excludeParamKeys 需要过虑掉的paramKey
	 * @return
	 */
	Map<String, String> getParamByFirstOrganize(String firstOrganize, String... excludeParamKeys);


	/**
	 * 通过firstOrganize获取配置参数key-value
	 *
	 * @param firstOrganize
	 * @param excludeParamKeys 需要过虑掉的paramKey
	 * @return
	 */
	Map<String, String> getParamBySecondOrganize(String firstOrganize,String secondOrganize, String... excludeParamKeys);

	/**
	 * 获取所有字典原始
	 * @param context
	 * @return
	 */
	Map<String,Map<String, String>> getAllDict(Context context);


}