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