diff --git a/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java b/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java index 050ca4024e407d80662422b8457e7d5dc38874dc..f606913b9d3eda2fb2259289eb28e45959dd1773 100644 --- a/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java +++ b/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/ParamService.java @@ -1,12 +1,10 @@ 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; /** @@ -46,12 +44,4 @@ public interface ParamService extends ICRUDCacheService<ParamEntity, Long>, IPar */ Map<String, String> getParamBySecondOrganize(String firstOrganize,String secondOrganize, String... excludeParamKeys); - /** - * 鑾峰彇鎵€鏈夊瓧鍏稿師濮� - * @param context - * @return - */ - Map<String,Map<String, String>> getAllDict(Context context); - - } \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java index ed994b35c8aa86f0526a4df35894f34d3f74dbdb..ce963f0e63d0ba7d8f1434e230b7d5a9d32a9d14 100644 --- a/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java +++ b/base-manager/src/main/java/com/mortals/xhx/base/system/param/service/impl/ParamServiceImpl.java @@ -1,18 +1,13 @@ package com.mortals.xhx.base.system.param.service.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.mortals.framework.common.code.YesNo; import com.mortals.framework.exception.AppException; -import com.mortals.framework.model.Context; import com.mortals.framework.service.IParam; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; +import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.StringUtils; import com.mortals.xhx.base.system.param.dao.ParamDao; import com.mortals.xhx.base.system.param.model.ParamEntity; -import com.mortals.xhx.base.system.param.model.ParamQuery; import com.mortals.xhx.base.system.param.service.ParamService; - import org.springframework.stereotype.Service; import java.util.Arrays; @@ -32,75 +27,43 @@ import java.util.stream.Collectors; @Service("paramService") public class ParamServiceImpl extends AbstractCRUDCacheServiceImpl<ParamDao, ParamEntity, Long> implements ParamService { - - @Override - protected String getExtKey(ParamEntity data) { - return data.getParamKey(); - } - @Override protected String getCacheName() { return "ParamEntity.paramKey"; } - @Override - public void putCache(String key, ParamEntity data) { - cacheService.set(data.getParamKey(), data.getParamValue()); - } - - @Override - public void removeCache(String key) { - } - - @Override - public int remove(Long[] ids, Context context) throws AppException { - // 鍏堝垹缂撳瓨 - for (Long id : ids) { - ParamEntity paramEntity = get(id, null); - cacheService.del(paramEntity.getParamKey()); - } - removeBefore(ids, context); - int iRet = dao.delete(ids); - removeAfter(ids, context, iRet); - return iRet; - } - @Override public String getValueByKey(String key) { - return cacheService.get(key); + List<ParamEntity> list = this.getCacheList(); + Map<String, String> keyValueMap = list.parallelStream().collect(Collectors.toMap(x -> x.getParamKey(), y -> y.getParamValue(), (o, n) -> n)); + return keyValueMap.getOrDefault(key, ""); } @Override public Map<String, String> getParamByFirstOrganize(String firstOrganize, String... excludeParamKeys) { - ParamQuery query = new ParamQuery(); - query.setFirstOrganize(firstOrganize); - List<ParamEntity> list = this.getDao().getList(query); - return list.stream().filter(s -> !Arrays.asList(excludeParamKeys).contains(s.getParamKey())) - .collect(Collectors.toMap(ParamEntity::getParamKey, ParamEntity::getParamValue)); + List<ParamEntity> list = this.getCacheList(); + return list.stream() + .filter(f -> firstOrganize.equals(f.getFirstOrganize())) + .filter(s -> + !Arrays.asList(excludeParamKeys).contains(s.getParamKey()) + ).collect(Collectors.toMap(ParamEntity::getParamKey, ParamEntity::getParamValue, (o, n) -> n)); } public Map<String, String> getParamBySecondOrganize(String firstOrganize, String secondOrganize, String... excludeParamKeys) { - ParamQuery query = new ParamQuery(); - query.setFirstOrganize(firstOrganize); - query.setSecondOrganize(secondOrganize); - List<ParamEntity> list = this.getDao().getList(query); - return list.stream().filter(s ->!Arrays.asList(excludeParamKeys).contains(s.getParamKey())) - .collect(Collectors.toMap(ParamEntity::getParamKey, ParamEntity::getParamValue)); - } - - @Override - public Map<String,Map<String, String>> getAllDict(Context context) { - - Map<String, Map<String, String>> collect = this.find(new ParamQuery()).stream().filter(f -> f.getFirstOrganize() != null).collect(Collectors.groupingBy(item -> item.getRemark(), Collectors.toMap(x -> x.getParamKey(), y -> y.getParamValue(), (o, n) -> n))); - - return collect; + List<ParamEntity> list = this.getCacheList(); + return list.stream() + .filter(f -> firstOrganize.equals(f.getFirstOrganize())) + .filter(f -> secondOrganize.equals(f.getSecondOrganize())) + .filter(s -> + !Arrays.asList(excludeParamKeys).contains(s.getParamKey()) + ).collect(Collectors.toMap(ParamEntity::getParamKey, ParamEntity::getParamValue, (o, n) -> n)); } @Override public boolean needRefresh() { - //鍏变韩缂撳瓨锛屼笉闇€瑕佸疄鏃跺埛鏂� - if (super.cacheService.isShareCache()){ + if (super.cacheService.isShareCache()) { + //鍏变韩缂撳瓨濡俽edis锛屼笉闇€瑕佸疄鏃跺埛鏂� return false; } IParam param = this.findByKey(IParam.KEY_PARAM_REFRESH_COUNT); @@ -128,183 +91,91 @@ public class ParamServiceImpl extends AbstractCRUDCacheServiceImpl<ParamDao, Par @Override public IParam findByKey(String key) throws AppException { - ParamQuery params = new ParamQuery(); - params.setValidStatus(YesNo.YES.getValue()); - params.setParamKey(key); - List<ParamEntity> list = super.find(params, null); - if (list != null && !list.isEmpty()) { - return list.get(0); - } - return null; + return this.getCacheList().stream().filter(f -> key.equals(f.getParamKey())).findFirst().orElseGet(() -> null); } @Override public List<? extends IParam> findAll() throws AppException { - ParamQuery params = new ParamQuery(); - params.setValidStatus(YesNo.YES.getValue()); - return super.find(params, null); + return this.getCacheList(); } @Override public boolean containsParamKey(String key) { - return cacheService.hget(getCacheName(), key) != null; + List<ParamEntity> list = this.getCacheList(); + Map<String, String> keyValueMap = list.parallelStream().collect(Collectors.toMap(x -> x.getParamKey(), y -> y.getParamValue(), (o, n) -> n)); + return keyValueMap.containsKey(key); } @Override public IParam getParamByKey(String key) { - return getExtCache(key); + List<ParamEntity> list = this.getCacheList(); + Map<String, IParam> keyValueMap = list.parallelStream().collect(Collectors.toMap(x -> x.getParamKey(), y -> y, (o, n) -> n)); + return keyValueMap.get(key); } @Override public String getParamValue(String key) { - IParam param = wrapParamObject(cacheService.hget(getCacheName(), key)); -// IParam param = getExtCache(key); - if (param != null) { - return StringUtils.trim(param.getParamValue()); - } - return ""; + List<ParamEntity> list = this.getCacheList(); + Map<String, String> keyValueMap = list.parallelStream().collect(Collectors.toMap(x -> x.getParamKey(), y -> y.getParamValue(), (o, n) -> n)); + return keyValueMap.getOrDefault(key, ""); } - private IParam wrapParamObject(String entityString) { - JSONObject jsonObject = JSON.parseObject(entityString); - ParamEntity param = new ParamEntity(); - param.setCreateTime(jsonObject.getDate("createTime")); - param.setCreateUserId(jsonObject.getLong("createUserId")); - param.setDisplayType(jsonObject.getInteger("displayType")); - param.setFirstOrganize(jsonObject.getString("firstOrganize")); - param.setId(jsonObject.getLong("id")); - param.setModStatus(jsonObject.getInteger("modStatus")); - param.setName(jsonObject.getString("name")); - param.setParamKey(jsonObject.getString("paramKey")); - param.setParamValue(jsonObject.getString("paramValue")); - param.setValidStatus(jsonObject.getInteger("validStatus")); - - return param; - } @Override public String getParamValue(String key, String defaultValue) { - if (containsParamKey(key)) { - String value = getParamValue(key); - if (StringUtils.isEmpty(value)) { - return defaultValue; - } - return value; - } else { - log.debug("cannot found key[" + key + "], use default value[" + defaultValue + "]"); + String value = getParamValue(key); + if (StringUtils.isEmpty(value)) { return defaultValue; } + return value; } @Override public int getParamIntValue(String key) { - ParamEntity extCache = getExtCache(key); - IParam param = (IParam) extCache; - try { - if (param == null) { - return 0; - } - String value = param.getParamValue(); - if (StringUtils.isEmpty(value)) { - return 0; - } else { - return Integer.parseInt(value); - } - } catch (Exception e) { - return 0; - } + return DataUtil.converStr2Int(getParamValue(key), 0); } @Override public int getParamIntValue(String key, int defaultValue) { - if (containsParamKey(key)) { - String value = getParamValue(key); - if (StringUtils.isEmpty(value)) { - return defaultValue; - } - try { - return Integer.parseInt(value); - } catch (Exception e) { - log.debug("cannot conver key[" + key + "]'s value[" + value + "] to int, use default value[" + defaultValue + "]"); - return defaultValue; - } - } else { - log.debug("cannot found key[" + key + "], use default value[" + defaultValue + "]"); - return defaultValue; - } + return DataUtil.converStr2Int(getParamValue(key), defaultValue); } @Override public long getParamLongValue(String key) { - IParam param = getExtCache(key); - try { - if (param == null) { - return 0; - } - String value = param.getParamValue(); - if (StringUtils.isEmpty(value)) { - return 0; - } else { - return Long.parseLong(value); - } - } catch (Exception e) { - return 0; - } + return DataUtil.converStr2Long(getParamValue(key), 0L); } @Override public long getParamLongValue(String key, long defaultValue) { - if (containsParamKey(key)) { - String value = getParamValue(key); - if (StringUtils.isEmpty(value)) { - return defaultValue; - } - try { - return Long.parseLong(value); - } catch (Exception e) { - log.debug("cannot conver key[" + key + "]'s value[" + value + "] to long, use default value[" + defaultValue + "]"); - return defaultValue; - } - } else { - log.debug("cannot found key[" + key + "], use default value[" + defaultValue + "]"); - return defaultValue; - } + return DataUtil.converStr2Long(getParamValue(key), defaultValue); } @Override public boolean getParamBooleanValue(String key) { - IParam param = getExtCache(key); + String value = getParamValue(key); + if (StringUtils.isEmpty(value)) { + return false; + } try { - if (param == null) { - return false; - } - String value = param.getParamValue(); - if (StringUtils.isEmpty(value)) { - return false; - } else { - return Boolean.parseBoolean(value); - } + return Boolean.parseBoolean(value); } catch (Exception e) { return false; } + } @Override public boolean getParamBooleanValue(String key, boolean defaultValue) { - if (containsParamKey(key)) { - String value = getParamValue(key); - if (StringUtils.isEmpty(value)) { - return defaultValue; - } - try { - return Boolean.parseBoolean(value); - } catch (Exception e) { - log.debug("cannot conver key[" + key + "]'s value[" + value + "] to boolean, use default value[" + defaultValue + "]"); - return defaultValue; - } - } else { - log.debug("cannot found key[" + key + "], use default value[" + defaultValue + "]"); + String value = getParamValue(key); + if (StringUtils.isEmpty(value)) { return defaultValue; } + try { + return Boolean.parseBoolean(value); + } catch (Exception e) { + log.debug("cannot conver key[" + key + "]'s value[" + value + "] to boolean, use default value[" + defaultValue + "]"); + return defaultValue; + } + } } \ No newline at end of file