From 7f43b901477b6cd3fb5e45dcb7b5eacb9e4ef152 Mon Sep 17 00:00:00 2001
From: swj <1211312234@qq.com>
Date: Wed, 17 Aug 2022 18:39:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=8A=A0iot=E5=AD=90=E6=9C=8D?=
=?UTF-8?q?=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/launch/LauncherServiceImpl.java | 1 -
.../lab-iot-api.iml} | 17 ++-
lab-service-api/lab-iot-api/pom.xml | 18 +++
.../org/springblade/iot/entry/Sensor.java | 63 +++++++++
lab-service-api/pom.xml | 1 +
lab-service/lab-iot/pom.xml | 54 +++++++-
.../org/springblade/iot/IotApplication.java | 23 ++++
.../iot/controller/SensorController.java | 88 +++++++++++++
.../springblade/iot/mapper/SensorMapper.java | 15 +++
.../iot/service/ISensorService.java | 13 ++
.../iot/service/impl/SensorServiceImpl.java | 22 ++++
.../springblade/iot/utils/ReadModBusUtil.java | 120 ++++++++++++++++++
.../lims/mapper/ContractMapper.java | 1 -
lab-service/pom.xml | 1 +
14 files changed, 428 insertions(+), 9 deletions(-)
rename lab-service-api/{lab-file-api/lab-file-api.iml => lab-iot-api/lab-iot-api.iml} (97%)
create mode 100644 lab-service-api/lab-iot-api/pom.xml
create mode 100644 lab-service-api/lab-iot-api/src/main/java/org/springblade/iot/entry/Sensor.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/IotApplication.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/controller/SensorController.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/mapper/SensorMapper.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/service/ISensorService.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/service/impl/SensorServiceImpl.java
create mode 100644 lab-service/lab-iot/src/main/java/org/springblade/iot/utils/ReadModBusUtil.java
diff --git a/lab-common/src/main/java/org/springblade/common/launch/LauncherServiceImpl.java b/lab-common/src/main/java/org/springblade/common/launch/LauncherServiceImpl.java
index d82aabe..13dd238 100644
--- a/lab-common/src/main/java/org/springblade/common/launch/LauncherServiceImpl.java
+++ b/lab-common/src/main/java/org/springblade/common/launch/LauncherServiceImpl.java
@@ -1,7 +1,6 @@
package org.springblade.common.launch;
-import org.springblade.common.constant.LauncherConstant;
import org.springblade.core.auto.service.AutoService;
import org.springblade.core.launch.service.LauncherService;
import org.springblade.core.launch.utils.PropsUtil;
diff --git a/lab-service-api/lab-file-api/lab-file-api.iml b/lab-service-api/lab-iot-api/lab-iot-api.iml
similarity index 97%
rename from lab-service-api/lab-file-api/lab-file-api.iml
rename to lab-service-api/lab-iot-api/lab-iot-api.iml
index b03083f..0cd55b6 100644
--- a/lab-service-api/lab-file-api/lab-file-api.iml
+++ b/lab-service-api/lab-iot-api/lab-iot-api.iml
@@ -7,21 +7,24 @@
+
+
+
+
-
-
+
+
+
+
-
-
-
@@ -46,7 +49,6 @@
-
@@ -137,6 +139,8 @@
+
+
@@ -157,6 +161,7 @@
+
diff --git a/lab-service-api/lab-iot-api/pom.xml b/lab-service-api/lab-iot-api/pom.xml
new file mode 100644
index 0000000..f1873c3
--- /dev/null
+++ b/lab-service-api/lab-iot-api/pom.xml
@@ -0,0 +1,18 @@
+
+
+
+ lab-service-api
+ org.springblade
+ 2.8.1.RELEASE
+
+ 4.0.0
+
+ lab-iot-api
+ ${project.artifactId}
+ ${bladex.project.version}
+ jar
+
+
+
\ No newline at end of file
diff --git a/lab-service-api/lab-iot-api/src/main/java/org/springblade/iot/entry/Sensor.java b/lab-service-api/lab-iot-api/src/main/java/org/springblade/iot/entry/Sensor.java
new file mode 100644
index 0000000..6854844
--- /dev/null
+++ b/lab-service-api/lab-iot-api/src/main/java/org/springblade/iot/entry/Sensor.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.iot.entry;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 数采配置实体类
+ *
+ * @author swj
+ * @since 2022年8月17日16:29:15
+ */
+@Data
+@TableName("t_sensor_base")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "Sensor对象", description = "数采配置")
+public class Sensor extends BaseEntity {
+
+ @ApiModelProperty(value = "传感器名称")
+ private String name;
+
+ @ApiModelProperty(value = "plc设备的ip")
+ private String ip;
+
+ @ApiModelProperty(value = "信息名称(如:302更衣室压差)")
+ private String signalName;
+
+ @ApiModelProperty(value = "数据类型(REAL->float)")
+ private String dataType;
+
+ @ApiModelProperty(value = "寄存器地址")
+ private String registerAddress;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "单前的实时数据")
+ private String currData;
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/lab-service-api/pom.xml b/lab-service-api/pom.xml
index 1cbbd49..5e9c63b 100644
--- a/lab-service-api/pom.xml
+++ b/lab-service-api/pom.xml
@@ -27,6 +27,7 @@
lab-monitor-api
lab-lims-report-api
lab-file-api
+ lab-iot-api
diff --git a/lab-service/lab-iot/pom.xml b/lab-service/lab-iot/pom.xml
index 5792fd9..b68b1e0 100644
--- a/lab-service/lab-iot/pom.xml
+++ b/lab-service/lab-iot/pom.xml
@@ -10,7 +10,59 @@
4.0.0
lab-iot
- 2.8.1.RELEASE
+ ${project.artifactId}
+ ${bladex.project.version}
+ jar
+
+
+
+
+
+ cn.hutool
+ hutool-all
+ 5.6.5
+
+
+
+ org.springblade
+ blade-starter-swagger
+
+
+
+ org.springblade
+ blade-core-boot
+
+
+
+ org.springblade
+ lab-iot-api
+ ${bladex.project.version}
+
+
+
+
+
+
+ com.spotify
+ dockerfile-maven-plugin
+
+ ${docker.username}
+ ${docker.password}
+ ${docker.registry.url}/${docker.namespace}/${project.artifactId}
+ ${project.version}
+ true
+
+ target/${project.build.finalName}.jar
+
+ false
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+
\ No newline at end of file
diff --git a/lab-service/lab-iot/src/main/java/org/springblade/iot/IotApplication.java b/lab-service/lab-iot/src/main/java/org/springblade/iot/IotApplication.java
new file mode 100644
index 0000000..e4bea2d
--- /dev/null
+++ b/lab-service/lab-iot/src/main/java/org/springblade/iot/IotApplication.java
@@ -0,0 +1,23 @@
+
+package org.springblade.iot;
+
+import org.springblade.common.constant.LauncherConstant;
+import org.springblade.core.cloud.feign.EnableBladeFeign;
+import org.springblade.core.launch.BladeApplication;
+import org.springframework.cloud.client.SpringCloudApplication;
+
+/**
+ * Iot启动器
+ * @author swj
+ * @date 2022年8月17日15:21:251
+ */
+@EnableBladeFeign
+@SpringCloudApplication
+public class IotApplication {
+
+ public static void main(String[] args) {
+ BladeApplication.run(LauncherConstant.APPLICATION_IOT_NAME, IotApplication.class, args);
+ }
+
+}
+
diff --git a/lab-service/lab-iot/src/main/java/org/springblade/iot/controller/SensorController.java b/lab-service/lab-iot/src/main/java/org/springblade/iot/controller/SensorController.java
new file mode 100644
index 0000000..89f0af5
--- /dev/null
+++ b/lab-service/lab-iot/src/main/java/org/springblade/iot/controller/SensorController.java
@@ -0,0 +1,88 @@
+
+package org.springblade.iot.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.iot.entry.Sensor;
+import org.springblade.iot.service.ISensorService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+
+/**
+ * 物品申领表 控制器
+ *
+ * @author swj
+ * @since 2022年8月17日16:35:34
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/sensor")
+@Api(value = "", tags = "")
+public class SensorController extends BladeController {
+
+ private final ISensorService service;
+
+ /**
+ * 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ public R