diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 7a08439fd..6aa159ca1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -65,6 +65,9 @@ public interface IOrderBasicInfoService { */ int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo); + // 清订单缓存 + void cleanCacheByOrderCode(String orderCode, String transactionCode); + /** * 批量删除订单 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index b5311b878..ec48e229a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -388,13 +388,24 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Override public int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo) { // 清缓存 - String redisKey = CacheConstants.GET_ORDER_INFO_BY_ORDER_CODE + orderBasicInfo.getOrderCode(); - redisCache.deleteObject(redisKey); - String redisKey2 = CacheConstants.GET_ORDER_INFO_BY_TRANSACTION_CODE + orderBasicInfo.getTransactionCode(); - redisCache.deleteObject(redisKey2); + this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode()); return orderBasicInfoMapper.updateOrderBasicInfo(orderBasicInfo); } + @Override + public void cleanCacheByOrderCode(String orderCode, String transactionCode) { + List keys = Lists.newArrayList(); + if (StringUtils.isNotBlank(orderCode)) { + keys.add(CacheConstants.GET_ORDER_INFO_BY_ORDER_CODE + orderCode); + } + if (StringUtils.isNotBlank(transactionCode)) { + keys.add(CacheConstants.GET_ORDER_INFO_BY_TRANSACTION_CODE + transactionCode); + } + if (CollectionUtils.isNotEmpty(keys)) { + redisCache.deleteObject(keys); + } + } + /** * 批量删除订单 * @@ -969,6 +980,10 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { .collect(Collectors.toList()); // 修改订单状态 updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue()); + + for (OrderBasicInfo orderBasicInfo : orderList) { + this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode()); + } } return orderList.size(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java b/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java index 2ba02ef3e..41c2f0fa8 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/transaction/service/TransactionService.java @@ -1,9 +1,7 @@ package com.jsowell.pile.transaction.service; import com.google.common.collect.Lists; -import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.core.redis.RedisCache; -import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileConnectorInfo; import com.jsowell.pile.mapper.MemberBasicInfoMapper; @@ -12,6 +10,7 @@ import com.jsowell.pile.mapper.OrderBasicInfoMapper; import com.jsowell.pile.mapper.PileBasicInfoMapper; import com.jsowell.pile.mapper.PileBillingTemplateMapper; import com.jsowell.pile.mapper.PileConnectorInfoMapper; +import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.transaction.dto.BillingTemplateTransactionDTO; import com.jsowell.pile.transaction.dto.MemberTransactionDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; @@ -51,6 +50,8 @@ public class TransactionService { @Autowired private MemberWalletInfoMapper memberWalletInfoMapper; + private IOrderBasicInfoService orderBasicInfoService; + @Autowired private RedisCache redisCache; @@ -159,14 +160,7 @@ public class TransactionService { orderBasicInfoMapper.updateOrderDetail(dto.getOrderDetail()); } // 清缓存 - if (StringUtils.isNotBlank(orderCode)) { - String redisKey = CacheConstants.GET_ORDER_INFO_BY_ORDER_CODE + orderCode; - redisCache.deleteObject(redisKey); - } - if (StringUtils.isNotBlank(transactionCode)) { - String redisKey = CacheConstants.GET_ORDER_INFO_BY_TRANSACTION_CODE + transactionCode; - redisCache.deleteObject(redisKey); - } + orderBasicInfoService.cleanCacheByOrderCode(orderCode, transactionCode); } /**