From b8020e19cfb57a7a3847648f6cbc6f4c394a6cde Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 5 Jul 2024 14:36:57 +0800 Subject: [PATCH 1/7] update --- jsowell-admin/src/test/java/SpringBootTestController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index d159090b7..54acc21d1 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -70,6 +70,7 @@ import com.jsowell.pile.util.SnUtils; import com.jsowell.pile.vo.base.MemberWalletVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails; +import com.jsowell.pile.vo.uniapp.MemberPlateNumberVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO; import com.jsowell.pile.vo.web.*; @@ -265,6 +266,13 @@ public class SpringBootTestController { @Autowired private PileReservationInfoService pileReservationInfoService; + @Test + public void selectMemberPlateNumberRelationTest() { + String memberId = "25950857"; + List plateNumberVOList = memberPlateNumberRelationService.selectMemberPlateNumberRelation(memberId); + System.out.println(JSON.toJSONString(plateNumberVOList)); + } + @Test public void activateReservedTest() { PileReservationDTO dto = new PileReservationDTO(); 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 2/7] =?UTF-8?q?update=20=E4=B8=AA=E4=BA=BA=E6=A1=A9?= =?UTF-8?q?=E5=85=85=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 From 9285d06cb9d7d361e6663df5d11b7ce4e05f95dc Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 8 Jul 2024 09:37:57 +0800 Subject: [PATCH 3/7] =?UTF-8?q?update=20=E4=B8=AA=E4=BA=BA=E6=A1=A9?= =?UTF-8?q?=E5=85=85=E7=94=B5=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PersonalChargingRecordServiceImpl.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) 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 7e8285371..757b753b9 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 @@ -3,6 +3,9 @@ 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 com.jsowell.pile.domain.PileBasicInfo; +import com.jsowell.pile.service.PileBasicInfoService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; @@ -16,6 +19,9 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord @Resource private PersonalChargingRecordMapper personalChargingRecordMapper; + @Autowired + private PileBasicInfoService pileBasicInfoService; + @Override public int deleteByPrimaryKey(Integer id) { return personalChargingRecordMapper.deleteByPrimaryKey(id); @@ -90,17 +96,19 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord chargingRecord = new PersonalChargingRecord(); } + PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(data.getPileSn()); + // 处理数据 chargingRecord.setTransactionCode(transactionCode); chargingRecord.setStatus("6"); chargingRecord.setMemberId(""); - chargingRecord.setStationId(""); - chargingRecord.setMerchantId(""); - chargingRecord.setPileSn(""); - chargingRecord.setConnectorCode(""); - chargingRecord.setPileConnectorCode(""); - chargingRecord.setLogicCard(""); - chargingRecord.setVinCode(""); + chargingRecord.setStationId(pileBasicInfo.getStationId() + ""); + chargingRecord.setMerchantId(pileBasicInfo.getMerchantId() + ""); + chargingRecord.setPileSn(data.getPileSn()); + chargingRecord.setConnectorCode(data.getConnectorCode()); + chargingRecord.setPileConnectorCode(chargingRecord.getPileSn() + chargingRecord.getConnectorCode()); + chargingRecord.setLogicCard(data.getLogicCard()); + chargingRecord.setVinCode(data.getVinCode()); chargingRecord.setStartMode(""); chargingRecord.setPlateNumber(""); chargingRecord.setChargeStartTime(DateUtils.parseDate(data.getStartTime())); From 8ad38bd2ac03920cb8174796ed009ff600788dac Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 8 Jul 2024 10:11:39 +0800 Subject: [PATCH 4/7] =?UTF-8?q?update=20=E9=A2=84=E7=BA=A6=E5=90=AF?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/common/util/BytesUtil.java | 23 +++++++------------ .../impl/YKCPushCommandServiceImpl.java | 7 +++--- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java b/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java index 65a2f56b6..76a6ad6fe 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java @@ -2,6 +2,7 @@ package com.jsowell.common.util; import com.google.common.primitives.Bytes; import com.jsowell.common.constant.Constants; +import org.springframework.mail.MailMessage; import javax.xml.bind.DatatypeConverter; import java.io.UnsupportedEncodingException; @@ -424,6 +425,13 @@ public class BytesUtil { return asciiStr; } + public static void main(String[] args) { + String vin1 = "SAITER00000000001"; + byte[] bytes = str2Asc(vin1); + String s = ascii2Str(bytes); + System.out.println(s); + } + public static byte[] str2AscLittle(String str) { return revert(str2Asc(str)); } @@ -626,21 +634,6 @@ public class BytesUtil { return bytes; } - public static void main(String[] args) { - byte[] originalBytes = {1, 2, 3}; - int desiredLength = 5; - byte[] result = ensureLengthPrependZero(originalBytes, desiredLength); - - System.out.println("Original array: "); - for (byte b : originalBytes) { - System.out.print(b + " "); - } - System.out.println("\nResulting array with padding at the beginning: "); - for (byte b : result) { - System.out.print(b + " "); - } - } - /** * 确保byte数组长度至少为指定长度,不足则在前面补充0。 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java index 31b085ce6..bd03286ea 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java @@ -511,21 +511,22 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService { if (StringUtils.isBlank(vin1)) { vin1 = Constants.ZERO; } - byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1); + // byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1); + byte[] vin1ByteArr = BytesUtil.str2Asc(vin1); vin1ByteArr = BytesUtil.ensureLength(vin1ByteArr, 17); String vin2 = command.getVin2(); if (StringUtils.isBlank(vin2)) { vin2 = Constants.ZERO; } - byte[] vin2ByteArr = BytesUtil.str2Bcd(vin2); + byte[] vin2ByteArr = BytesUtil.str2Asc(vin2); vin2ByteArr = BytesUtil.ensureLength(vin2ByteArr, 17); String vin3 = command.getVin3(); if (StringUtils.isBlank(vin3)) { vin3 = Constants.ZERO; } - byte[] vin3ByteArr = BytesUtil.str2Bcd(vin3); + byte[] vin3ByteArr = BytesUtil.str2Asc(vin3); vin3ByteArr = BytesUtil.ensureLength(vin3ByteArr, 17); // 开始时间 From c0516b6daf42c6e49a97f4abdfe30533dac8c591 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 8 Jul 2024 11:06:11 +0800 Subject: [PATCH 5/7] =?UTF-8?q?update=20=E9=A2=84=E7=BA=A6=E5=90=AF?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/common/util/BytesUtil.java | 28 ++++++++++++++----- .../impl/PileReservationInfoServiceImpl.java | 2 +- .../impl/YKCPushCommandServiceImpl.java | 10 ------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java b/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java index 76a6ad6fe..eaeaf2801 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/BytesUtil.java @@ -8,6 +8,7 @@ import javax.xml.bind.DatatypeConverter; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.time.LocalDateTime; +import java.util.Arrays; import java.util.Date; import java.util.Stack; @@ -403,6 +404,11 @@ public class BytesUtil { return rightPadBytes(target, len, b); } + /** + * ASCII转字符串 小端模式 + * @param ascs + * @return + */ public static String ascii2StrLittle(byte[] ascs) { byte[] data = revert(ascs); String asciiStr = null; @@ -414,6 +420,11 @@ public class BytesUtil { return asciiStr; } + /** + * ASCII转字符串 + * @param ascs + * @return + */ public static String ascii2Str(byte[] ascs) { byte[] data = ascs; String asciiStr = null; @@ -425,17 +436,20 @@ public class BytesUtil { return asciiStr; } - public static void main(String[] args) { - String vin1 = "SAITER00000000001"; - byte[] bytes = str2Asc(vin1); - String s = ascii2Str(bytes); - System.out.println(s); - } - + /** + * 字符串转ASCII 小端模式 + * @param str + * @return + */ public static byte[] str2AscLittle(String str) { return revert(str2Asc(str)); } + /** + * 字符串转ASCII + * @param str + * @return + */ public static byte[] str2Asc(String str) { byte[] bytes = null; try { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java index 08a804136..42ee308bd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java @@ -184,7 +184,7 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic } // 如果 vinCodes 的数量少于 3,用 "0" 补足 while (vinCodes.size() < 3) { - vinCodes.add("0"); + vinCodes.add(""); } String type = StringUtils.equals(pileReservationInfo.getReservationType(), "single") ? "00" : "01"; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java index bd03286ea..9a26bc84b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java @@ -508,24 +508,14 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService { // VIN1 String vin1 = command.getVin1(); - if (StringUtils.isBlank(vin1)) { - vin1 = Constants.ZERO; - } - // byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1); byte[] vin1ByteArr = BytesUtil.str2Asc(vin1); vin1ByteArr = BytesUtil.ensureLength(vin1ByteArr, 17); String vin2 = command.getVin2(); - if (StringUtils.isBlank(vin2)) { - vin2 = Constants.ZERO; - } byte[] vin2ByteArr = BytesUtil.str2Asc(vin2); vin2ByteArr = BytesUtil.ensureLength(vin2ByteArr, 17); String vin3 = command.getVin3(); - if (StringUtils.isBlank(vin3)) { - vin3 = Constants.ZERO; - } byte[] vin3ByteArr = BytesUtil.str2Asc(vin3); vin3ByteArr = BytesUtil.ensureLength(vin3ByteArr, 17); From f6862471d1bad304001a0ce2e63a8fd5015e33da Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 8 Jul 2024 11:31:10 +0800 Subject: [PATCH 6/7] =?UTF-8?q?update=20=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jsowell/service/MemberService.java | 9 ++++----- .../main/java/com/jsowell/pile/dto/AlipayLoginDTO.java | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index 7ef2ea26f..1a432bac3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -315,7 +315,7 @@ public class MemberService { .requestSource(dto.getRequestSource()) .firstLevelMerchantId(firstLevelMerchantId) .mobileNumber(dto.getMobileNumber()) - .buyerId(dto.getOpenId()) + .buyerId(dto.getUserId()) .build(); return memberRegisterAndLogin(loginDTO); // 支付宝小程序一键登录 } @@ -337,10 +337,9 @@ public class MemberService { throw new BusinessException(ReturnCodeEnum.CODE_ALIPAY_ACCESS_TOKEN_ERROR); } log.info("支付宝getAccessToken:{}", JSON.toJSONString(response)); - String accessToken = response.getAccessToken(); - dto.setAccessToken(accessToken); - String openId = response.getOpenId(); - dto.setOpenId(openId); + dto.setAccessToken(response.getAccessToken()); + dto.setOpenId(response.getOpenId()); + dto.setUserId(response.getUserId()); } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/AlipayLoginDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/AlipayLoginDTO.java index adc7e433f..20d01a83d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/AlipayLoginDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/AlipayLoginDTO.java @@ -26,5 +26,7 @@ public class AlipayLoginDTO extends BaseDTO{ private String openId; + private String userId; + private String mobileNumber; } From 1dd72529ef363ff1eaba9e1293867068c1c1ef17 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 8 Jul 2024 13:50:12 +0800 Subject: [PATCH 7/7] =?UTF-8?q?update=20=E9=A2=84=E7=BA=A6=E5=90=AF?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java | 2 ++ .../pile/service/impl/PileReservationInfoServiceImpl.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 9ad7192d4..72c8b2676 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -177,6 +177,8 @@ public enum ReturnCodeEnum { CODE_UPDATE_RESERVED_STATUS_REFUSED("00400016", "时间与现有预订重叠"), + CODE_RESERVATION_ALREADY_EXISTS_ERROR("00400017", "已经存在生效中的预约,请关闭后再试"), + /* 个人桩 end */ CODE_THIS_CARNO_HAS_BEEN_BINDING("00500001", "当前车牌号已经绑定,请检查!"), diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java index 42ee308bd..ec08ba362 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java @@ -15,6 +15,7 @@ import com.jsowell.pile.service.PileBasicInfoService; import com.jsowell.pile.service.PileRemoteService; import com.jsowell.pile.vo.uniapp.MemberPlateNumberVO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -111,6 +112,12 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic */ @Override public void activateReserved(PileReservationDTO dto) { + // 查询其他生效中的预约 + List infoList = pileReservationInfoMapper.findByMemberIdAndPileSnAndStatus(dto.getMemberId(), dto.getPileSn(), "1"); + if (CollectionUtils.isNotEmpty(infoList)) { + throw new BusinessException(ReturnCodeEnum.CODE_RESERVATION_ALREADY_EXISTS_ERROR); + } + PileReservationInfo pileReservationInfo = pileReservationInfoMapper.selectByPrimaryKey(Integer.parseInt(dto.getReservedId())); if (pileReservationInfo == null) { return;