Browse Source

修改:

icform/items增加redis缓存
dev_shibei_match
wangxianzhang 4 years ago
parent
commit
3ea4aac18c
  1. 10
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 24
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java

10
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -593,4 +593,14 @@ public class RedisKeys {
public static String getIcFormKeyForExport(String formCode,String customerId) { public static String getIcFormKeyForExport(String formCode,String customerId) {
return rootPrefix.concat("icform:").concat(formCode).concat(":export:").concat(customerId); return rootPrefix.concat("icform:").concat(formCode).concat(":export:").concat(customerId);
} }
/**
* icd form items key
* @param customerId
* @param formCode
* @return
*/
public static String getIcFormItemsKey(String customerId, String formCode) {
return rootPrefix.concat("icform:").concat(formCode).concat(":items:").concat(customerId);
}
} }

24
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java

@ -17,6 +17,9 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -24,6 +27,8 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcFormDao; import com.epmet.dao.IcFormDao;
import com.epmet.dto.IcFormDTO; import com.epmet.dto.IcFormDTO;
@ -36,12 +41,15 @@ import com.epmet.redis.CustomerFootBarRedis;
import com.epmet.service.IcFormService; import com.epmet.service.IcFormService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
/** /**
* 配置表单 * 配置表单
@ -53,6 +61,9 @@ import java.util.Map;
public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity> implements IcFormService { public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity> implements IcFormService {
@Autowired @Autowired
private CustomerFootBarRedis customerFootBarRedis; private CustomerFootBarRedis customerFootBarRedis;
@Autowired
private RedisUtils redisUtils;
@Override @Override
public PageData<IcFormDTO> page(Map<String, Object> params) { public PageData<IcFormDTO> page(Map<String, Object> params) {
@ -134,6 +145,16 @@ public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity>
@Override @Override
public List<FormItem> listItems(String customerId, String formCode) { public List<FormItem> listItems(String customerId, String formCode) {
// 从redis取
String icFormItemsKey = RedisKeys.getIcFormItemsKey(customerId, formCode);
Object objValue = redisUtils.get(icFormItemsKey);
if (objValue != null) {
return ((JSONArray) objValue).toJavaList(FormItem.class);
//return JSON.parseObject((String) objValue, type);
}
// 从db取
CustomerFormResultDTO formResultDto=baseDao.selectByCode(customerId, formCode); CustomerFormResultDTO formResultDto=baseDao.selectByCode(customerId, formCode);
if (null == formResultDto) { if (null == formResultDto) {
throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(),EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg()); throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(),EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg());
@ -143,6 +164,9 @@ public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity>
formItems.forEach(i -> { formItems.forEach(i -> {
i.setOptions(baseDao.selectListOption(i.getItemId())); i.setOptions(baseDao.selectListOption(i.getItemId()));
}); });
// 缓存
redisUtils.set(icFormItemsKey, formItems);
return formItems; return formItems;
} }

Loading…
Cancel
Save