物联设备管理优化

This commit is contained in:
曹磊 2026-04-02 14:49:17 +08:00
parent 7e0d263f71
commit 9957093846
9 changed files with 254 additions and 1 deletions

View File

@ -5,6 +5,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.modules.manager.entity.DeviceBindLog;
import com.nu.modules.manager.entity.DeviceManager;
import com.nu.modules.manager.service.IDeviceManagerService;
import com.nu.modules.tplink.camera.entity.CameraInfo;
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
import com.nu.modules.tq.water.entity.WaterMeter;
import com.nu.modules.yiweilian.humid.entity.HumidDevice;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.base.controller.JeecgController;
@ -15,6 +20,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @Description: 设备管理
@ -196,5 +202,104 @@ public class DeviceManagerController extends JeecgController<DeviceManager, IDev
return Result.OK(service.queryNuList(deviceManager));
}
//=================================以下为区域管理中的接口
/**
* 获取区域绑定的设备列表
* @param deviceManager
* @return
*/
@ApiOperation(value="查询区域设备信息", notes="查询区域设备信息")
@GetMapping(value = "/bindedList")
public Result<Map<String,Object>> bindedList(DeviceManager deviceManager) {
Map<String,Object> pageList = service.bindedList(deviceManager);
return Result.OK(pageList);
}
/**
* 设备集成-区域获取要添加摄像头列表查询
*
* @param deviceManager
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/cameraInfoUnbindList")
public Result<IPage<CameraInfo>> cameraInfoUnbindList(DeviceManager deviceManager,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<CameraInfo> page = new Page<CameraInfo>(pageNo, pageSize);
IPage<CameraInfo> pageList = service.findCameraInfoUnbindPage(page, deviceManager);
return Result.OK(pageList);
}
/**
* 设备集成-区域获取要添加电表列表查询
*
* @param deviceManager
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/electricityMeterUnbindList")
public Result<IPage<ElectricityMeter>> electricityMeterUnbindList(DeviceManager deviceManager,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
IPage<ElectricityMeter> pageList = service.findElectricityMeterUnbindPage(page, deviceManager);
return Result.OK(pageList);
}
/**
* 设备集成-区域获取要添加水表列表查询
*
* @param deviceManager
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/waterMeterUnbindList")
public Result<IPage<WaterMeter>> waterMeterUnbindList(DeviceManager deviceManager,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<WaterMeter> page = new Page<WaterMeter>(pageNo, pageSize);
IPage<WaterMeter> pageList = service.findWaterMeterUnbindPage(page, deviceManager);
return Result.OK(pageList);
}
/**
* 设备集成-区域获取要添加温湿度计列表查询
*
* @param deviceManager
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/humidDeviceUnbindList")
public Result<IPage<HumidDevice>> humidDeviceUnbindList(DeviceManager deviceManager,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<HumidDevice> page = new Page<HumidDevice>(pageNo, pageSize);
IPage<HumidDevice> pageList = service.findHumidDeviceUnbindPage(page, deviceManager);
return Result.OK(pageList);
}
/**
* 绑定设备
*
* @param deviceManager
* @return
*/
@RequestMapping(value = "/bindDevice", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> bindDevice(@RequestBody DeviceManager deviceManager) {
service.updateById(deviceManager);
return Result.OK("绑定成功!");
}
}

View File

@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.modules.manager.entity.DeviceBindLog;
import com.nu.modules.manager.entity.DeviceManager;
import com.nu.modules.tplink.camera.entity.CameraInfo;
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
import com.nu.modules.tq.water.entity.WaterMeter;
import com.nu.modules.yiweilian.humid.entity.HumidDevice;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -21,4 +25,14 @@ public interface DeviceManagerMapper extends BaseMapper<DeviceManager> {
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, @Param("params") DeviceBindLog deviceBindLog);
void addLog(DeviceBindLog deviceBindLog);
List<DeviceManager> queryNuList(DeviceManager deviceManager);
List<CameraInfo> cameraInfoList(DeviceManager deviceManager);
IPage<CameraInfo> findCameraInfoUnbindPage(Page<CameraInfo> page, @Param("params") DeviceManager deviceManager);
List<WaterMeter> waterMeterList(DeviceManager deviceManager);
IPage<WaterMeter> findWaterMeterUnbindPage(Page<WaterMeter> page, @Param("params") DeviceManager deviceManager);
List<ElectricityMeter> electricityMeterList(DeviceManager deviceManager);
IPage<ElectricityMeter> findElectricityMeterUnbindPage(Page<ElectricityMeter> page, @Param("params") DeviceManager deviceManager);
List<HumidDevice> humidDeviceList(DeviceManager deviceManager);
IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, @Param("params") DeviceManager deviceManager);
}

