package com.czlis.common.utils; import cn.hutool.json.JSONUtil; import com.czlis.common.constant.CacheConstants; import com.czlis.common.core.domain.entity.lis.ComOpt; import com.czlis.common.core.redis.RedisCache; import com.czlis.common.utils.spring.SpringUtils; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; public class ComOptionUtils { /** * 设置参数缓存 * 缓存格式:com_opt:HISOPT:SP_INTER com_opt:yq:xxdh * @param yq 仪器 * @param xxdh 项目代码 * @param comOpt 参数数据 */ public static void setOptCache(String yq,String xxdh, ComOpt comOpt) { //先清除该key的所有缓存,然后再重新设置该key的缓存 String key = yq+":"+xxdh; SpringUtils.getBean(RedisCache.class).deleteObject(key); SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), comOpt); } /** * 清空参数缓存 */ public static void clearOptCache() { Collection keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.COM_OPT_KEY + "*"); SpringUtils.getBean(RedisCache.class).deleteObject(keys); } public static void clearOptCache(String yq,String xxdh) { Collection keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.COM_OPT_KEY + yq+":"+xxdh); SpringUtils.getBean(RedisCache.class).deleteObject(keys); } /** * 获取参数缓存 * 根据现在的参数,获取到的数据应该只有一条 * @param yq 仪器 * @param xxdh 项目代码 * @return ComOpt 参数数据 */ public static ComOpt getOptCache(String yq,String xxdh) { String key = yq+":"+xxdh; Object cacheObject = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); if (StringUtils.isNotNull(cacheObject)) { return (ComOpt) cacheObject; } return null; } /** * 设置cache key * * @param configKey 参数键 * @return 缓存键key */ public static String getCacheKey(String configKey) { return CacheConstants.COM_OPT_KEY + configKey; } /** * 设置参数值域 * @param dddwList * @param inputList * @return */ public static String setValueRange(List dddwList,List inputList){ Map map = new HashMap(); map.put("dddwList",dddwList); map.put("inputList",inputList); return JSONUtil.toJsonStr(map); } }