后管接口、小程序接口新增停止原因代码字段

This commit is contained in:
Lemon
2024-12-05 16:57:47 +08:00
parent 22b0d0fe8b
commit 95fda5694c
7 changed files with 268 additions and 245 deletions

View File

@@ -422,6 +422,7 @@ public class OrderService {
order.setStartTime(DateUtils.formatDateTime(orderBasicInfo.getChargeStartTime())); order.setStartTime(DateUtils.formatDateTime(orderBasicInfo.getChargeStartTime()));
order.setEndTime(DateUtils.formatDateTime(orderBasicInfo.getChargeEndTime())); order.setEndTime(DateUtils.formatDateTime(orderBasicInfo.getChargeEndTime()));
order.setCreateTime(DateUtils.formatDateTime(orderBasicInfo.getCreateTime())); order.setCreateTime(DateUtils.formatDateTime(orderBasicInfo.getCreateTime()));
order.setStopReasonCode(orderBasicInfo.getStopReasonCode());
order.setStopReasonMsg(orderBasicInfo.getReason()); order.setStopReasonMsg(orderBasicInfo.getReason());
order.setStartSOC(orderBasicInfo.getStartSoc()); order.setStartSOC(orderBasicInfo.getStartSoc());
order.setEndSOC(orderBasicInfo.getEndSoc()); order.setEndSOC(orderBasicInfo.getEndSoc());
@@ -580,6 +581,7 @@ public class OrderService {
} }
PileStationVO stationInfo = pileStationInfoService.getStationInfo(orderBasicInfo.getStationId()); PileStationVO stationInfo = pileStationInfoService.getStationInfo(orderBasicInfo.getStationId());
vo.setStationName(stationInfo.getStationName()); vo.setStationName(stationInfo.getStationName());
vo.setStopReasonCode(orderBasicInfo.getStopReasonCode());
vo.setReason(orderBasicInfo.getReason()); vo.setReason(orderBasicInfo.getReason());
vo.setOrderAmount(String.valueOf(orderBasicInfo.getOrderAmount())); vo.setOrderAmount(String.valueOf(orderBasicInfo.getOrderAmount()));
vo.setPayAmount(String.valueOf(orderBasicInfo.getPayAmount())); vo.setPayAmount(String.valueOf(orderBasicInfo.getPayAmount()));

View File

