mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update
This commit is contained in:
@@ -148,6 +148,9 @@ public class OrderService {
|
||||
@Autowired
|
||||
private PersonalChargingRecordService personalChargingRecordService;
|
||||
|
||||
@Autowired
|
||||
private PileMsgRecordService pileMsgRecordService;
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
@@ -765,17 +768,52 @@ public class OrderService {
|
||||
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
|
||||
}
|
||||
|
||||
// 初始化data
|
||||
TransactionRecordsData data = null;
|
||||
// 充电金额
|
||||
String chargingAmount = dto.getChargingAmount();
|
||||
// 充电度数
|
||||
String chargingDegree = dto.getChargingDegree();
|
||||
if (StringUtils.equals(chargingAmount, Constants.ZERO) || StringUtils.equals(chargingDegree, Constants.ZERO)) {
|
||||
// 获取最后一次实时数据
|
||||
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
|
||||
if (CollectionUtils.isNotEmpty(chargingRealTimeData)) {
|
||||
RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0);
|
||||
chargingAmount = realTimeMonitorData.getChargingAmount();
|
||||
chargingDegree = realTimeMonitorData.getChargingDegree();
|
||||
|
||||
// 先查交易记录
|
||||
LocalDateTime localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getSettlementTime());
|
||||
// 开始时间为localDateTime减30秒
|
||||
LocalDateTime startTime = localDateTime.minusSeconds(30);
|
||||
// 结束时间为localDateTime加30秒
|
||||
LocalDateTime endTime = localDateTime.plusSeconds(30);
|
||||
// 查询这笔订单的交易记录原始数据
|
||||
List<PileMsgRecord> pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
|
||||
if (CollectionUtils.isEmpty(pileFeedListV2)) {
|
||||
// 如果没有交易记录原始数据,则使用停止充电时间作为开始时间和结束时间再查一次
|
||||
localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getChargeEndTime());
|
||||
startTime = localDateTime.minusSeconds(30);
|
||||
endTime = localDateTime.plusSeconds(30);
|
||||
pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
|
||||
}
|
||||
|
||||
for (PileMsgRecord pileMsgRecord : pileFeedListV2) {
|
||||
TransactionRecordsData parse = JSONObject.parseObject(pileMsgRecord.getJsonMsg(), TransactionRecordsData.class);
|
||||
if (StringUtils.equals(parse.getTransactionCode(), orderBasicInfo.getTransactionCode())) {
|
||||
data = parse;
|
||||
data.setVinCode("");
|
||||
}
|
||||
}
|
||||
|
||||
// 如果订单的交易记录为空
|
||||
if (data == null) {
|
||||
data = new TransactionRecordsData();
|
||||
if (StringUtils.equals(chargingAmount, Constants.ZERO) || StringUtils.equals(chargingDegree, Constants.ZERO)) {
|
||||
// 获取最后一次实时数据
|
||||
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
|
||||
if (CollectionUtils.isNotEmpty(chargingRealTimeData)) {
|
||||
RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0);
|
||||
chargingAmount = realTimeMonitorData.getChargingAmount();
|
||||
chargingDegree = realTimeMonitorData.getChargingDegree();
|
||||
|
||||
data.setConsumptionAmount(chargingAmount); // 总消费金额
|
||||
data.setTotalElectricity(chargingDegree); // 总用电量
|
||||
data.setStopReasonMsg("人工结算订单,操作人:" + SecurityUtils.getUsername()); // 停止原因
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -805,10 +843,10 @@ public class OrderService {
|
||||
} else {
|
||||
// 汽车桩
|
||||
// 组装交易记录数据
|
||||
TransactionRecordsData data = new TransactionRecordsData();
|
||||
data.setConsumptionAmount(chargingAmount); // 总消费金额
|
||||
data.setTotalElectricity(chargingDegree); // 总用电量
|
||||
data.setStopReasonMsg("人工结算订单,操作人:" + SecurityUtils.getUsername()); // 停止原因
|
||||
// TransactionRecordsData data = new TransactionRecordsData();
|
||||
// data.setConsumptionAmount(chargingAmount); // 总消费金额
|
||||
// data.setTotalElectricity(chargingDegree); // 总用电量
|
||||
// data.setStopReasonMsg("人工结算订单,操作人:" + SecurityUtils.getUsername()); // 停止原因
|
||||
orderLogic.settleOrder(data, orderBasicInfo);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user