作者 钟来

添加内网ip

@@ -52,6 +52,7 @@ public abstract class ThingsModelItemBase<T> implements ThingsModelBase<T> @@ -52,6 +52,7 @@ public abstract class ThingsModelItemBase<T> implements ThingsModelBase<T>
52 thingsModelItemBase.setValue(jsonElement.getAsInt()); 52 thingsModelItemBase.setValue(jsonElement.getAsInt());
53 break; 53 break;
54 } 54 }
  55 + thingsModelItemBase.setSaveView(jsonElement.getAsString());
55 thingsModelItemBase.conversionThingsModel(thingsModel); 56 thingsModelItemBase.conversionThingsModel(thingsModel);
56 57
57 return thingsModelItemBase; 58 return thingsModelItemBase;
@@ -4,6 +4,7 @@ import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelItemB @@ -4,6 +4,7 @@ import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelItemB
4 import lombok.Data; 4 import lombok.Data;
5 5
6 import java.math.BigDecimal; 6 import java.math.BigDecimal;
  7 +import java.math.RoundingMode;
7 8
8 @Data 9 @Data
9 public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal> 10 public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal>
@@ -57,6 +58,21 @@ public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal> @@ -57,6 +58,21 @@ public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal>
57 58
58 @Override 59 @Override
59 public void setSaveView(String value) { 60 public void setSaveView(String value) {
60 - setValue(new BigDecimal(value)); 61 + BigDecimal bigDecimalValue = new BigDecimal(value);
  62 + if (null != step)
  63 + {
  64 + int decimalPlaces = getDecimalPlaces(step);
  65 + BigDecimal roundedValue = bigDecimalValue.setScale(decimalPlaces, RoundingMode.HALF_UP);
  66 + setValue(roundedValue);
  67 + }else {
  68 + setValue(bigDecimalValue);
  69 + }
  70 + }
  71 +
  72 + private int getDecimalPlaces(BigDecimal number) {
  73 + if (number == null || number.scale() <= 0) {
  74 + return 0;
  75 + }
  76 + return number.stripTrailingZeros().scale();
61 } 77 }
62 } 78 }
  1 +#!/bin/bash
  2 +
  3 +# 定义脚本路径
  4 +SCRIPT_PATH="/opt/monitor.sh"
  5 +CRON_LOG="/var/log/monitor.log"
  6 +
  7 +# 创建 monitor.sh 文件
  8 +(
  9 + cat <<EOF
  10 +#!/bin/bash
  11 +
  12 +# 定义API的URL
  13 +API_URL="https://lh.admin.yu2le.com/api/monitor/server/upload"
  14 +
  15 +# 获取系统性能信息的函数
  16 +get_system_performance() {
  17 + # 获取CPU使用率
  18 + CPU_USAGE=\$(top -bn1 | grep "Cpu(s)" | awk '{print \$2 + \$4}')
  19 +
  20 + # 获取内存使用率
  21 + MEMORY_USAGE=\$(free | grep Mem | awk '{print \$3/\$2 * 100.0}')
  22 +
  23 + # 获取磁盘使用率
  24 + DISK_USAGE=\$(df -h | grep '^/dev/' | grep -v 'boot' | awk '{print \$5}' | tr -d '%' | paste -sd+ | bc)
  25 +
  26 + # 获取系统连接数
  27 + CONNECTION_COUNT=\$(netstat -an | grep ESTABLISHED | wc -l)
  28 +
  29 + # 获取前10进程的内存详情,使用 "fg9527" 分隔符
  30 + MEMORY_INFO=\$(ps aux --sort=-rss | head -n 11 | awk 'NR==1 {print "USERfg9527PIDfg9527MEMORY(M)fg9527COMMAND"; next} {cmd=""; for(i=11;i<=NF;i++) cmd=cmd\$i" "; printf "%sfg9527%sfg9527%.2fMfg9527%s\n", \$1, \$2, \$6/1024, cmd}' | tr '\n' ';')
  31 +
  32 + # 获取前10进程的CPU详情,使用 "fg9527" 分隔符
  33 + CPU_INFO=\$(ps aux --sort=-%cpu | head -n 11 | awk 'NR==1 {print "USERfg9527PIDfg9527CPU(%)fg9527COMMAND"; next} {cmd=""; for(i=11;i<=NF;i++) cmd=cmd\$i" "; printf "%sfg9527%sfg9527%.2f%%fg9527%s\n", \$1, \$2, \$3, cmd}' | tr '\n' ';')
  34 +
  35 + # 生成 JSON 格式数据,转义双引号
  36 + MEMORY_INFO=\$(echo "\$MEMORY_INFO" | sed 's/"/\\"/g')
  37 + CPU_INFO=\$(echo "\$CPU_INFO" | sed 's/"/\\"/g')
  38 +
  39 + # 生成 ip
  40 + IP=\$(hostname -I | awk '{print \$1}')
  41 + # 构建JSON数据
  42 + echo "{\"cpu_usage\": \"\${CPU_USAGE}\", \"memory_usage\": \"\${MEMORY_USAGE}\", \"disk_usage\": \"\${DISK_USAGE}\", \"connection_count\": \"\${CONNECTION_COUNT}\", \"memory_info\": \"\${MEMORY_INFO}\", \"cpu_info\": \"\${CPU_INFO}\", \"localip\": \"\${IP}\"}"
  43 +}
  44 +
  45 +# 获取当前系统性能数据
  46 +DATA=\$(get_system_performance)
  47 +
  48 +echo \$DATA
  49 +
  50 +# 使用curl将数据上传到指定的API
  51 +curl -X POST -H "Content-Type: application/json" -d "\$DATA" --insecure "\$API_URL"
  52 +EOF
  53 +) > $SCRIPT_PATH
  54 +
  55 +# 设置脚本执行权限
  56 +chmod +x $SCRIPT_PATH
  57 +
  58 +# 添加定时任务
  59 +(crontab -l 2>/dev/null; echo "*/1 * * * * $SCRIPT_PATH >> $CRON_LOG 2>&1") | crontab -
  60 +
  61 +# 确保 cron 服务已启动
  62 +systemctl enable cron
  63 +systemctl restart cron
  64 +
  65 +$SCRIPT_PATH
  66 +
  67 +echo "Monitor setup completed."
