1.Controller:
@RestController
@RequestMapping("/DeviceInterfaceService")
public class RequestShuju extends HttpServlet {
private static final Logger logger = LoggerFactory.getLogger(RequestShuju.class);
@Autowired
private WaterDeviceStatusDao waterDeviceStatusDao;
@Autowired
private WaterRealTimeDataDao waterRealTimeDataDao;
/*
* 上水设备运行状态信息
*/
@PostMapping("/WaterDeviceStatus")
public Result waterDeviceStatus(@RequestBody JSONObject jsonObject) {
String bureauCode = jsonObject.getString("bureauCode");
String stationCode = jsonObject.getString("stationCode");
JSONArray jsonObjString = jsonObject.getJSONArray("info");
SystemLogs systemLogs = new SystemLogs();
systemLogs.setModelName("上水设备运行状态信息");
systemLogs.setEquipmentType("上水设备");
for (Object o : jsonObjString) {
JSONObject jsonObject1 = JSONObject.parseObject(o.toString());
WaterDeviceStatus water = JSON.toJavaObject(jsonObject1,WaterDeviceStatus.class);
water.setBureauCode(bureauCode);
water.setStationCode(stationCode);
waterDeviceStatusDao.save(water);
systemLogs.setLogContent("上水设备数据接收:[ "+water.getDeviceId()+" ]");
}
return Result.to();
}
/*
* 上水系统实时数据
*/
@PostMapping("/WaterRealTimeData")
public Result waterRealTimeData(@RequestBody JSONObject jsonObject) {
String bureauCode = jsonObject.getString("bureauCode");
String stationCode = jsonObject.getString("stationCode");
JSONArray jsonObjString = jsonObject.getJSONArray("info");
SystemLogs systemLogs = new SystemLogs();
systemLogs.setModelName("上水系统实时数据");
systemLogs.setEquipmentType("上水设备");
for (Object o : jsonObjString) {
JSONObject jsonObject1 = JSONObject.parseObject(o.toString());
WaterRealTimeData water = JSON.toJavaObject(jsonObject1,WaterRealTimeData.class);
water.setBureauCode(bureauCode);
water.setStationCode(stationCode);
waterRealTimeDataDao.save(water);
systemLogs.setLogContent("上水系统实时数据:[ "+water.getDeviceId()+" ]");
}
return Result.to();
}
2.Dao:
(1)
package com.cars.ict.rbpsems.dao;
import com.cars.ict.rbpsems.common.BaseDao;
import com.cars.ict.rbpsems.entity.WaterDeviceStatus;
public interface WaterDeviceStatusDao extends BaseDao<WaterDeviceStatus,String> {
}
(2)
package com.cars.ict.rbpsems.dao;
import com.cars.ict.rbpsems.common.BaseDao;
import com.cars.ict.rbpsems.entity.WaterRealTimeData;
public interface WaterRealTimeDataDao extends BaseDao<WaterRealTimeData,String> {
}
3.entity:
(1)
package com.cars.ict.rbpsems.entity;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
/**
* 上水设备运行状态
*/
@Getter
@Setter
@Entity
@Table( name ="dev_water_device_status" )
public class WaterDeviceStatus implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(name = "id" )
private String id;
@Column(name = "bureau_code" )
private String bureauCode;
@Column(name = "station_code" )
private String stationCode;
@Column(name = "device_id" )
private String deviceId;
@Column(name = "dev_status" )
private String devStatus;
@Column(name = "node_position" )
private String nodePosition;
}
(2)
package com.cars.ict.rbpsems.entity;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
/**
* 上水系统实时数据
*/
@Getter
@Setter
@Entity
@Table( name ="dev_water_realtime_data" )
public class WaterRealTimeData implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(name = "id" )
private String id;
@Column(name = "bureau_code" )
private String bureauCode;
@Column(name = "station_code" )
private String stationCode;
@Column(name = "device_id" )
private String deviceId;
@Column(name = "flow" )
private String flow;
@Column(name = "speed" )
private String speed;
@Column(name = "press" )
private String press;
}
4.sql建表:
1.创建上水设备运行状态信息表格:
CREATE TABLE `dev_water_device_status`(
`id` varchar(255) NOT NULL,
`bureau_code` varchar(255) DEFAULT NULL COMMENT '局码',
`station_code` varchar(255) DEFAULT NULL COMMENT '站码',
`device_id` varchar(255) DEFAULT NULL COMMENT '设备节点ID',
`devStatus` varchar(255) DEFAULT NULL COMMENT '0-未上水;1-上水中;2上水完毕',
`nodePosition` varchar(255) DEFAULT NULL COMMENT '0-归位;1-离位;2-离线',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='上水设备运行状态信息';
2.创建上水系统实时数据表格:
CREATE TABLE `dev_water_realtime_data`(
`id` varchar(255) NOT NULL,
`bureau_code` varchar(255) DEFAULT NULL COMMENT '局码',
`station_code` varchar(255) DEFAULT NULL COMMENT '站码',
`device_id` varchar(255) DEFAULT NULL COMMENT '设备节点编号',
`flow` varchar(255) DEFAULT NULL COMMENT '各节点流量数据或总流量数据',
`speed` varchar(255) DEFAULT NULL COMMENT '各节点流速数据或整体流速',
`press` varchar(255) DEFAULT NULL COMMENT '各节点压力数据或总体压力数据',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='上水系统实时数据';
=============================================
//postman测试:
->post
->http://localhost:8086/DeviceInterfaceService/WaterDeviceStatus
->Body
->
1.上水设备运行状态信息接口测试:
{
"bureauCode":"Y",
"stationCode":"XAY",
"info":[
{
"deviceId":"1",
"devStatus":"2",
"nodePosition":"3"
}
]
}
2.上水系统实时数据接口测试:
{
"bureauCode":"Y",
"stationCode":"XAY",
"info":[
{
"deviceId":"1",
"flow":"2",
"speed":"3",
"press":"4"
}
]
}
=============================================
1.上水设备运行状态信息表:
dev_water_device_status
2.上水系统实时数据表:
dev_water_realtime_data
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示