package com.changhong.epc.rely.api.epc.tenant; import com.alibaba.fastjson.TypeReference; import com.changhong.epc.bean.tenant.system.SystemConfig; import com.changhong.epc.constter.system.SystemClients; import com.changhong.epc.constter.system.run.EpcRestInterface; import com.changhong.epc.constter.tenant.TenantUrlConst; import com.iemsoft.framework.cloud.core.base.ResMsg; import com.iemsoft.framework.cloud.core.tools.JSONTool; import com.iemsoft.framework.cloud.core.tools.ObjectUtil; import com.iemsoft.framework.cloud.core.tools.SpringUtil; import com.iemsoft.framework.cloud.ribbon.RestInterface; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; import java.util.function.Function; @Service public class SystemConfigApi implements SystemClients{ /** * 获得配置信息 * @param param * @return */ public SystemConfig getSystemConfig(SystemConfig param){ List configList = getSystemConfigs(param); return ObjectUtil.empty(configList) ? new SystemConfig() : configList.get(0); } /** * 获得配置信息集 * @param param * @return */ public List getSystemConfigs(SystemConfig param){ ResMsg> resMsg = (ResMsg>) SpringUtil.getBean(SERVER_TENANT.getBeanName(), RestInterface.class).post( TenantUrlConst.REST_TENANT_SYSTEMCONFIG_BYGROUPKEY , param , new TypeReference>>(){}.getType() , EpcRestInterface.getEpcHeads()); List configList = JSONTool.toList(JSONTool.toJson(resMsg.getData()), SystemConfig.class); return configList == null ? Collections.emptyList() : configList; } public String getVal(SystemConfig systemConfig, Function mapper){ SystemConfig result = getSystemConfig(systemConfig); if(ObjectUtil.notEmpty(result)){ return mapper.apply(result); } return ""; } }