@@ -115,6 +115,9 @@ public class TransactionRecordsData {
// 交易时间 CP56Time2a 格式 // 交易时间 CP56Time2a 格式
private String transactionTime; private String transactionTime;
// 停止原因码16进制
private String stopReasonCode;
// 停止原因 // 停止原因
private String stopReasonMsg; private String stopReasonMsg;

View File

@@ -81,251 +81,253 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
private PersonalChargingRecordService personalChargingRecordService; private PersonalChargingRecordService personalChargingRecordService;
/*public static void main(String[] args) { // public static void main(String[] args) {
BigDecimal totalElectricity = new BigDecimal("23.73"); // // BigDecimal totalElectricity = new BigDecimal("23.73");
if (totalElectricity.compareTo(BigDecimal.TEN) > 0) { // // if (totalElectricity.compareTo(BigDecimal.TEN) > 0) {
// 充电度数大于10度 // // // 充电度数大于10度
System.out.println("123"); // // System.out.println("123");
} // // }
//
//
// 获取消息体 // // 获取消息体
String msg = "000000000000000000000000000000008823000000030601a08c2e0d0404170000380d0404170000000000000000000000000000000000000000000000000000000000000000400d0300ee250000ee250000c84b000000000000000000000000000000000000e0bb040000cee1040000ee250000ee250000c84b00000000000000000000000000000000000000010000380d04041745a511101970000000"; // // String msg = "000000000000000000000000000000008823000000030601a08c2e0d0404170000380d0404170000000000000000000000000000000000000000000000000000000000000000400d0300ee250000ee250000c84b000000000000000000000000000000000000e0bb040000cee1040000ee250000ee250000c84b00000000000000000000000000000000000000010000380d04041745a511101970000000";
byte[] msgBody = BytesUtil.str2Bcd(msg); // // byte[] msgBody = BytesUtil.str2Bcd(msg);
// //
int startIndex = 0; // // int startIndex = 0;
int length = 16; // // int length = 16;
// //
// 交易流水号 // // // 交易流水号
byte[] orderCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] orderCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String transactionCode = BytesUtil.bcd2Str(orderCodeByteArr); // // String transactionCode = BytesUtil.bcd2Str(orderCodeByteArr);
// //
// 桩编码 // // // 桩编码
startIndex += length; // // startIndex += length;
length = 7; // // length = 7;
byte[] pileSnByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] pileSnByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String pileSn = BytesUtil.bcd2Str(pileSnByteArr); // // String pileSn = BytesUtil.bcd2Str(pileSnByteArr);
// //
// 枪号 // // // 枪号
startIndex += length; // // startIndex += length;
length = 1; // // length = 1;
byte[] connectorCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] connectorCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String connectorCode = BytesUtil.bcd2Str(connectorCodeByteArr); // // String connectorCode = BytesUtil.bcd2Str(connectorCodeByteArr);
// //
// //
// 开始时间 CP56Time2a 格式 // // // 开始时间 CP56Time2a 格式
startIndex += length; // // startIndex += length;
length = 7; // // length = 7;
byte[] startTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] startTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
// String binary = BytesUtil.binary(startTimeByteArr, 16); // // // String binary = BytesUtil.binary(startTimeByteArr, 16);
Date startDate = Cp56Time2aUtil.byte2Hdate(startTimeByteArr); // // Date startDate = Cp56Time2aUtil.byte2Hdate(startTimeByteArr);
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startDate); // // String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startDate);
// //
// //
// 结束时间 CP56Time2a 格式 // // // 结束时间 CP56Time2a 格式
startIndex += length; // // startIndex += length;
byte[] endTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] endTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
Date endDate = Cp56Time2aUtil.byte2Hdate(endTimeByteArr); // // Date endDate = Cp56Time2aUtil.byte2Hdate(endTimeByteArr);
String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endDate); // // String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endDate);
// //
// 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) // // // 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧)
startIndex += length; // // startIndex += length;
length = 4; // // length = 4;
byte[] sharpPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] sharpPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String sharpPrice = YKCUtils.convertDecimalPoint(sharpPriceByteArr, 5); // // String sharpPrice = YKCUtils.convertDecimalPoint(sharpPriceByteArr, 5);
// //
// 尖电量 精确到小数点后四位 // // // 尖电量 精确到小数点后四位
startIndex += length; // // startIndex += length;
length = 4; // // length = 4;
byte[] sharpUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] sharpUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String sharpUsedElectricity = YKCUtils.convertDecimalPoint(sharpUsedElectricityByteArr, 4); // // String sharpUsedElectricity = YKCUtils.convertDecimalPoint(sharpUsedElectricityByteArr, 4);
// //
// 计损尖电量 // // // 计损尖电量
startIndex += length; // // startIndex += length;
byte[] sharpPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] sharpPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String sharpPlanLossElectricity = YKCUtils.convertDecimalPoint(sharpPlanLossElectricityByteArr, 4); // // String sharpPlanLossElectricity = YKCUtils.convertDecimalPoint(sharpPlanLossElectricityByteArr, 4);
// //
// 尖金额 // // // 尖金额
startIndex += length; // // startIndex += length;
byte[] sharpAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] sharpAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String sharpAmount = YKCUtils.convertDecimalPoint(sharpAmountByteArr, 4); // // String sharpAmount = YKCUtils.convertDecimalPoint(sharpAmountByteArr, 4);
// //
// 峰单价 精确到小数点后五位(峰电费+峰服务费) // // // 峰单价 精确到小数点后五位(峰电费+峰服务费)
startIndex += length; // // startIndex += length;
byte[] peakPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] peakPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String peakPrice = YKCUtils.convertDecimalPoint(peakPriceByteArr, 5); // // String peakPrice = YKCUtils.convertDecimalPoint(peakPriceByteArr, 5);
// //
// 峰电量 // // // 峰电量
startIndex += length; // // startIndex += length;
byte[] peakUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] peakUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String peakUsedElectricity = YKCUtils.convertDecimalPoint(peakUsedElectricityByteArr, 4); // // String peakUsedElectricity = YKCUtils.convertDecimalPoint(peakUsedElectricityByteArr, 4);
// //
// 计损峰电量 // // // 计损峰电量
startIndex += length; // // startIndex += length;
byte[] peakPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] peakPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String peakPlanLossElectricity = YKCUtils.convertDecimalPoint(peakPlanLossElectricityByteArr, 4); // // String peakPlanLossElectricity = YKCUtils.convertDecimalPoint(peakPlanLossElectricityByteArr, 4);
// //
// 峰金额 // // // 峰金额
startIndex += length; // // startIndex += length;
byte[] peakAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] peakAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String peakAmount = YKCUtils.convertDecimalPoint(peakAmountByteArr, 4); // // String peakAmount = YKCUtils.convertDecimalPoint(peakAmountByteArr, 4);
// //
// 平单价 精确到小数点后五位(平电费+平服务费) // // // 平单价 精确到小数点后五位(平电费+平服务费)
startIndex += length; // // startIndex += length;
byte[] flatPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] flatPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String flatPrice = YKCUtils.convertDecimalPoint(flatPriceByteArr, 5); // // String flatPrice = YKCUtils.convertDecimalPoint(flatPriceByteArr, 5);
// //
// 平电量 // // // 平电量
startIndex += length; // // startIndex += length;
byte[] flatUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] flatUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String flatUsedElectricity = YKCUtils.convertDecimalPoint(flatUsedElectricityByteArr, 4); // // String flatUsedElectricity = YKCUtils.convertDecimalPoint(flatUsedElectricityByteArr, 4);
// //
// 计损平电量 // // // 计损平电量
startIndex += length; // // startIndex += length;
byte[] flatPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] flatPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String flatPlanLossElectricity = YKCUtils.convertDecimalPoint(flatPlanLossElectricityByteArr, 4); // // String flatPlanLossElectricity = YKCUtils.convertDecimalPoint(flatPlanLossElectricityByteArr, 4);
// //
// 平金额 // // // 平金额
startIndex += length; // // startIndex += length;
byte[] flatAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] flatAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String flatAmount = YKCUtils.convertDecimalPoint(flatAmountByteArr, 4); // // String flatAmount = YKCUtils.convertDecimalPoint(flatAmountByteArr, 4);
// //
// 谷单价 精确到小数点后五位(谷电费+谷 服务费) // // // 谷单价 精确到小数点后五位(谷电费+谷 服务费)
startIndex += length; // // startIndex += length;
byte[] valleyPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] valleyPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String valleyPrice = YKCUtils.convertDecimalPoint(valleyPriceByteArr, 5); // // String valleyPrice = YKCUtils.convertDecimalPoint(valleyPriceByteArr, 5);
// //
// 谷电量 // // // 谷电量
startIndex += length; // // startIndex += length;
byte[] valleyUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] valleyUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String valleyUsedElectricity = YKCUtils.convertDecimalPoint(valleyUsedElectricityByteArr, 4); // // String valleyUsedElectricity = YKCUtils.convertDecimalPoint(valleyUsedElectricityByteArr, 4);
// //
// 计损谷电量 // // // 计损谷电量
startIndex += length; // // startIndex += length;
byte[] valleyPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] valleyPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String valleyPlanLossElectricity = YKCUtils.convertDecimalPoint(valleyPlanLossElectricityByteArr, 4); // // String valleyPlanLossElectricity = YKCUtils.convertDecimalPoint(valleyPlanLossElectricityByteArr, 4);
// //
// 谷金额 // // // 谷金额
startIndex += length; // // startIndex += length;
byte[] valleyAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] valleyAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String valleyAmount = YKCUtils.convertDecimalPoint(valleyAmountByteArr, 4); // // String valleyAmount = YKCUtils.convertDecimalPoint(valleyAmountByteArr, 4);
// //
// 电表总起值 // // // 电表总起值
startIndex += length; // // startIndex += length;
length = 5; // // length = 5;
byte[] ammeterTotalStartByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] ammeterTotalStartByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String ammeterTotalStart = YKCUtils.convertDecimalPoint(ammeterTotalStartByteArr, 4); // // String ammeterTotalStart = YKCUtils.convertDecimalPoint(ammeterTotalStartByteArr, 4);
// //
// 电表总止值 // // // 电表总止值
startIndex += length; // // startIndex += length;
byte[] ammeterTotalEndByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] ammeterTotalEndByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String ammeterTotalEnd = YKCUtils.convertDecimalPoint(ammeterTotalEndByteArr, 4); // // String ammeterTotalEnd = YKCUtils.convertDecimalPoint(ammeterTotalEndByteArr, 4);
// //
// 总电量 // // // 总电量
startIndex += length; // // startIndex += length;
length = 4; // // length = 4;
byte[] totalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] totalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
// String totalElectricity = YKCUtils.convertDecimalPoint(totalElectricityByteArr, 4); // // // String totalElectricity = YKCUtils.convertDecimalPoint(totalElectricityByteArr, 4);
// //
// 计损总电量 // // // 计损总电量
startIndex += length; // // startIndex += length;
byte[] planLossTotalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] planLossTotalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String planLossTotalElectricity = YKCUtils.convertDecimalPoint(planLossTotalElectricityByteArr, 4); // // String planLossTotalElectricity = YKCUtils.convertDecimalPoint(planLossTotalElectricityByteArr, 4);
// //
// 消费金额 精确到小数点后四位,包含电费、 服务费 // // // 消费金额 精确到小数点后四位,包含电费、 服务费
startIndex += length; // // startIndex += length;
byte[] consumptionAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] consumptionAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String consumptionAmount = YKCUtils.convertDecimalPoint(consumptionAmountByteArr, 4); // // String consumptionAmount = YKCUtils.convertDecimalPoint(consumptionAmountByteArr, 4);
// //
// VIN 码 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序 // // // VIN 码 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序
startIndex += length; // // startIndex += length;
length = 17; // // length = 17;
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String vinCode = BytesUtil.ascii2Str(vinCodeByteArr); // // String vinCode = BytesUtil.ascii2Str(vinCodeByteArr);
// //
*//** // // /**
* 交易标识 // // * 交易标识
* 0x01 app 启动 // // * 0x01 app 启动
* 0x02卡启动 // // * 0x02卡启动
* 0x04离线卡启动 // // * 0x04离线卡启动
* 0x05: vin 码启动充电 // // * 0x05: vin 码启动充电
*//* // // */
startIndex += length; // // startIndex += length;
length = 1; // // length = 1;
byte[] transactionIdentifierByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] transactionIdentifierByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String transactionIdentifier = BytesUtil.bcd2Str(transactionIdentifierByteArr); // // String transactionIdentifier = BytesUtil.bcd2Str(transactionIdentifierByteArr);
// //
// 交易时间 CP56Time2a 格式 // // // 交易时间 CP56Time2a 格式
startIndex += length; // // startIndex += length;
length = 7; // // length = 7;
byte[] transactionTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] transactionTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
Date transactionDate = Cp56Time2aUtil.byte2Hdate(transactionTimeByteArr); // // Date transactionDate = Cp56Time2aUtil.byte2Hdate(transactionTimeByteArr);
String transactionTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, transactionDate); // // String transactionTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, transactionDate);
// //
// 停止原因 // // // 停止原因
startIndex += length; // // startIndex += length;
length = 1; // // length = 1;
byte[] stopReasonByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // byte[] stopReasonByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
String stopReason = BytesUtil.bin2HexStr(stopReasonByteArr); // // String stopReason = BytesUtil.bin2HexStr(stopReasonByteArr);
String stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(Integer.parseInt(stopReason, 16)); // // int i = Integer.parseInt(stopReason, 16);
// // String stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(i);
// 物理卡号 不足 8 位补 0 //
startIndex += length; //
length = 8; // // 物理卡号 不足 8 位补 0
byte[] cardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); // // startIndex += length;
// byte[] logicCardNum = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16); // // length = 8;
String logicCard = BytesUtil.binary(cardNumByteArr, 16); // // byte[] cardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
log.info("桩号:{}, 发送交易记录物理卡号:{}", pileSn, logicCard); // // // byte[] logicCardNum = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16);
// // String logicCard = BytesUtil.binary(cardNumByteArr, 16);
log.info("[===交易记录===]交易流水号:{}, 桩编号:{}, 枪号:{}, 开始时间:{}, 结束时间:{}, 尖单价:{}, 尖电量:{}, 计损尖电量:{}, 尖金额:{}, " + // // log.info("桩号:{}, 发送交易记录物理卡号:{}", pileSn, logicCard);
"峰单价:{}, 峰电量:{}, 计损峰电量:{}, 峰金额:{}, 平单价:{}, 平电量:{}, 计损平电量:{}, 平金额:{}, " + // //
"谷单价:{}, 谷电量:{}, 计损谷电量:{}, 谷金额:{}, 电表总起值:{}, 电表总止值:{}, 电量:{}, 计损电量:{}, 消费金额:{}, " + // // log.info("[===交易记录===]交易流水号:{}, 桩编号:{}, 枪号:{}, 开始时间:{}, 结束时间:{}, 尖单价:{}, 电量:{}, 计损电量:{}, 金额:{}, " +
"电动汽车唯一标识:{}, 交易标识:{}, 交易日期、时间:{}, 停止原因码:{}, 停止原因描述:{}, 物理卡号:{}", // // "峰单价:{}, 峰电量:{}, 计损峰电量:{}, 峰金额:{}, 平单价:{}, 平电量:{}, 计损平电量:{}, 平金额:{}, " +
transactionCode, pileSn, connectorCode, startTime, endTime, sharpPrice, sharpUsedElectricity, sharpPlanLossElectricity, sharpAmount, // // "谷单价:{}, 谷电量:{}, 计损谷电量:{}, 谷金额:{}, 电表总起值:{}, 电表总止值:{}, 总电量:{}, 计损总电量:{}, 消费金额:{}, " +
peakPrice, peakUsedElectricity, peakPlanLossElectricity, peakAmount, flatPrice, flatUsedElectricity, flatPlanLossElectricity, flatAmount, // // "电动汽车唯一标识:{}, 交易标识:{}, 交易日期、时间:{}, 停止原因码:{}, 停止原因描述:{}, 物理卡号:{}",
valleyPrice, valleyUsedElectricity, valleyPlanLossElectricity, valleyAmount, ammeterTotalStart, ammeterTotalEnd, totalElectricity, planLossTotalElectricity, // // transactionCode, pileSn, connectorCode, startTime, endTime, sharpPrice, sharpUsedElectricity, sharpPlanLossElectricity, sharpAmount,
consumptionAmount, vinCode, transactionIdentifier, transactionTime, stopReason, stopReasonMsg, logicCard); // // peakPrice, peakUsedElectricity, peakPlanLossElectricity, peakAmount, flatPrice, flatUsedElectricity, flatPlanLossElectricity, flatAmount,
// // valleyPrice, valleyUsedElectricity, valleyPlanLossElectricity, valleyAmount, ammeterTotalStart, ammeterTotalEnd, totalElectricity, planLossTotalElectricity,
// 交易记录封装到对象里 // // consumptionAmount, vinCode, transactionIdentifier, transactionTime, stopReason, stopReasonMsg, logicCard);
TransactionRecordsData data = TransactionRecordsData.builder() // //
// .orderCode(transactionCode) // // // 交易记录封装到对象里
.transactionCode(transactionCode) // // TransactionRecordsData data = TransactionRecordsData.builder()
.pileSn(pileSn) // // // .orderCode(transactionCode)
.connectorCode(connectorCode) // // .transactionCode(transactionCode)
.startTime(startTime) // // .pileSn(pileSn)
.endTime(endTime) // // .connectorCode(connectorCode)
.sharpPrice(sharpPrice) // // .startTime(startTime)
.sharpUsedElectricity(sharpUsedElectricity) // // .endTime(endTime)
.sharpPlanLossElectricity(sharpPlanLossElectricity) // // .sharpPrice(sharpPrice)
.sharpAmount(sharpAmount) // // .sharpUsedElectricity(sharpUsedElectricity)
.peakPrice(peakPrice) // // .sharpPlanLossElectricity(sharpPlanLossElectricity)
.peakUsedElectricity(peakUsedElectricity) // // .sharpAmount(sharpAmount)
.peakPlanLossElectricity(peakPlanLossElectricity) // // .peakPrice(peakPrice)
.peakAmount(peakAmount) // // .peakUsedElectricity(peakUsedElectricity)
.flatPrice(flatPrice) // // .peakPlanLossElectricity(peakPlanLossElectricity)
.flatUsedElectricity(flatUsedElectricity) // // .peakAmount(peakAmount)
.flatPlanLossElectricity(flatPlanLossElectricity) // // .flatPrice(flatPrice)
.flatAmount(flatAmount) // // .flatUsedElectricity(flatUsedElectricity)
.valleyPrice(valleyPrice) // // .flatPlanLossElectricity(flatPlanLossElectricity)
.valleyUsedElectricity(valleyUsedElectricity) // // .flatAmount(flatAmount)
.valleyPlanLossElectricity(valleyPlanLossElectricity) // // .valleyPrice(valleyPrice)
.valleyAmount(valleyAmount) // // .valleyUsedElectricity(valleyUsedElectricity)
.ammeterTotalStart(ammeterTotalStart) // // .valleyPlanLossElectricity(valleyPlanLossElectricity)
.ammeterTotalEnd(ammeterTotalEnd) // // .valleyAmount(valleyAmount)
// .totalElectricity(totalElectricity) // // .ammeterTotalStart(ammeterTotalStart)
.planLossTotalElectricity(planLossTotalElectricity) // // .ammeterTotalEnd(ammeterTotalEnd)
.consumptionAmount(consumptionAmount) // // // .totalElectricity(totalElectricity)
.vinCode(vinCode) // // .planLossTotalElectricity(planLossTotalElectricity)
.transactionIdentifier(transactionIdentifier) // // .consumptionAmount(consumptionAmount)
.transactionTime(transactionTime) // // .vinCode(vinCode)
.stopReasonMsg(stopReasonMsg) // // .transactionIdentifier(transactionIdentifier)
.logicCard(logicCard) // // .transactionTime(transactionTime)
.build(); // // .stopReasonMsg(stopReasonMsg)
// // .logicCard(logicCard)
boolean flag = !StringUtils.equals("0000000000000000", "a511101970000000"); // // .build();
System.out.println(flag); // //
// // boolean flag = !StringUtils.equals("0000000000000000", "a511101970000000");
}*/ // // System.out.println(flag);
//
// }
@Override @Override
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) { public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) {
@@ -559,6 +561,7 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
.vinCode(vinCode) .vinCode(vinCode)
.transactionIdentifier(transactionIdentifier) .transactionIdentifier(transactionIdentifier)
.transactionTime(transactionTime) .transactionTime(transactionTime)
.stopReasonCode(stopReason)
.stopReasonMsg(stopReasonMsg) .stopReasonMsg(stopReasonMsg)
.logicCard(logicCard) .logicCard(logicCard)
.build(); .build();
@@ -635,6 +638,9 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
orderBasicInfo.setChargeEndTime(new Date()); orderBasicInfo.setChargeEndTime(new Date());
} }
// 将停止原因码存库
orderBasicInfo.setStopReasonCode("0x" + data.getStopReasonCode());
orderBasicInfoService.updateOrderBasicInfo(orderBasicInfo); orderBasicInfoService.updateOrderBasicInfo(orderBasicInfo);
// 重新查询订单信息 // 重新查询订单信息