@@ -54,7 +54,7 @@ import java.util.concurrent.TimeUnit; @@ -54,7 +54,7 @@ import java.util.concurrent.TimeUnit;
54 * 设备指令监听服务 54 * 设备指令监听服务
55 */ 55 */
56 @Service 56 @Service
57 -@RocketMQMessageListener(consumerGroup = "${rocketmq.consumerGroup}", topic = "${rocketmq.topic}",selectorType = SelectorType.TAG,selectorExpression = "${rocketmq.operationToken}",messageModel = MessageModel.BROADCASTING) 57 +@RocketMQMessageListener(consumerGroup = "deviceCommand", topic = "deviceCommandListen",selectorType = SelectorType.TAG,selectorExpression = "${rocketmq.operationToken}",messageModel = MessageModel.BROADCASTING)
58 public class DeviceCommandListenService implements RocketMQReplyListener<MessageExt, Message>, RocketMQPushConsumerLifecycleListener { 58 public class DeviceCommandListenService implements RocketMQReplyListener<MessageExt, Message>, RocketMQPushConsumerLifecycleListener {
59 private static final Logger log = LoggerFactory.getLogger(DeviceCommandListenService.class); 59 private static final Logger log = LoggerFactory.getLogger(DeviceCommandListenService.class);
60 60
@@ -26,6 +26,4 @@ mqtt: @@ -26,6 +26,4 @@ mqtt:
26 rocketmq: 26 rocketmq:
27 #nameservice服务器地址(多个以英文逗号隔开) 27 #nameservice服务器地址(多个以英文逗号隔开)
28 name-server: 47.115.144.179:9876 28 name-server: 47.115.144.179:9876
29 - consumerGroup: lh-http-service-proxy  
30 - topic: deviceCommandListen  
31 - operationToken: ${random.uuid}  
  29 + operationToken: local_lh-http-service-proxy
@@ -20,7 +20,7 @@ spring: @@ -20,7 +20,7 @@ spring:
20 mqtt: 20 mqtt:
21 #链接地址 21 #链接地址
22 # broker: tcp://175.24.61.68:1883 22 # broker: tcp://175.24.61.68:1883
23 - broker: tcp://47.112.163.61:1883 23 + broker: tcp://8.129.82.37:1883
24 #唯一标识 24 #唯一标识
25 clientId: ${random.uuid} 25 clientId: ${random.uuid}
26 topicconfig: "/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/{{topicType}}/{{messageid}}" 26 topicconfig: "/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/{{topicType}}/{{messageid}}"
@@ -34,7 +34,5 @@ mqtt: @@ -34,7 +34,5 @@ mqtt:
34 #rocketmq配置信息 34 #rocketmq配置信息
35 rocketmq: 35 rocketmq:
36 #nameservice服务器地址(多个以英文逗号隔开) 36 #nameservice服务器地址(多个以英文逗号隔开)
37 - name-server: 47.115.144.179:9876  
38 - consumerGroup: ${random.uuid}  
39 - topic: deviceCommandListen 37 + name-server: 8.129.224.117:9876
40 operationToken: local_lh-mqtt-service-listen 38 operationToken: local_lh-mqtt-service-listen
@@ -22,13 +22,7 @@ @@ -22,13 +22,7 @@
22 <modules> 22 <modules>
23 <module>lh-web-douyin</module> 23 <module>lh-web-douyin</module>
24 </modules> 24 </modules>
25 - <dependencies>  
26 - <dependency>  
27 - <groupId>com.zhonglai.luhui</groupId>  
28 - <artifactId>lh-web-douyin</artifactId>  
29 - <version>${ruoyi.version}</version>  
30 - </dependency>  
31 - </dependencies> 25 +
32 <description> 26 <description>
33 web服务 27 web服务
34 </description> 28 </description>
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 75
76 <dependency> 76 <dependency>
77 <groupId>com.zhonglai.luhui</groupId> 77 <groupId>com.zhonglai.luhui</groupId>
78 - <artifactId>lh-superweb-jar</artifactId> 78 + <artifactId>lh-web-douyin</artifactId>
79 </dependency> 79 </dependency>
80 </dependencies> 80 </dependencies>
81 </project> 81 </project>
@@ -218,13 +218,6 @@ @@ -218,13 +218,6 @@
218 <version>${ruoyi.version}</version> 218 <version>${ruoyi.version}</version>
219 </dependency> 219 </dependency>
220 220
221 - <!-- 代码生成模块-->  
222 - <dependency>  
223 - <groupId>com.zhonglai.luhui</groupId>  
224 - <artifactId>ruoyi-generator</artifactId>  
225 - <version>${ruoyi.version}</version>  
226 - </dependency>  
227 -  
228 <!-- 模型--> 221 <!-- 模型-->
229 <dependency> 222 <dependency>
230 <groupId>com.zhonglai.luhui</groupId> 223 <groupId>com.zhonglai.luhui</groupId>
@@ -372,7 +365,7 @@ @@ -372,7 +365,7 @@
372 </dependency> 365 </dependency>
373 <dependency> 366 <dependency>
374 <groupId>com.zhonglai.luhui</groupId> 367 <groupId>com.zhonglai.luhui</groupId>
375 - <artifactId>lh-superweb-jar</artifactId> 368 + <artifactId>lh-web-douyin</artifactId>
376 <version>${ruoyi.version}</version> 369 <version>${ruoyi.version}</version>
377 </dependency> 370 </dependency>
378 <dependency> 371 <dependency>