diff --git a/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java b/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java index 3854b8a..135617a 100644 --- a/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java +++ b/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/MessageHandler.java @@ -277,15 +277,18 @@ public class MessageHandler { AuthMessage inSysData = JacksonUtil.jsonToBean(data, AuthMessage.class); if(null != inSysData.getData()){ - if(StrUtil.isNotEmpty(inSysData.getData().getToken())) { - logger.info("token授权"); - String userId = getUserService().getUserIdByToken(inSysData.getData().getToken()); + if(StrUtil.isNotEmpty(inSysData.getData().getToken()) || StrUtil.isNotEmpty(inSysData.getData().getUserId())) { + String userId = inSysData.getData().getUserId(); + if(StrUtil.isEmpty(userId)){ + userId = getUserService().getUserIdByToken(inSysData.getData().getToken()); + } if(StrUtil.isNotEmpty(userId)){ ChannelManager.authChannel(ChannelManager.getCurrentChannel(),userId,inSysData.getData().getMajor(),inSysData.getData().getMinor(), inSysData.getMessage()); onClientOnLine(MessageConstant.DomainType.User,userId); authSuccess = true; } } else if (inSysData.getData().getAuthId() != null) { + //硬件授权 logger.info("authid授权"); // authId有值默认授权通过 ChannelManager.authChannel(ChannelManager.getCurrentChannel(),String.valueOf(inSysData.getData().getAuthId()),inSysData.getData().getMajor(),inSysData.getData().getMinor(), inSysData.getMessage()); @@ -450,7 +453,7 @@ public class MessageHandler { } case CCModBusEntity.Oper.WRITE_MORE : { // 写多个寄存器 - // 2. 如果是写操作且值发生改变,放到mq里 + // 2. 如果是写操作,放到mq里 byte[] modBusData = modBusMessage.getData().getModBusData(); // 读起始寄存器地址 int startAddr = CCModBusEntity.getRegisterStartAddr(modBusData); @@ -459,6 +462,7 @@ public class MessageHandler { Map register = wrapperedChannel.getRegister(); // 授权数据 Long authId = register.get(String.valueOf(MessageConstant.Register.Auth.getAddr())); + OutMessageSet set = new OutMessageSet(); for (int i = 0; i < num; i++) { // 寄存器的原始数据 Long origin = register.get(String.valueOf(startAddr)); @@ -471,20 +475,20 @@ public class MessageHandler { if (origin == null || origin.longValue() != value) { register.put(String.valueOf(startAddr), value); logger.info("寄存器数据:{}", register); - // 数据不一致,放到消息队列里 - Register register1 = new Register(); - register1.setAuthId(authId); - register1.setAddr(startAddr+i); - register1.setValue(value); - OutMessage outMessage1 = new OutMessage(JacksonUtil.beanToJson(register1)); - OutMessageSet set = new OutMessageSet(); - set.add(outMessage1); - messageHandler.rabbitTemplate.convertAndSend("wisdom_car", - JacksonUtil.beanToJson(set)); - logger.info("modbus通知mq:{}", set); } - + // 放到消息队列里 + Register register1 = new Register(); + register1.setAuthId(authId); + register1.setAddr(startAddr+i); + register1.setValue(value); + OutMessage outMessage1 = new OutMessage(JacksonUtil.beanToJson(register1)); + set.add(outMessage1); + } + if (CollectionUtil.isEmpty(set.getMessageSet())) { + messageHandler.rabbitTemplate.convertAndSend("wisdom_car", + JacksonUtil.beanToJson(set)); + logger.info("modbus通知mq:{}", set); } // 3. 封装返回值 outMessage = new OutMessage(JacksonUtil.beanToJson(new ModBusAckMessage(modBusData))); diff --git a/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java b/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java index 8765350..06f4420 100644 --- a/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java +++ b/ccmq/src/main/java/com/ccsens/ccmq/lowlevel/message/client/AuthMessage.java @@ -17,6 +17,7 @@ public class AuthMessage extends ServerMessage { public static class Data{ private String token; private Long authId; + private String userId; // 主版本号 private int major; // 此版本号 diff --git a/ccmq/src/main/java/wiki/tall/ccmq/common/util/ImgUtil.java b/ccmq/src/main/java/wiki/tall/ccmq/common/util/ImgUtil.java index d4f92c1..71553ff 100644 --- a/ccmq/src/main/java/wiki/tall/ccmq/common/util/ImgUtil.java +++ b/ccmq/src/main/java/wiki/tall/ccmq/common/util/ImgUtil.java @@ -1,13 +1,13 @@ -package wiki.tall.ccmq.common.util; - -import sun.font.FontDesignMetrics; - -import java.awt.*; - -public class ImgUtil { - public static int getStringWidth(String text,Font f){ - FontMetrics fm = FontDesignMetrics.getMetrics(f); - int w = fm.stringWidth(text); - return w; - } -} +//package wiki.tall.ccmq.common.util; +// +//import sun.font.FontDesignMetrics; +// +//import java.awt.*; +// +//public class ImgUtil { +// public static int getStringWidth(String text,Font f){ +// FontMetrics fm = FontDesignMetrics.getMetrics(f); +// int w = fm.stringWidth(text); +// return w; +// } +//} diff --git a/ccmq/src/main/resources/application-prod.properties b/ccmq/src/main/resources/application-prod.properties index ec2926f..e343dbc 100644 --- a/ccmq/src/main/resources/application-prod.properties +++ b/ccmq/src/main/resources/application-prod.properties @@ -14,7 +14,7 @@ spring.servlet.multipart.max-request-size=100MB spring.redis.database=0 spring.redis.host=127.0.0.1 spring.redis.port=6379 -spring.redis.password= +spring.redis.password=areowqr!@43ef spring.redis.timeout=1000ms spring.redis.jedis.pool.max-active=200 spring.redis.jedis.pool.max-wait=-1ms diff --git a/eureka/pom.xml b/eureka/pom.xml index bdc359a..83152d0 100644 --- a/eureka/pom.xml +++ b/eureka/pom.xml @@ -28,12 +28,6 @@ 2.1.6 compile - - de.codecentric - spring-boot-admin-server - 2.1.6 - compile -