From 2c03f24b6ee6caf699e2cbdb2f38af0df3372af7 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Sat, 6 Jul 2024 16:23:04 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=B8=AA=E4=BA=BA=E6=A1=A9=E5=85=85?= =?UTF-8?q?=E7=94=B5=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/ykc/TransactionRecordsData.java | 4 +- .../TransactionRecordsRequestHandler.java | 19 ++++-- .../mapper/PersonalChargingRecordMapper.java | 2 + .../PersonalChargingRecordService.java | 8 +++ .../PersonalChargingRecordServiceImpl.java | 58 +++++++++++++++++++ .../pile/PersonalChargingRecordMapper.xml | 8 +++ 6 files changed, 93 insertions(+), 6 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/TransactionRecordsData.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/TransactionRecordsData.java index 4376e2816..a69fc6aa7 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/TransactionRecordsData.java +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/TransactionRecordsData.java @@ -31,10 +31,10 @@ public class TransactionRecordsData { // 枪号 private String connectorCode; - // 开始时间 CP56Time2a 格式 + // 开始时间 yyyy-MM-dd HH:mm:ss private String startTime; - // 结束时间 + // 结束时间 yyyy-MM-dd HH:mm:ss private String endTime; // 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java index 1d5cd5ac6..473a46cf2 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/TransactionRecordsRequestHandler.java @@ -17,9 +17,8 @@ import com.jsowell.common.util.YKCUtils; import com.jsowell.common.util.id.IdUtils; import com.jsowell.netty.factory.YKCOperateFactory; import com.jsowell.pile.domain.OrderBasicInfo; -import com.jsowell.pile.service.OrderBasicInfoService; -import com.jsowell.pile.service.PileMerchantInfoService; -import com.jsowell.pile.service.PileMsgRecordService; +import com.jsowell.pile.domain.PileBasicInfo; +import com.jsowell.pile.service.*; import com.jsowell.pile.service.programlogic.AbstractProgramLogic; import com.jsowell.pile.service.programlogic.ProgramLogicFactory; import com.jsowell.thirdparty.common.CommonService; @@ -68,6 +67,12 @@ public class TransactionRecordsRequestHandler extends AbstractHandler { @Autowired private CommonService commonService; + @Autowired + private PileBasicInfoService pileBasicInfoService; + + @Autowired + private PersonalChargingRecordService personalChargingRecordService; + /*public static void main(String[] args) { BigDecimal totalElectricity = new BigDecimal("23.73"); @@ -588,6 +593,13 @@ public class TransactionRecordsRequestHandler extends AbstractHandler { * @param data */ private void processOrder(TransactionRecordsData data) { + String pileSn = data.getPileSn(); // 充电桩编号 + PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn); + if (StringUtils.equals(pileBasicInfo.getBusinessType(), Constants.TWO)) { + personalChargingRecordService.processPersonalChargingRecord(data); + return; + } + String transactionCode = data.getTransactionCode(); // 根据交易流水号查询订单信息 OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode); @@ -666,7 +678,6 @@ public class TransactionRecordsRequestHandler extends AbstractHandler { e.printStackTrace(); } }); - } else { // 平台没有查到订单 orderBasicInfoService.saveAbnormalOrder(data); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java index 576e8ffff..b3ad24b8b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java @@ -26,4 +26,6 @@ public interface PersonalChargingRecordMapper { int updateBatchSelective(List list); int batchInsert(@Param("list") List list); + + PersonalChargingRecord selectByTransactionCode(String transactionCode); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java index 36b84886e..4d9653b0c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java @@ -1,6 +1,8 @@ package com.jsowell.pile.service; import java.util.List; + +import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.pile.domain.PersonalChargingRecord; public interface PersonalChargingRecordService{ @@ -27,4 +29,10 @@ public interface PersonalChargingRecordService{ int batchInsert(List list); + /** + * 处理个人桩充电记录 + * + * @param data + */ + void processPersonalChargingRecord(TransactionRecordsData data); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java index abdc49767..7e8285371 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java @@ -1,7 +1,11 @@ package com.jsowell.pile.service.impl; +import com.jsowell.common.core.domain.ykc.TransactionRecordsData; +import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil; +import com.jsowell.common.util.DateUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; import com.jsowell.pile.mapper.PersonalChargingRecordMapper; import com.jsowell.pile.domain.PersonalChargingRecord; @@ -42,6 +46,10 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord return personalChargingRecordMapper.selectByPrimaryKey(id); } + public PersonalChargingRecord selectByTransactionCode(String transactionCode) { + return personalChargingRecordMapper.selectByTransactionCode(transactionCode); + } + @Override public int updateByPrimaryKeySelective(PersonalChargingRecord record) { return personalChargingRecordMapper.updateByPrimaryKeySelective(record); @@ -67,4 +75,54 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord return personalChargingRecordMapper.batchInsert(list); } + /** + * 处理个人桩充电记录 + * + * @param data + */ + @Override + public void processPersonalChargingRecord(TransactionRecordsData data) { + // 根据交易流水号查询,如果数据库没有就入库 + String transactionCode = data.getTransactionCode(); + PersonalChargingRecord chargingRecord = this.selectByTransactionCode(transactionCode); + if (chargingRecord == null) { + // 为空,数据保存到数据库 + chargingRecord = new PersonalChargingRecord(); + } + + // 处理数据 + chargingRecord.setTransactionCode(transactionCode); + chargingRecord.setStatus("6"); + chargingRecord.setMemberId(""); + chargingRecord.setStationId(""); + chargingRecord.setMerchantId(""); + chargingRecord.setPileSn(""); + chargingRecord.setConnectorCode(""); + chargingRecord.setPileConnectorCode(""); + chargingRecord.setLogicCard(""); + chargingRecord.setVinCode(""); + chargingRecord.setStartMode(""); + chargingRecord.setPlateNumber(""); + chargingRecord.setChargeStartTime(DateUtils.parseDate(data.getStartTime())); + chargingRecord.setChargeEndTime(DateUtils.parseDate(data.getEndTime())); + chargingRecord.setStartType(null); + chargingRecord.setReservationStartTime(null); + chargingRecord.setReservationEndTime(null); + chargingRecord.setStartSoc(null); + chargingRecord.setEndSoc(null); + BigDecimal sharpUsedElectricity = new BigDecimal(data.getSharpUsedElectricity()); + chargingRecord.setSharpUsedElectricity(sharpUsedElectricity); + BigDecimal peakUsedElectricity = new BigDecimal(data.getPeakUsedElectricity()); + chargingRecord.setPeakUsedElectricity(peakUsedElectricity); + BigDecimal flatUsedElectricity = new BigDecimal(data.getFlatUsedElectricity()); + chargingRecord.setFlatUsedElectricity(flatUsedElectricity); + BigDecimal valleyUsedElectricity = new BigDecimal(data.getValleyUsedElectricity()); + chargingRecord.setValleyUsedElectricity(valleyUsedElectricity); + BigDecimal totalUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity).add(flatUsedElectricity).add(valleyUsedElectricity); + chargingRecord.setTotalUsedElectricity(totalUsedElectricity); + chargingRecord.setReason(data.getStopReasonMsg()); + // 创建或更新 + personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord); + } + } diff --git a/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml index 16c615b2a..07d4c4669 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml @@ -1212,4 +1212,12 @@ + + \ No newline at end of file