新增pad端接口:温湿度计-设备信息查询、抄表、报修、抄表日志查询、告警日志查询

This commit is contained in:
1378012178@qq.com 2025-10-24 09:20:56 +08:00
parent 3a4a80af87
commit 22d2b8ed8d
9 changed files with 346 additions and 32 deletions

View File

@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* 电表水表日志
*/
@RestController
@RequestMapping("/api/iot/requestLog")
public class IotApiRequestLogApi {

View File

@ -11,6 +11,9 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* 智能电表
*/
@RestController
@RequestMapping("/api/iot/electricityMeter")
public class ElectricityMeterApi {

View File

@ -0,0 +1,106 @@
package com.nu.modules.pad.iot.humiddevice.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.entity.HumidAlarmEntity;
import com.nu.entity.HumidDeviceEntity;
import com.nu.modules.humiddevice.api.IHumidAlarmApi;
import com.nu.modules.humiddevice.api.IHumidDeviceApi;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* 温湿度计
*/
@RestController
@RequestMapping("/api/iot/humidDevice")
public class HumidDeviceApi {
@Autowired
private IHumidDeviceApi humidDeviceApi;
@Autowired
private IHumidAlarmApi humidAlarmApi;
/**
* 分页列表查询
*
* @param humidDeviceEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/list")
public Result<IPage<HumidDeviceEntity>> queryPageList(HumidDeviceEntity humidDeviceEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.ok(humidDeviceApi.list(humidDeviceEntity, pageNo, pageSize, req));
}
/**
* 抄表
*
* @param humidDeviceEntity
* @return
*/
@GetMapping(value = "/updateDeviceRealTime")
public Result<String> updateDeviceRealTime(HumidDeviceEntity humidDeviceEntity) {
String result = humidDeviceApi.updateDeviceRealTime(humidDeviceEntity);
if (!result.equals("")) {
return Result.error("抄表失败:" + result);
}
return Result.OK("抄表成功");
}
/**
* 报修
*/
@AutoLog(value = "设备报修")
@ApiOperation(value = "设备报修", notes = "设备报修")
@RequestMapping(value = "/baoxiu", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> baoxiu(@RequestBody HumidDeviceEntity humidDeviceEntity) {
humidDeviceApi.baoxiu(humidDeviceEntity);
return Result.OK("操作成功!");
}
/**
* 抄表日志
*
* @param humidDeviceEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/logList")
public Result<IPage<HumidDeviceEntity>> queryLogPageList(HumidDeviceEntity humidDeviceEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.ok(humidDeviceApi.queryLogPageList(humidDeviceEntity, pageNo, pageSize, req));
}
/**
* 警告日志
*
* @param humidAlarmEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/jglist")
public Result<IPage<HumidAlarmEntity>> queryPageList(HumidAlarmEntity humidAlarmEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.OK(humidAlarmApi.list(humidAlarmEntity, pageNo, pageSize, req));
}
}

View File

@ -11,6 +11,9 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* 智能水表
*/
@RestController
@RequestMapping("/api/iot/water")
public class WaterApi {

View File

@ -0,0 +1,78 @@
package com.nu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.util.Date;
/**
* <p>Class:易维联-温湿度计告警Entity
* <p>功能描述:功能描述
*/
@Data
@TableName("nu_iot_yiweilian_humid_alarm")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_iot_yiweilian_humid_alarm对象", description="易维联-温湿设备告警")
public class HumidAlarmEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
@Excel(name = "设备SN号", width = 15)
@ApiModelProperty(value = "设备SN号")
private String sn;
@Excel(name = "告警ID", width = 15)
@ApiModelProperty(value = "告警ID")
private String alarmId;
@Excel(name = "告警状态ID", width = 15)
@ApiModelProperty(value = "告警状态ID")
private String wrId;
@Excel(name = "告警数据", width = 15)
@ApiModelProperty(value = "告警数据")
private String wrData;
@Excel(name = "告警内容", width = 15)
@ApiModelProperty(value = "告警内容")
private String wrContent;
@Excel(name = "告警记录时间", width = 15)
@ApiModelProperty(value = "告警记录时间")
private String wrDate;
@Excel(name = "清除告警ID", width = 15)
@ApiModelProperty(value = "清除告警ID")
private String clearAlarmId;
@Excel(name = "清除告警状态ID", width = 15)
@ApiModelProperty(value = "清除告警状态ID")
private String clearId;
@Excel(name = "清除告警数据", width = 15)
@ApiModelProperty(value = "清除告警数据")
private String clearData;
@Excel(name = "清除告警内容", width = 15)
@ApiModelProperty(value = "清除告警内容")
private String clearContent;
@Excel(name = "清除告警记录时间", width = 15)
@ApiModelProperty(value = "清除告警记录时间")
private String clearDate;
@Excel(name = "状态", width = 15)
@ApiModelProperty(value = "状态")
private String status; //状态 0告警 1清除
@TableField(exist = false)
private Date alarmStartTime;
@TableField(exist = false)
private Date alarmEndTime;
@TableField(exist = false)
private Date clearStartTime;
@TableField(exist = false)
private Date clearEndTime;
}

View File

@ -0,0 +1,11 @@
package com.nu.modules.humiddevice.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.HumidAlarmEntity;
import com.nu.entity.HumidDeviceEntity;
import javax.servlet.http.HttpServletRequest;
public interface IHumidAlarmApi {
IPage<HumidAlarmEntity> list(HumidAlarmEntity humidAlarmEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
}

View File

@ -0,0 +1,16 @@
package com.nu.modules.humiddevice.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.HumidDeviceEntity;
import javax.servlet.http.HttpServletRequest;
public interface IHumidDeviceApi {
IPage<HumidDeviceEntity> list(HumidDeviceEntity humidDeviceEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
String updateDeviceRealTime(HumidDeviceEntity humidDeviceEntity);
void baoxiu(HumidDeviceEntity humidDeviceEntity);
IPage<HumidDeviceEntity> queryLogPageList(HumidDeviceEntity humidDeviceEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
}

View File

@ -5,23 +5,32 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.entity.HumidAlarmEntity;
import com.nu.modules.humiddevice.api.IHumidAlarmApi;
import com.nu.modules.yiweilian.humid.entity.HumidAlarm;
import com.nu.modules.yiweilian.humid.mapper.HumidAlarmMapper;
import com.nu.modules.yiweilian.humid.service.IHumidAlarmService;
import com.nu.modules.yiweilian.utils.YiweilianApi;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAlarm> implements IHumidAlarmService {
public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAlarm> implements IHumidAlarmService, IHumidAlarmApi {
@Autowired
YiweilianApi yiweilianApi;
@Lazy
@Autowired
private HumidAlarmServiceImpl syncImpl;
public IPage<HumidAlarm> findPage(Page<HumidAlarm> page, HumidAlarm HumidAlarm) {
return baseMapper.findPage(page, HumidAlarm);
@ -29,6 +38,7 @@ public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAl
/**
* 获取告警数据
*
* @param HumidAlarm
* @return
*/
@ -40,6 +50,7 @@ public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAl
/**
* 获取接口请求参数
*
* @param page
* @param limit
* @param HumidAlarm
@ -64,6 +75,7 @@ public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAl
/**
* 更新告警数据
*
* @param map
* @param HumidAlarm
* @return
@ -134,5 +146,27 @@ public class HumidAlarmServiceImpl extends ServiceImpl<HumidAlarmMapper, HumidAl
}
return errorMsg;
}
@Override
public IPage<HumidAlarmEntity> list(HumidAlarmEntity humidAlarmEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
HumidAlarm humidAlarm = new HumidAlarm();
BeanUtils.copyProperties(humidAlarmEntity,humidAlarm);
Page<HumidAlarm> page = new Page<HumidAlarm>(pageNo, pageSize);
IPage<HumidAlarm> pageList = syncImpl.findPage(page, humidAlarm);
List<HumidAlarmEntity> entityList = pageList.getRecords().stream()
.map(alarm -> {
HumidAlarmEntity entity = new HumidAlarmEntity();
BeanUtils.copyProperties(alarm, entity);
return entity;
})
.collect(Collectors.toList());
// 构造新的分页对象
IPage<HumidAlarmEntity> resultPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
}

View File

@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.dto.IotHumidDeviceMQDto;
import com.nu.entity.HumidDeviceEntity;
import com.nu.modules.humiddevice.api.IHumidDeviceApi;
import com.nu.modules.syncLog.entity.SyncBizLog;
import com.nu.modules.syncLog.service.ISyncBizLogService;
import com.nu.modules.yiweilian.humid.entity.HumidDevice;
@ -21,20 +23,20 @@ import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.utils.UuidUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, HumidDevice> implements IHumidDeviceService {
public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, HumidDevice> implements IHumidDeviceService, IHumidDeviceApi {
@Autowired
YiweilianApi yiweilianApi;
@ -542,5 +544,63 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
return true;
}
@Override
public IPage<HumidDeviceEntity> list(HumidDeviceEntity humidDeviceEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
HumidDevice humidDevice = new HumidDevice();
BeanUtils.copyProperties(humidDeviceEntity, humidDevice);
Page<HumidDevice> page = new Page<HumidDevice>(pageNo, pageSize);
QueryWrapper<HumidDevice> queryWrapper = QueryGenerator.initQueryWrapper(humidDevice, req.getParameterMap());
IPage<HumidDevice> pageList = syncImpl.findPage(page, humidDevice);
List<HumidDeviceEntity> entityList = pageList.getRecords().stream()
.map(device -> {
HumidDeviceEntity entity = new HumidDeviceEntity();
BeanUtils.copyProperties(device, entity);
return entity;
})
.collect(Collectors.toList());
// 构造新的 IPage<HumidDeviceEntity>
IPage<HumidDeviceEntity> resultPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
@Override
public String updateDeviceRealTime(HumidDeviceEntity humidDeviceEntity) {
HumidDevice humidDevice = new HumidDevice();
BeanUtils.copyProperties(humidDeviceEntity, humidDevice);
return syncImpl.updateDeviceRealTime(humidDevice);
}
@Override
public void baoxiu(HumidDeviceEntity humidDeviceEntity) {
HumidDevice humidDevice = new HumidDevice();
BeanUtils.copyProperties(humidDeviceEntity, humidDevice);
syncImpl.baoxiu(humidDevice);
}
@Override
public IPage<HumidDeviceEntity> queryLogPageList(HumidDeviceEntity humidDeviceEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
HumidDevice humidDevice = new HumidDevice();
BeanUtils.copyProperties(humidDeviceEntity, humidDevice);
Page<HumidDevice> page = new Page<HumidDevice>(pageNo, pageSize);
IPage<HumidDevice> pageList = syncImpl.findLogPage(page, humidDevice);
List<HumidDeviceEntity> entityList = pageList.getRecords().stream()
.map(device -> {
HumidDeviceEntity entity = new HumidDeviceEntity();
BeanUtils.copyProperties(device, entity);
return entity;
})
.collect(Collectors.toList());
// 构造返回的分页对象
IPage<HumidDeviceEntity> resultPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
}