diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/GroundLockData.java b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/GroundLockData.java index 5be33f543..4c882eb0f 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/GroundLockData.java +++ b/jsowell-common/src/main/java/com/jsowell/common/core/domain/ykc/GroundLockData.java @@ -25,6 +25,9 @@ public class GroundLockData { /** * 车位锁状态 + * 0x00:未到位状态 + * 0x55:升锁到位状态 + * 0xFF:降锁到位状态 */ private String parkingLockStatus; diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java index 40f9bec08..d00f18459 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java @@ -7,6 +7,7 @@ import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.factory.YKCOperateFactory; import io.netty.channel.Channel; @@ -95,6 +96,24 @@ public class GroundLockDataUploadHandler extends AbstractHandler{ log.info("[===地锁数据上送===] result: 桩编码:{}, 枪号:{}, 车位锁状态:{}, 车位状态:{}, 地锁电量状态:{}, 报警状态:{}", pileSn, connectorCode, parkingLockStatus, parkingStatus, groundLockElectric, alarmStatus); + + if (StringUtils.equals(parkingLockStatus, "00")) { + log.info("0x61地锁数据,车位锁状态:未到位状态"); + } else if (StringUtils.equals(parkingLockStatus, "55")) { + log.info("0x61地锁数据,车位锁状态:升锁到位状态"); + if (StringUtils.equals(parkingStatus, "00")) { + log.info("0x61地锁数据,车位锁状态: 升锁到位状态, 车位状态: 无车辆"); + } else { + log.info("0x61地锁数据,车位锁状态: 升锁到位状态, 车位状态: 停放车辆"); + } + } else if (StringUtils.equals(parkingLockStatus, "FF")) { + log.info("0x61地锁数据,车位锁状态:降锁到位状态"); + if (StringUtils.equals(parkingStatus, "00")) { + log.info("0x61地锁数据,车位锁状态: 降锁到位状态, 车位状态: 无车辆"); + } else { + log.info("0x61地锁数据,车位锁状态: 降锁到位状态, 车位状态: 停放车辆"); + } + } return null; } } diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/RemoteControlGroundLockResponseHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/RemoteControlGroundLockResponseHandler.java index 02c6d1c49..51259d7d2 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/RemoteControlGroundLockResponseHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/RemoteControlGroundLockResponseHandler.java @@ -16,6 +16,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Locale; import java.util.Objects; /** @@ -60,7 +61,7 @@ public class RemoteControlGroundLockResponseHandler extends AbstractHandler{ // 升/降地锁标识 升锁 0X55,降锁 0XFF startIndex += length; byte[] raiseLowMarkingByteArr = BytesUtil.copyBytes(msgBody, startIndex, length); - String raiseLowMarking = BytesUtil.bin2HexStr(raiseLowMarkingByteArr); + String raiseLowMarking = BytesUtil.bin2HexStr(raiseLowMarkingByteArr).toUpperCase(Locale.ROOT); // 地锁控制返回标志 布尔型( 1, 鉴权成功; 0, 鉴权失败) startIndex += length; @@ -75,24 +76,25 @@ public class RemoteControlGroundLockResponseHandler extends AbstractHandler{ log.info("===充电桩返回遥控地锁升锁与降锁数据(上行)=== result: 桩编号:{}, 枪号:{}, 升/降地锁标识:{}, 地锁控制返回标志:( 1, 鉴权成功; 0, 鉴权失败){}", pileSn, connectorCode,raiseLowMarking, controlResult); + // 鉴权成功 if (StringUtils.equals(controlResult, "01")) { - // 鉴权成功 - lowerTheGroundLock(pileSn, connectorCode); + if (StringUtils.equals(raiseLowMarking, "FF")) { + // 降锁 + lowerTheGroundLock(pileSn, connectorCode); + } else { + // 升锁 + raiseTheGroundLock(pileSn, connectorCode); + } } return null; } /** * 降锁成功的时候调用 - * lowerTheGroundLock - * raiseTheGroundLock - * @param pileSn - * @param connectorCode */ private void lowerTheGroundLock(String pileSn, String connectorCode) { // 查出占桩订单 草稿单 ,将开始时间set进订单信息 OrderPileOccupy orderInfo = orderPileOccupyService.getOrderInfoByPile(pileSn, connectorCode); - if (orderInfo == null) { return; } @@ -104,6 +106,9 @@ public class RemoteControlGroundLockResponseHandler extends AbstractHandler{ } } + /** + * 升锁成功时调用 + */ private void raiseTheGroundLock(String pileSn, String connectorCode) { orderPileOccupyService.stopOccupyPileOrder(pileSn, connectorCode); }