发送遥控地锁指令

This commit is contained in:
2023-08-02 10:20:43 +08:00
parent 1065a81db7
commit 0c45524a0d
4 changed files with 73 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
package com.jsowell.pile.domain.ykcCommond;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 遥控地锁指令
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RemoteControlGroundLockCommand {
/**
* 桩编号
*/
private String pileSn;
/**
* 枪口编号
*/
private String connectorCode;
/**
* 地锁操作
* 0-降 1-升
*/
private String operate;
}

View File

@@ -71,4 +71,10 @@ public interface YKCPushCommandService {
* @param command
*/
void pushAccountBalanceUpdateCommand(RemoteAccountBalanceUpdateCommand command);
/**
* 发送遥控地锁升锁与降锁命令
*
*/
void pushRemoteControlGroundLock(RemoteControlGroundLockCommand command);
}

View File

@@ -39,6 +39,9 @@ import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 向充电桩发送指令service
*/
@Slf4j
@Service
public class YKCPushCommandServiceImpl implements YKCPushCommandService {
@@ -434,4 +437,36 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
this.push(msg, pileSn, YKCFrameTypeCode.REMOTE_ACCOUNT_BALANCE_UPDATE_CODE);
}
/**
* 遥控地锁
* @param command
*/
@Override
public void pushRemoteControlGroundLock(RemoteControlGroundLockCommand command) {
// 桩编号
String pileSn = command.getPileSn();
byte[] pileSnByteArr = BytesUtil.str2Bcd(pileSn);
// 枪口号
String connectorCode = command.getConnectorCode();
byte[] connectorCodeByteArr = BytesUtil.str2Bcd(connectorCode);
// 升/降地锁 BCD 码 1 升锁 0X55降锁 0XFF
byte[] operateByteArr;
if (Constants.ZERO.equals(command.getOperate())) {
operateByteArr = new byte[]{(byte) 0XFF};
} else {
operateByteArr = new byte[]{0X55};
}
// 预留位 BIN 码 4 全部置 0 (可用于多枪)
String obligate = "0000";
byte[] obligateByteArr = BytesUtil.str2Bcd(obligate);
// 拼装msg信息
byte[] msg = Bytes.concat(pileSnByteArr, connectorCodeByteArr, operateByteArr, obligateByteArr);
this.push(msg, pileSn, YKCFrameTypeCode.REMOTE_CONTROL_GROUND_LOCK_LIFTING_CODE);
}
}