This commit is contained in:
2024-04-07 14:31:11 +08:00
parent ae07f5d743
commit 120cb43957
6 changed files with 148 additions and 27 deletions

View File

@@ -6,6 +6,9 @@ import com.jsowell.common.core.domain.ykc.GroundLockData;
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.enums.parkplatform.ParkingLockAlarmEnum;
import com.jsowell.common.enums.parkplatform.ParkingLockStatusEnum;
import com.jsowell.common.enums.parkplatform.ParkingStatusEnum;
import com.jsowell.common.enums.uniapp.OccupyOrderPayStatusEnum;
import com.jsowell.common.enums.uniapp.OccupyOrderStatusEnum;
import com.jsowell.common.util.BytesUtil;
@@ -70,11 +73,13 @@ public class GroundLockDataUploadHandler extends AbstractHandler{
byte[] parkingLockStatusByteArr = BytesUtil.copyBytes(msgBody, 8, 1);
// String parkingLockStatus = BytesUtil.bcd2Str(parkingLockStatusByteArr);
String parkingLockStatus = BytesUtil.bin2HexStr(parkingLockStatusByteArr).toUpperCase(Locale.ROOT);
String parkingLockStatusDesc = ParkingLockStatusEnum.getLabelByValue(parkingLockStatus);
// 车位状态 0x00无车辆 0xFF停放车辆
byte[] parkingStatusByteArr = BytesUtil.copyBytes(msgBody, 9, 1);
// String parkingStatus = BytesUtil.bcd2Str(parkingStatusByteArr);
String parkingStatus = BytesUtil.bin2HexStr(parkingStatusByteArr).toUpperCase(Locale.ROOT);
String parkingStatusDesc = ParkingStatusEnum.getLabelByValue(parkingStatus);
// 地锁电量状态 百分比值0~100
byte[] groundLockElectricByteArr = BytesUtil.copyBytes(msgBody, 10, 1);
@@ -84,37 +89,28 @@ public class GroundLockDataUploadHandler extends AbstractHandler{
byte[] alarmStatusByteArr = BytesUtil.copyBytes(msgBody, 11, 1);
// String alarmStatus = BytesUtil.bcd2Str(alarmStatusByteArr);
String alarmStatus = BytesUtil.bin2HexStr(alarmStatusByteArr).toUpperCase(Locale.ROOT);
String alarmStatusDesc = ParkingLockAlarmEnum.getLabelByValue(alarmStatus);
// 预留位 全部置0
byte[] waitingUseByteArr = BytesUtil.copyBytes(msgBody, 12, 4);
String waitingUse = BytesUtil.bcd2Str(waitingUseByteArr);
if (StringUtils.equals(parkingLockStatus, "55")) {
log.info("0x61地锁数据车位锁状态:升锁到位状态");
if (StringUtils.equals(parkingStatus, "00")) {
log.info("0x61地锁数据车位锁状态: 升锁到位状态, 车位状态: 无车辆");
if (StringUtils.equals(parkingLockStatus, ParkingLockStatusEnum.LOCKED_RAISED.getValue())) {
if (StringUtils.equals(parkingStatus, ParkingStatusEnum.NO_VEHICLES.getValue())) {
try {
raiseTheGroundLock(pileSn, connectorCode);
}catch (Exception e) {
log.error("升锁逻辑error,", e);
}
} 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地锁数据车位锁状态: 降锁到位状态, 车位状态: 停放车辆");
} else if (StringUtils.equals(parkingLockStatus, ParkingLockStatusEnum.LOCKED_LOWERED.getValue())) {
if (StringUtils.equals(parkingStatus, ParkingStatusEnum.PARKED_VEHICLES.getValue())) {
try {
lowerTheGroundLock(pileSn, connectorCode);
}catch (Exception e) {
log.error("降锁逻辑error,", e);
}
}
} else {
log.info("0x61地锁数据车位锁状态:未到位状态");
}
// 封装到对象中
@@ -132,8 +128,8 @@ public class GroundLockDataUploadHandler extends AbstractHandler{
String redisKey = CacheConstants.GROUND_LOCK_DATA + pileSn + connectorCode;
redisCache.setCacheObject(redisKey, data, CacheConstants.cache_expire_time_10m);
log.info("[===地锁数据上送===] result: 桩编码:{}, 枪号:{}, 车位锁状态:{}, 车位状态:{}, 地锁电量状态:{}, 报警状态:{}",
pileSn, connectorCode, parkingLockStatus, parkingStatus, groundLockElectric, alarmStatus);
log.info("[===地锁数据上送===] result: 桩编码:{}, 枪号:{}, 车位锁状态:{}, 车位锁状态描述:{}, 车位状态:{}, 车位状态描述:{}, 地锁电量状态:{}, 报警状态:{}, 报警状态描述:{}",
pileSn, connectorCode, parkingLockStatus, parkingLockStatusDesc, parkingStatus, parkingStatusDesc, groundLockElectric, alarmStatus, alarmStatusDesc);
return null;
}