View File

@ -16,7 +16,7 @@
a.update_time,
a.remarks,
a.device_status,
t.online_status
ifnull(t.online_status,'待集成') as online_status
from nu_iot_device_preview a
left join nu_base_info c on a.nu_id = c.nu_id
left join (
@ -122,4 +122,72 @@
order by nu_id asc
</select>
<select id="cameraInfoList" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tplink.camera.entity.CameraInfo">
select a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.device_status,b.device_index
from nu_iot_device_preview a
inner join nu_iot_tplink_camera b on a.sn = b.mac
where a.nu_id = #{nuId}
and a.device_type = 'SURVEILLANCECAMERA'
</select>
<select id="findCameraInfoUnbindPage" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tplink.camera.entity.CameraInfo">
select a.id,a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.device_status,b.device_index
from nu_iot_device_preview a
left join nu_iot_tplink_camera b on a.sn = b.mac
where a.nu_id is null
and a.device_type = 'SURVEILLANCECAMERA'
and a.device_status != '损坏'
</select>
<select id="waterMeterList" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tq.water.entity.WaterMeter">
select a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.relay_state,b.cid,b.address,b.water_value
from nu_iot_device_preview a
inner join nu_iot_tq_water_meter b on a.sn = b.cid
where a.nu_id = #{nuId}
and a.device_type = 'sb'
</select>
<select id="findWaterMeterUnbindPage" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tq.water.entity.WaterMeter">
select a.id,a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.relay_state,b.cid,b.address,b.water_value
from nu_iot_device_preview a
left join nu_iot_tq_water_meter b on a.sn = b.cid
where a.nu_id is null
and a.device_type = 'sb'
and a.device_status != '损坏'
</select>
<select id="electricityMeterList" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
select a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.relay_state,b.ele_value
from nu_iot_device_preview a
inner join nu_iot_ds_electricity_meter b on a.sn = b.sn
where a.nu_id = #{nuId}
and a.device_type = 'db'
</select>
<select id="findElectricityMeterUnbindPage" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.tq.electricity.entity.ElectricityMeter">
select a.id,a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.relay_state,b.ele_value
from nu_iot_device_preview a
left join nu_iot_ds_electricity_meter b on a.sn = b.sn
where a.nu_id is null
and a.device_type = 'db'
and a.device_status != '损坏'
</select>
<select id="humidDeviceList" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.yiweilian.humid.entity.HumidDevice">
select a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.status,b.temperature,b.humidity
from nu_iot_device_preview a
inner join nu_iot_yiweilian_humid_device b on a.sn = b.sn
where a.nu_id = #{nuId}
and a.device_type = 'wsdj'
</select>
<select id="findHumidDeviceUnbindPage" parameterType="com.nu.modules.manager.entity.DeviceManager" resultType="com.nu.modules.yiweilian.humid.entity.HumidDevice">
select a.id,a.nu_id,a.dimension,a.sn,a.device_type,a.device_model,a.device_status as maintainStatus,b.status,b.temperature,b.humidity
from nu_iot_device_preview a
left join nu_iot_yiweilian_humid_device b on a.sn = b.sn
where a.nu_id is null
and a.device_type = 'wsdj'
and a.device_status != '损坏'
</select>
</mapper>

View File

@ -5,8 +5,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nu.modules.manager.entity.DeviceBindLog;
import com.nu.modules.manager.entity.DeviceManager;
import com.nu.modules.tplink.camera.entity.CameraInfo;
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
import com.nu.modules.tq.water.entity.WaterMeter;
import com.nu.modules.yiweilian.humid.entity.HumidDevice;
import java.util.List;
import java.util.Map;
/**
* @Description: 设备管理-机构信息
@ -20,4 +25,10 @@ public interface IDeviceManagerService extends IService<DeviceManager> {
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, DeviceBindLog deviceBindLog);
void addLog(DeviceBindLog deviceBindLog);
List<DeviceManager> queryNuList(DeviceManager deviceManager);
Map<String, Object> bindedList(DeviceManager deviceManager);
IPage<CameraInfo> findCameraInfoUnbindPage(Page<CameraInfo> page, DeviceManager deviceManager);
IPage<ElectricityMeter> findElectricityMeterUnbindPage(Page<ElectricityMeter> page, DeviceManager deviceManager);
IPage<WaterMeter> findWaterMeterUnbindPage(Page<WaterMeter> page, DeviceManager deviceManager);
IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, DeviceManager deviceManager);
}

View File

@ -1,5 +1,6 @@
package com.nu.modules.manager.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -7,10 +8,15 @@ import com.nu.modules.manager.entity.DeviceBindLog;
import com.nu.modules.manager.entity.DeviceManager;
import com.nu.modules.manager.mapper.DeviceManagerMapper;
import com.nu.modules.manager.service.IDeviceManagerService;
import com.nu.modules.tplink.camera.entity.CameraInfo;
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
import com.nu.modules.tq.water.entity.WaterMeter;
import com.nu.modules.yiweilian.humid.entity.HumidDevice;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @Description: 设备管理-机构信息
@ -54,4 +60,39 @@ public class DeviceManagerServiceImpl extends ServiceImpl<DeviceManagerMapper, D
public List<DeviceManager> queryNuList(DeviceManager deviceManager){
return baseMapper.queryNuList(deviceManager);
}
@Override
public Map<String, Object> bindedList(DeviceManager deviceManager) {
List<CameraInfo> cameraInfoList = baseMapper.cameraInfoList(deviceManager);
List<WaterMeter> waterMeterList = baseMapper.waterMeterList(deviceManager);
List<ElectricityMeter> electricityMeterList = baseMapper.electricityMeterList(deviceManager);
List<HumidDevice> humidDeviceList = baseMapper.humidDeviceList(deviceManager);
Map<String, Object> map = Map.of(
"cameraInfoList", cameraInfoList,
"waterMeterList", waterMeterList,
"electricityMeterList", electricityMeterList,
"humidDeviceList", humidDeviceList
);
return map;
}
@Override
public IPage<CameraInfo> findCameraInfoUnbindPage(Page<CameraInfo> page, DeviceManager deviceManager) {
return baseMapper.findCameraInfoUnbindPage(page,deviceManager);
}
@Override
public IPage<ElectricityMeter> findElectricityMeterUnbindPage(Page<ElectricityMeter> page, DeviceManager deviceManager) {
return baseMapper.findElectricityMeterUnbindPage(page,deviceManager);
}
@Override
public IPage<WaterMeter> findWaterMeterUnbindPage(Page<WaterMeter> page, DeviceManager deviceManager) {
return baseMapper.findWaterMeterUnbindPage(page,deviceManager);
}
@Override
public IPage<HumidDevice> findHumidDeviceUnbindPage(Page<HumidDevice> page, DeviceManager deviceManager) {
return baseMapper.findHumidDeviceUnbindPage(page,deviceManager);
}
}

View File

@ -136,6 +136,8 @@ public class CameraInfo implements Serializable {
@ApiModelProperty(value = "用户设置置顶的时间,毫秒级时间戳")
@TableField(exist = false)
private String topTime;
@TableField(exist = false)
private String isIntensiveMonitor;
/**护理单元*/
@ApiModelProperty(value = "护理单元编码")
@Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "nu_id")

View File

@ -81,5 +81,9 @@ public class ElectricityMeter implements Serializable {
/**维修状态*/
private String maintainStatus;
private String dimension;//设备维度
@TableField(exist = false)
private String deviceStatus;//设备状态
@TableField(exist = false)
private String deviceModel;
}

View File

@ -80,4 +80,8 @@ public class WaterMeter implements Serializable {
/**维修状态*/
private String maintainStatus;
private String dimension;//设备维度
@TableField(exist = false)
private String sn;
@TableField(exist = false)
private String deviceModel;
}

View File

@ -119,4 +119,8 @@ public class HumidDevice implements Serializable {
/**维修状态*/
private String maintainStatus;
private String dimension;//设备维度
@TableField(exist = false)
private String deviceStatus;//设备状态
@TableField(exist = false)
private String deviceModel;
}