校验是否为并充订单

This commit is contained in:
Guoqs
2024-11-14 17:02:03 +08:00
parent c2f849ec75
commit a59dc883c1
2 changed files with 52 additions and 2 deletions

View File

@@ -619,4 +619,21 @@ public class TempController extends BaseController {
}
return response;
}
/**
* 并充订单数据修正
* https://localhost:8080/temp/correctCombinedChargingOrder
*/
@PostMapping("/correctCombinedChargingOrder")
public RestApiResponse<?> correctCombinedChargingOrder(@RequestBody QueryOrderDTO dto) {
RestApiResponse<?> response;
try {
tempService.correctCombinedChargingOrder(dto);
response = new RestApiResponse<>();
} catch (Exception e) {
logger.error("校验订单是否为并充订单error", e);
response = new RestApiResponse<>();
}
return response;
}
}

View File

@@ -14,6 +14,7 @@ import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse;
import com.jsowell.adapay.service.AdapayService;
import com.jsowell.adapay.vo.OrderSplitResult;
import com.jsowell.adapay.vo.PaymentInfo;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
@@ -38,6 +39,7 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -83,10 +85,10 @@ public class TempService {
private PileMsgRecordMapper pileMsgRecordMapper;
@Autowired
private PileMsgRecordService pileMsgRecordService;
private OrderMonitorDataService orderMonitorDataService;
@Autowired
private OrderMonitorDataService orderMonitorDataService;
private RedisCache redisCache;
/**
* 计算订单耗电量
@@ -617,5 +619,36 @@ public class TempService {
resultMap.put("noDataOrderList", noDataOrderList);
return resultMap;
}
/**
* 修正并充订单数据
* @param dto
*/
public void correctCombinedChargingOrder(QueryOrderDTO dto) {
List<String> orderCodeList = dto.getOrderCodeList();
logger.info("修正并充订单数据,订单号:{}", JSON.toJSONString(orderCodeList));
// 查询临时表,不要重复修正
String redisKey = "correct_combined_charging_order";
List<String> redisResult = redisCache.getCacheList(redisKey);
if (CollectionUtils.isNotEmpty(redisResult)) {
logger.info("已修正订单:{}", JSON.toJSONString(redisResult));
// 过滤掉已修正的订单
orderCodeList.removeAll(redisResult);
logger.info("过滤掉已修正的订单剩余:{}", JSON.toJSONString(orderCodeList));
}
if (CollectionUtils.isEmpty(orderCodeList)) {
logger.info("无需要修正的订单");
return;
}
// 查询订单主表数据
List<OrderBasicInfo> orderBasicInfos = orderBasicInfoService.queryOrderList(orderCodeList);
// 查询订单详情数据
List<OrderDetail> orderDetailList = orderBasicInfoService.getOrderDetailList(orderCodeList);
Map<String, List<String>> redisMap = Maps.newHashMap();
redisMap.put(redisKey, orderCodeList);
redisCache.batchSetCacheList(redisMap, 300, TimeUnit.DAYS);
}
}