pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -58,7 +58,21 @@ */ @GetMapping("/rtuLogFile") public void rtuLogFile(String rtuAddr, HttpServletRequest req, HttpServletResponse rep){ File logFile = ResourceUnit.getInstance().getLogFile(rtuAddr + ".log") ; logFile(rtuAddr, req, rep) ; } /** * ä¸è½½æ§å¶å¨ï¼RTUï¼ä¸ä¸è¡æ°æ®çlogæ¥å¿æä»¶ * @param devId * @param req * @param rep */ @GetMapping("/mqttDevLogFile") public void mqttDevLogFile(String devId, HttpServletRequest req, HttpServletResponse rep){ logFile(devId, req, rep) ; } private void logFile(String fileName, HttpServletRequest req, HttpServletResponse rep){ File logFile = ResourceUnit.getInstance().getLogFile(fileName + ".log") ; if(logFile != null && logFile.exists()){ //å¨Spring Bootä¸ï¼application/octet-stream;charset=UTF-8é常表示ååºçå 容æ¯åèæµï¼ //å¹¶ä¸åç¬¦éæ¯UTF-8ã对äºè¿ç§ç±»åçååºï¼Spring Booté»è®¤ä½¿ç¨ByteArrayHttpMessageConverteræ¥å¤çï¼ @@ -67,7 +81,7 @@ //å符éé常ç¨äºææ¬å 容ï¼èapplication/octet-streamé常ç¨äºäºè¿å¶å 容ï¼å æ¤å¨è¿ç§æ åµä¸æå®å符éå¯è½æ¯ä¸åéçã //ä¸è¿ï¼å¦æä½ ç¡®å®éè¦å¤ç带æç¹å®å符éçapplication/octet-streamååºï¼ä½ å¯è½éè¦èªå®ä¹HttpMessageConverterã rep.addHeader("content-type", "application/octet-stream;charset=UTF-8"); rep.addHeader("Content-Disposition", "attachment;fileName=" + (rtuAddr + ".log")) ; rep.addHeader("Content-Disposition", "attachment;fileName=" + (fileName + ".log")) ; ServletOutputStream out = null; FileInputStream in = null ; try { @@ -112,27 +126,38 @@ */ @GetMapping("/rtuLogText") public BaseResponse<List<String>> rtuLogText(String rtuAddr){ return logText(rtuAddr, true) ; } /** * ä¸è½½æ§å¶å¨ï¼RTUï¼ä¸ä¸è¡æ°æ®çlogæ¥å¿æä»¶ * @param devId */ @GetMapping("/mqttDevLogText") public BaseResponse<List<String>> mqttDevLogText(String devId){ return logText(devId, false) ; } /** * ä¸è½½æ§å¶å¨ï¼RTUï¼ä¸ä¸è¡æ°æ®çlogæ¥å¿æä»¶ * @param fileName * @param reverseOrder */ private BaseResponse<List<String>> logText(String fileName, boolean reverseOrder){ List<String> list ; File logFile = ResourceUnit.getInstance().getLogFile(rtuAddr + ".log") ; File logFile = ResourceUnit.getInstance().getLogFile(fileName + ".log") ; if(logFile != null && logFile.exists()){ BufferedReader reader = null ; try { reader = new BufferedReader(new FileReader(logFile)) ; //æ°çå®ç°æ¹æ³ Stream<String> linesStream = reader.lines() ; //list = linesStream.toList() ; //æåæ¥é¡ºåº list = linesStream.sorted(Comparator.reverseOrder()).collect(Collectors.toList()) ;//ååº /* 忥çå®ç°æ¹æ³ list = new ArrayList() ; String line ; while((line = reader.readLine()) != null){ list.add(line) ; if(reverseOrder){ list = linesStream.sorted(Comparator.reverseOrder()).collect(Collectors.toList()) ;//ååº }else{ list = linesStream.toList() ; //æåæ¥é¡ºåº } */ return BaseResponseUtils.buildSuccess(list); } catch (Exception e) { list = new ArrayList() ; list.add("è¯»åæ§å¶å¨ï¼" + rtuAddr + "ï¼çæ¥å¿æä»¶å¼å¸¸ï¼" + (e.getMessage() == null?"":("ï¼" + e.getMessage()))) ; list.add("è¯»åæ§å¶å¨ï¼" + fileName + "ï¼çæ¥å¿æä»¶å¼å¸¸ï¼" + (e.getMessage() == null?"":("ï¼" + e.getMessage()))) ; return BaseResponseUtils.buildSuccess(list); }finally{ if(reader != null){ @@ -144,7 +169,7 @@ } }else{ list = new ArrayList() ; list.add("æªå¾å°æ§å¶å¨ï¼" + rtuAddr + "ï¼çæ¥å¿æä»¶") ; list.add("æªå¾å°æ§å¶å¨ï¼" + fileName + "ï¼çæ¥å¿æä»¶") ; return BaseResponseUtils.buildSuccess(list); } } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
@@ -10,7 +10,7 @@ # çå·ï¼ gz # åå·ï¼ lz # éå·ï¼ jc base.orgTag=mq base.orgTag=ym # 233æå¡å¨ï¼ # å è°ï¼ 60000 @@ -45,7 +45,7 @@ # çå·ï¼ mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos= # åå·ï¼ mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos= # éå·ï¼ mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather,1;soil,1;manure,1;state,1 mqtt.enable=true mqtt.enable=false mqtt.protocolAndDeviceIds=sd1/338220031439,sd1/338220031440 mqtt.subTopicAndQos=weather,1;soil,1;manure,1;state,1 #MQtt设å¤å¨ä¸å®æ¶é´ï¼åéï¼åæªå叿¶æ¯ï¼è®¤ä¸ºè®¾å¤ç¦»çº¿ pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamKey.java
@@ -31,6 +31,8 @@ public static final String TcpPort = "tcpPort" ; public static final String UpDataMinInterval = "upDataMinInterval" ; public static final String WebPort = "webPort" ; public static final String MqttEnable = "mqttEnable" ; public static final String MqttNoSubThenOff = "noSubThenOff" ; public static final String ActutorPort = "actutorPort" ; public static final String DbName = "dbName" ; } pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/java/com/dy/pipIrrParamSet/paramSet/ParamSetMw.java
@@ -121,6 +121,10 @@ newLine = "tcp.port=" + paramMap.get(ParamKey.TcpPort); }else if(newLine != null && newLine.trim().startsWith("base.upData.min.interval=")){ newLine = "base.upData.min.interval=" + paramMap.get(ParamKey.UpDataMinInterval); }else if(newLine != null && newLine.trim().startsWith("mqtt.enable=")){ newLine = "mqtt.enable=" + paramMap.get(ParamKey.MqttEnable); }else if(newLine != null && newLine.trim().startsWith("mqtt.noSubThenOff=")){ newLine = "mqtt.noSubThenOff=" + paramMap.get(ParamKey.MqttNoSubThenOff); } newLines.add(newLine); } @@ -150,6 +154,12 @@ key = ParamKey.WebPort; this.getConfig(env, map, paramNamePre + key, key); key = ParamKey.MqttEnable; this.getConfig(env, map, paramNamePre + key, key); key = ParamKey.MqttNoSubThenOff; this.getConfig(env, map, paramNamePre + key, key); key = ParamKey.ActutorPort; this.getConfig(env, map, paramNamePre + key, key); pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/resources/application-params.yml
@@ -4,6 +4,8 @@ orgTag: ym tcpPort: 60000 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8070 actutorPort: 9070 dbName: pipIrr_ym @@ -11,6 +13,8 @@ orgTag: sp tcpPort: 62000 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8073 actutorPort: 9073 dbName: pipIrr_sp @@ -18,6 +22,8 @@ orgTag: test tcpPort: 65000 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8072 actutorPort: 9072 dbName: pipIrr_test @@ -25,6 +31,8 @@ orgTag: mj tcpPort: 61000 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8071 actutorPort: 9071 dbName: pipIrr_mj @@ -33,6 +41,8 @@ orgTag: mq tcpPort: 60100 upDataMinInterval: 6 mqttEnable: true noSubThenOff: 10 webPort: 8100 actutorPort: 9100 dbName: pipIrr_mq @@ -40,6 +50,8 @@ orgTag: yq tcpPort: 60101 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8101 actutorPort: 9101 dbName: pipIrr_yq @@ -47,6 +59,8 @@ orgTag: hlj tcpPort: 60102 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8102 actutorPort: 9102 dbName: pipIrr_hlj @@ -54,6 +68,8 @@ orgTag: gz tcpPort: 60103 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8103 actutorPort: 9103 dbName: pipIrr_gz @@ -61,6 +77,8 @@ orgTag: lz tcpPort: 60104 upDataMinInterval: 6 mqttEnable: false noSubThenOff: 10 webPort: 8104 actutorPort: 9104 dbName: pipIrr_lz @@ -68,6 +86,8 @@ orgTag: jc tcpPort: 60105 upDataMinInterval: 6 mqttEnable: true noSubThenOff: 10 webPort: 8105 actutorPort: 9105 dbName: pipIrr_jc pipIrr-platform/Îĵµ/´ò°ü·¢²¼/´ò°ü·¢²¼ÅäÖÃÐÞ¸Ä.docxBinary files differ