This commit is contained in:
2024-01-17 10:09:53 +08:00
parent 473d79a1aa
commit 27efb57060
2 changed files with 49 additions and 8 deletions

View File

@@ -36,6 +36,9 @@ public class CacheConstants {
// 缓存时间 30天 // 缓存时间 30天
public static final int cache_expire_time_30d = cache_expire_time_1d * 30; public static final int cache_expire_time_30d = cache_expire_time_1d * 30;
// 保存order_monitor_data
public static final String INSERT_ORDER_MONITOR_DATA = "insert_order_monitor_data:";
public static final String PUSH_STATION_CONNECTOR = "push_station_connector"; public static final String PUSH_STATION_CONNECTOR = "push_station_connector";
// 支付确认列表 // 支付确认列表

View File

@@ -2,14 +2,17 @@ package com.jsowell.pile.service.impl;
import com.jsowell.common.constant.CacheConstants; 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.id.IdUtils;
import com.jsowell.pile.domain.OrderMonitorData; import com.jsowell.pile.domain.OrderMonitorData;
import com.jsowell.pile.mapper.OrderMonitorDataMapper; import com.jsowell.pile.mapper.OrderMonitorDataMapper;
import com.jsowell.pile.service.OrderMonitorDataService; import com.jsowell.pile.service.OrderMonitorDataService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@Slf4j
@Service @Service
public class OrderMonitorDataServiceImpl implements OrderMonitorDataService { public class OrderMonitorDataServiceImpl implements OrderMonitorDataService {
@@ -26,8 +29,30 @@ public class OrderMonitorDataServiceImpl implements OrderMonitorDataService {
@Override @Override
public int insertSelective(OrderMonitorData record) { public int insertSelective(OrderMonitorData record) {
// 防止重复入库 int i = 0;
return orderMonitorDataMapper.insertSelective(record); // 获取锁
String key = CacheConstants.INSERT_ORDER_MONITOR_DATA + record.getOrderCode();
try {
Boolean setnx = redisCache.setnx(key, IdUtils.fastSimpleUUID(), 30);
if (!setnx) {
return i;
}
// 防止重复入库
OrderMonitorData orderMonitorData = selectByOrderCode(record.getOrderCode());
if (orderMonitorData != null) {
return i;
}
i = orderMonitorDataMapper.insertSelective(record);
if (i > 0) {
setRedisCache(record);
}
} catch (Exception e) {
log.error("保存OrderMonitorData异常", e);
} finally {
redisCache.deleteObject(key);
}
return i;
} }
@Override @Override
@@ -43,9 +68,10 @@ public class OrderMonitorDataServiceImpl implements OrderMonitorDataService {
orderMonitorData = orderMonitorDataMapper.selectByOrderCode(orderCode); orderMonitorData = orderMonitorDataMapper.selectByOrderCode(orderCode);
if (orderMonitorData != null) { if (orderMonitorData != null) {
// 放缓存 // 放缓存
redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h); setRedisCache(orderMonitorData);
String redisKey2 = CacheConstants.ORDER_MONITOR_DATA_BY_TRANSACTION_CODE + orderMonitorData.getTransactionCode(); // redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h);
redisCache.setCacheObject(redisKey2, 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; return orderMonitorData;
@@ -59,12 +85,24 @@ public class OrderMonitorDataServiceImpl implements OrderMonitorDataService {
orderMonitorData = orderMonitorDataMapper.selectByTransactionCode(transactionCode); orderMonitorData = orderMonitorDataMapper.selectByTransactionCode(transactionCode);
if (orderMonitorData != null) { if (orderMonitorData != null) {
// 放缓存 // 放缓存
redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h); setRedisCache(orderMonitorData);
String redisKey2 = CacheConstants.ORDER_MONITOR_DATA_BY_ORDER_CODE + orderMonitorData.getOrderCode(); // redisCache.setCacheObject(redisKey, orderMonitorData, CacheConstants.cache_expire_time_12h);
redisCache.setCacheObject(redisKey2, 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; return orderMonitorData;
} }
// 放缓存
private void setRedisCache(OrderMonitorData orderMonitorData) {
if (orderMonitorData == null) {
return;
}
String redisKey = CacheConstants.ORDER_MONITOR_DATA_BY_ORDER_CODE + orderMonitorData.getOrderCode();
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);
}
} }