订单信息发生变化,清除缓存

This commit is contained in:
2023-04-15 09:36:02 +08:00
parent c5f017c478
commit 6e27b782d0
3 changed files with 26 additions and 14 deletions

View File

@@ -65,6 +65,9 @@ public interface IOrderBasicInfoService {
*/ */
int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo); int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo);
// 清订单缓存
void cleanCacheByOrderCode(String orderCode, String transactionCode);
/** /**
* 批量删除订单 * 批量删除订单
* *

View File

@@ -388,13 +388,24 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Override @Override
public int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo) { public int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo) {
// 清缓存 // 清缓存
String redisKey = CacheConstants.GET_ORDER_INFO_BY_ORDER_CODE + orderBasicInfo.getOrderCode(); this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
redisCache.deleteObject(redisKey);
String redisKey2 = CacheConstants.GET_ORDER_INFO_BY_TRANSACTION_CODE + orderBasicInfo.getTransactionCode();
redisCache.deleteObject(redisKey2);
return orderBasicInfoMapper.updateOrderBasicInfo(orderBasicInfo); return orderBasicInfoMapper.updateOrderBasicInfo(orderBasicInfo);
} }
@Override
public void cleanCacheByOrderCode(String orderCode, String transactionCode) {
List<String> 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()); .collect(Collectors.toList());
// 修改订单状态 // 修改订单状态
updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue()); updateOrderStatusById(orderIdList, OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue());
for (OrderBasicInfo orderBasicInfo : orderList) {
this.cleanCacheByOrderCode(orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
}
} }
return orderList.size(); return orderList.size();
} }

View File

@@ -1,9 +1,7 @@
package com.jsowell.pile.transaction.service; package com.jsowell.pile.transaction.service;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.domain.PileConnectorInfo; import com.jsowell.pile.domain.PileConnectorInfo;
import com.jsowell.pile.mapper.MemberBasicInfoMapper; 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.PileBasicInfoMapper;
import com.jsowell.pile.mapper.PileBillingTemplateMapper; import com.jsowell.pile.mapper.PileBillingTemplateMapper;
import com.jsowell.pile.mapper.PileConnectorInfoMapper; 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.BillingTemplateTransactionDTO;
import com.jsowell.pile.transaction.dto.MemberTransactionDTO; import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
@@ -51,6 +50,8 @@ public class TransactionService {
@Autowired @Autowired
private MemberWalletInfoMapper memberWalletInfoMapper; private MemberWalletInfoMapper memberWalletInfoMapper;
private IOrderBasicInfoService orderBasicInfoService;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@@ -159,14 +160,7 @@ public class TransactionService {
orderBasicInfoMapper.updateOrderDetail(dto.getOrderDetail()); orderBasicInfoMapper.updateOrderDetail(dto.getOrderDetail());
} }
// 清缓存 // 清缓存
if (StringUtils.isNotBlank(orderCode)) { orderBasicInfoService.cleanCacheByOrderCode(orderCode, transactionCode);
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);
}
} }
/** /**