View File

@@ -95,6 +95,11 @@ public class OrderVO {
*/ */
private String orderStatus; private String orderStatus;
/**
* 停止原因码
*/
private String stopReasonCode;
/** /**
* 订单异常原因 * 订单异常原因
*/ */

View File

@@ -39,6 +39,11 @@ public class UniAppOrderVO {
*/ */
private String pileConnectorCode; private String pileConnectorCode;
/**
* 停止充电原因码
*/
private String stopReasonCode;
/** /**
* 异常原因 * 异常原因
*/ */

View File

@@ -62,6 +62,7 @@ public class OrderDetailInfoVO {
private String vinCode; // vin号 private String vinCode; // vin号
private String startTime; // 充电开始时间 private String startTime; // 充电开始时间
private String endTime; // 充电结束时间 private String endTime; // 充电结束时间
private String stopReasonCode; // 停止原因码
private String stopReasonMsg; // 停止原因 private String stopReasonMsg; // 停止原因
private String createTime; // 订单创建时间 private String createTime; // 订单创建时间
private String startSOC; // 开始SOC private String startSOC; // 开始SOC

View File

@@ -2433,6 +2433,7 @@
t1.order_code as orderCode, t1.order_code as orderCode,
t1.transaction_code as transactionCode, t1.transaction_code as transactionCode,
t1.order_status as orderStatus, t1.order_status as orderStatus,
t1.stop_reason_code as stopReasonCode,
t1.reason, t1.reason,
t1.station_id as stationId, t1.station_id as stationId,
t3.station_name as stationName, t3.station_name as stationName,