diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java index a92fcdf29..251bf3c89 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java @@ -33,6 +33,10 @@ public class CacheConstants { public static final String ACCESS_TOKEN = "AccessToken_"; + public static final String ORDER_MONITOR_DATA_BY_TRANSACTION_CODE = "order_monitor_data_by_transaction_code:"; + + public static final String ORDER_MONITOR_DATA_BY_ORDER_CODE = "order_monitor_data_by_order_code:"; + /** * 通过订单号查询订单信息Key */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java index f38fb1782..09317df19 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java @@ -1,8 +1,11 @@ package com.jsowell.pile.service.impl; +import com.jsowell.common.constant.CacheConstants; +import com.jsowell.common.core.redis.RedisCache; import com.jsowell.pile.domain.OrderMonitorData; import com.jsowell.pile.mapper.OrderMonitorDataMapper; import com.jsowell.pile.service.OrderMonitorDataService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -13,6 +16,9 @@ public class OrderMonitorDataServiceImpl implements OrderMonitorDataService { @Resource private OrderMonitorDataMapper orderMonitorDataMapper; + @Autowired + private RedisCache redisCache; + @Override public int deleteByPrimaryKey(Integer id) { return orderMonitorDataMapper.deleteByPrimaryKey(id); @@ -35,12 +41,34 @@ public class OrderMonitorDataServiceImpl implements OrderMonitorDataService { @Override public OrderMonitorData selectByOrderCode(String orderCode) { - return orderMonitorDataMapper.selectByOrderCode(orderCode); + String redisKey = CacheConstants.ORDER_MONITOR_DATA_BY_ORDER_CODE + orderCode; + OrderMonitorData orderMonitorData = redisCache.getCacheObject(redisKey); + if (orderMonitorData == null) { + orderMonitorData = orderMonitorDataMapper.selectByOrderCode(orderCode); + if (orderMonitorData != null) { + // 放缓存 + redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h); + String redisKey2 = CacheConstants.ORDER_MONITOR_DATA_BY_TRANSACTION_CODE + orderMonitorData.getTransactionCode(); + redisCache.setCacheObject(redisKey2, orderMonitorData, CacheConstants.cache_expire_time_12h); + } + } + return orderMonitorData; } @Override public OrderMonitorData selectByTransactionCode(String transactionCode) { - return orderMonitorDataMapper.selectByTransactionCode(transactionCode); + String redisKey = CacheConstants.ORDER_MONITOR_DATA_BY_TRANSACTION_CODE + transactionCode; + OrderMonitorData orderMonitorData = redisCache.getCacheObject(redisKey); + if (orderMonitorData == null) { + orderMonitorData = orderMonitorDataMapper.selectByTransactionCode(transactionCode); + if (orderMonitorData != null) { + // 放缓存 + redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h); + String redisKey2 = CacheConstants.ORDER_MONITOR_DATA_BY_ORDER_CODE + orderMonitorData.getOrderCode(); + redisCache.setCacheObject(redisKey2, orderMonitorData, CacheConstants.cache_expire_time_12h); + } + } + return orderMonitorData; } }