去除省市区及大区业务区域的缓存

This commit is contained in:
feng.li
2023-09-25 18:52:08 +08:00
parent 2e23c295f2
commit c4bcfcb33b

View File

@@ -1,8 +1,5 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dto.response.MDMResultDTO; import com.cool.store.dto.response.MDMResultDTO;
import com.cool.store.entity.MDMAreaDO; import com.cool.store.entity.MDMAreaDO;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
@@ -13,13 +10,11 @@ import com.cool.store.response.mdm.BusinessRegion;
import com.cool.store.service.MDMAreaService; import com.cool.store.service.MDMAreaService;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.text.MessageFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -41,13 +36,13 @@ public class MDMAreaServiceImpl implements MDMAreaService {
*/ */
@Override @Override
public List<MDMAreaDO> getProvince() { public List<MDMAreaDO> getProvince() {
String provincesJson = redisUtilPool.getString(RedisConstant.MDM_AREA_PROVINCE); // String provincesJson = redisUtilPool.getString(RedisConstant.MDM_AREA_PROVINCE);
if (StringUtils.isNotEmpty(provincesJson)) { // if (StringUtils.isNotEmpty(provincesJson)) {
return (List<MDMAreaDO>) JSONObject.parseObject(provincesJson, List.class); // return (List<MDMAreaDO>) JSONObject.parseObject(provincesJson, List.class);
} // }
List<MDMAreaDO> areaDOList = mdmAreaMapper.getProvince(); List<MDMAreaDO> areaDOList = mdmAreaMapper.getProvince();
//过期时间三小时 //过期时间三小时
redisUtilPool.setString(RedisConstant.MDM_AREA_PROVINCE, JSONObject.toJSONString(areaDOList), 3 * 60 * 60); // redisUtilPool.setString(RedisConstant.MDM_AREA_PROVINCE, JSONObject.toJSONString(areaDOList), 3 * 60 * 60);
return areaDOList; return areaDOList;
} }
@@ -57,17 +52,17 @@ public class MDMAreaServiceImpl implements MDMAreaService {
*/ */
@Override @Override
public List<MDMAreaDO> getSonArea(String code) { public List<MDMAreaDO> getSonArea(String code) {
String provincesJson = redisUtilPool.getString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code)); // String provincesJson = redisUtilPool.getString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code));
if (StringUtils.isNotEmpty(provincesJson)) { // if (StringUtils.isNotEmpty(provincesJson)) {
return (List<MDMAreaDO>) JSONObject.parseObject(provincesJson, List.class); // return (List<MDMAreaDO>) JSONObject.parseObject(provincesJson, List.class);
} // }
List<MDMAreaDO> areaDOList = mdmAreaMapper.getSonArea(code); List<MDMAreaDO> areaDOList = mdmAreaMapper.getSonArea(code);
//数据库也没有该数据就缓存空值,但是只缓存一分钟 //数据库也没有该数据就缓存空值,但是只缓存一分钟
if (areaDOList == null || areaDOList.size() == 0) { // if (areaDOList == null || areaDOList.size() == 0) {
redisUtilPool.setString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code), "", 60); // redisUtilPool.setString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code), "", 60);
} // }
//过期时间三小时 //过期时间三小时
redisUtilPool.setString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code), JSONObject.toJSONString(areaDOList), 3 * 60 * 60); // redisUtilPool.setString(MessageFormat.format(RedisConstant.MDM_AREA_OTHERS, code), JSONObject.toJSONString(areaDOList), 3 * 60 * 60);
return areaDOList; return areaDOList;
} }
@@ -114,16 +109,16 @@ public class MDMAreaServiceImpl implements MDMAreaService {
*/ */
@Override @Override
public List<BelongRegion> getBelongRegion() throws ApiException { public List<BelongRegion> getBelongRegion() throws ApiException {
String belongRegionsString = redisUtilPool.getString(RedisConstant.MDM_BELONG_REGION); // String belongRegionsString = redisUtilPool.getString(RedisConstant.MDM_BELONG_REGION);
if (StringUtil.isNotEmpty(belongRegionsString)) { // if (StringUtil.isNotEmpty(belongRegionsString)) {
return (List<BelongRegion>) JSONObject.parseObject(belongRegionsString, List.class); // return (List<BelongRegion>) JSONObject.parseObject(belongRegionsString, List.class);
} // }
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", mdmHttpRequest.getMdmAccessToken()); headers.put("Authorization", mdmHttpRequest.getMdmAccessToken());
ResponseEntity<MDMResultDTO> belongRegionResp = mdmHttpRequest.getBelongRegion(headers); ResponseEntity<MDMResultDTO> belongRegionResp = mdmHttpRequest.getBelongRegion(headers);
List<BelongRegion> belongRegions = (List<BelongRegion>) belongRegionResp.getBody().getData(); List<BelongRegion> belongRegions = (List<BelongRegion>) belongRegionResp.getBody().getData();
//缓存,半个小时过期 //缓存,半个小时过期
redisUtilPool.setString(RedisConstant.MDM_BELONG_REGION, JSON.toJSONString(belongRegions), 30 * 60); // redisUtilPool.setString(RedisConstant.MDM_BELONG_REGION, JSON.toJSONString(belongRegions), 30 * 60);
return belongRegions; return belongRegions;
} }
@@ -133,16 +128,16 @@ public class MDMAreaServiceImpl implements MDMAreaService {
*/ */
@Override @Override
public List<BusinessRegion> getBusinessRegion() throws ApiException { public List<BusinessRegion> getBusinessRegion() throws ApiException {
String belongRegionsString = redisUtilPool.getString(RedisConstant.MDM_BUSINESS_REGION); // String belongRegionsString = redisUtilPool.getString(RedisConstant.MDM_BUSINESS_REGION);
if (StringUtil.isNotEmpty(belongRegionsString)) { // if (StringUtil.isNotEmpty(belongRegionsString)) {
return (List<BusinessRegion>) JSONObject.parseObject(belongRegionsString, List.class); // return (List<BusinessRegion>) JSONObject.parseObject(belongRegionsString, List.class);
} // }
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
headers.put("Authorization", mdmHttpRequest.getMdmAccessToken()); headers.put("Authorization", mdmHttpRequest.getMdmAccessToken());
ResponseEntity<MDMResultDTO> belongRegionResp = mdmHttpRequest.getBusinessRegion(headers); ResponseEntity<MDMResultDTO> belongRegionResp = mdmHttpRequest.getBusinessRegion(headers);
List<BusinessRegion> businessRegions = (List<BusinessRegion>) belongRegionResp.getBody().getData(); List<BusinessRegion> businessRegions = (List<BusinessRegion>) belongRegionResp.getBody().getData();
//缓存,半个小时过期 //缓存,半个小时过期
redisUtilPool.setString(RedisConstant.MDM_BUSINESS_REGION, JSON.toJSONString(businessRegions), 30 * 60); // redisUtilPool.setString(RedisConstant.MDM_BUSINESS_REGION, JSON.toJSONString(businessRegions), 30 * 60);
return businessRegions; return businessRegions;
} }