订单实时数据保存到数据库

This commit is contained in:
2023-05-10 16:03:11 +08:00
parent 11240e08dc
commit 4a753f7656
4 changed files with 36 additions and 3 deletions

View File

@@ -119,6 +119,8 @@ public interface IOrderBasicInfoService {
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList, LocalDateTime dateTime);
void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode);
void updateElecAmount();
/**

View File

@@ -706,7 +706,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
* 从redis中取出实时记录保存到表中
* 当订单完成的时候调用
*/
private void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode) {
@Override
public void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode) {
if (StringUtils.isBlank(transactionCode)) {
return;
}
@@ -1060,6 +1061,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
RealTimeMonitorData data = JSONObject.parseObject((String) o, RealTimeMonitorData.class);
resultList.add(data);
}
} else {
logger.debug("redis中没有实时数据了去数据库查");
// redis中为空去查库
OrderMonitorData orderMonitorData = orderMonitorDataService.selectByTransactionCode(transactionCode);
if (orderMonitorData != null) {
String monitorData = orderMonitorData.getMonitorData();
List<RealTimeMonitorData> dataList = JSON.parseArray(monitorData, RealTimeMonitorData.class);
resultList.addAll(dataList);
}
}
return resultList;
}