Browse Source

兼容寄存器=01为授权

master
zhizhi wu 5 years ago
parent
commit
eee5c0f915
  1. 32
      ccmq/src/main/java/com/ccsens/ccmq/lowlevel/client/netty/tcphexserver/ModbusConverter.java
  2. 6
      ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java
  3. 66
      ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/common/MessageConstant.java
  4. 6
      ccmq/src/main/java/wiki/tall/ccmq/common/TallMessageApplication.java

32
ccmq/src/main/java/com/ccsens/ccmq/lowlevel/client/netty/tcphexserver/ModbusConverter.java

@ -44,6 +44,13 @@ public class ModbusConverter {
break; break;
} }
default:{ default:{
// TODO 兼容智慧平车旧版本的授权操作,智慧平车修改后,即可删除此if语句
MessageConstant.Register type = MessageConstant.Register.valueOf(data[0], data[1] );
if (type == MessageConstant.Register.Auth) {
message = toOldAuthMessage(register,ccModBusEntity.getValue());
return message;
}
// 读写操作 // 读写操作
message = new InMessage(); message = new InMessage();
message.setData(JacksonUtil.beanToJson(new ModBusMessage(ccModBusEntity.getAddr(), register,oper,ccModBusEntity.getModbusData()))); message.setData(JacksonUtil.beanToJson(new ModBusMessage(ccModBusEntity.getAddr(), register,oper,ccModBusEntity.getModbusData())));
@ -115,6 +122,31 @@ public class ModbusConverter {
return inMessage; return inMessage;
} }
/**
* OriginaData ==> 0x00 0x00 0x00 0x64
* 授权
* @param register 业务类型
* @param values 授权数据 主版本 次版本 授权ID
* @return
*/
private static InMessage toOldAuthMessage(short register, byte[] values) throws JsonProcessingException {
if (values == null || values.length < 1) {
return null;
}
long userId = 0;
for(int i=0;i<values.length;i++){
userId <<= 8;
userId |= values[i] & 0xFF;
}
AuthMessage message = new AuthMessage(userId);
InMessage inMessage = new InMessage();
inMessage.setData(JacksonUtil.beanToJson(message));
inMessage.setToDomain(MessageConstant.DomainType.Server);
return inMessage;
}
public static CCModBusEntity convertCommonProtocolToCCModbus(OutMessage outMessage) throws IOException { public static CCModBusEntity convertCommonProtocolToCCModbus(OutMessage outMessage) throws IOException {
CCModBusEntity ccModBusEntity = null; CCModBusEntity ccModBusEntity = null;

6
ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java

@ -47,4 +47,10 @@ public class AuthMessage extends ServerMessage {
data.setMajor(major); data.setMajor(major);
data.setMinor(minor); data.setMinor(minor);
} }
public AuthMessage(Long authId){
this();
data = new Data();
data.setAuthId(authId);
}
} }

66
ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/common/MessageConstant.java

@ -18,39 +18,39 @@ public class MessageConstant {
} }
// /** /**
// * 寄存器地址 * 寄存器地址
// */ */
// public enum Register{ public enum Register{
// /**授权*/ /**授权*/
// Auth((byte) 0x00, (byte) 0x01), Auth((byte) 0x00, (byte) 0x01),
// /**心跳*/ /**心跳*/
// Ping((byte) 0x00, (byte) 0x02), Ping((byte) 0x00, (byte) 0x02),
// ; ;
//
// public byte first; public byte first;
// public byte second; public byte second;
//
// Register(byte first, byte second){ Register(byte first, byte second){
// this.first = first; this.first = first;
// this.second = second; this.second = second;
//
// } }
//
// public long getAddr(){ public long getAddr(){
// long addr = ((long)first << 8 | second) & 0xFFFF; long addr = ((long)first << 8 | second) & 0xFFFF;
// return addr; return addr;
// } }
//
// public static Register valueOf(byte first, byte second) { public static Register valueOf(byte first, byte second) {
// for(Register register : Register.values()){ for(Register register : Register.values()){
// if (register.first == first && register.second == second) { if (register.first == first && register.second == second) {
// return register; return register;
// } }
// } }
// return null; return null;
// } }
// } }
public enum ClientMessageType{ public enum ClientMessageType{
//客户端心跳 //客户端心跳

6
ccmq/src/main/java/wiki/tall/ccmq/common/TallMessageApplication.java

@ -58,8 +58,8 @@ public class TallMessageApplication implements CommandLineRunner {
nettyWsServer.start(); nettyWsServer.start();
nettyMBServer.start(); nettyMBServer.start();
nettyTextServer.start(); nettyTextServer.start();
// for(int i=0;i<1;i++) { for(int i=0;i<1;i++) {
// messageHandler.loopSendMessage(); messageHandler.loopSendMessage();
// } }
} }
} }

Loading…
Cancel
Save