添加解锁锁定字段

This commit is contained in:
Flow 2025-08-21 10:38:43 +08:00
parent a6353e1d2f
commit 05f214a9c9
8 changed files with 103 additions and 0 deletions

View File

@ -126,4 +126,22 @@ public class DeviceController {
return success(data); return success(data);
} }
@PutMapping("/lockDevice")
@Operation(summary = "锁定/解锁设备")
@Parameter(name = "devicecode", description = "设备编号", required = true)
@Parameter(name = "devicestatus", description = "设备状态", required = true)
public CommonResult<Boolean> lockDevice(@RequestParam("devicecode") Integer devicecode,
@RequestParam("devicestatus") Integer devicestatus) {
deviceService.lockDevice(devicecode, devicestatus);
return success(true);
}
@PutMapping("/restartDevice")
@Operation(summary = "重启设备")
@Parameter(name = "devicecode", description = "设备编号", required = true)
public CommonResult<Boolean> restartDevice(@RequestParam("devicecode") Integer devicecode) {
deviceService.restartDevice(devicecode);
return success(true);
}
} }

View File

@ -53,4 +53,12 @@ public class DevicePageReqVO extends PageParam {
@Schema(description = "更新人") @Schema(description = "更新人")
private String updateby; private String updateby;
@Schema(description = "最近在线时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] onlinetime;
@Schema(description = "是否重启")
private Integer restart;
} }

View File

@ -64,4 +64,13 @@ public class DeviceRespVO {
@ExcelProperty("更新人") @ExcelProperty("更新人")
private String updateby; private String updateby;
@Schema(description = "最近在线时间")
@ExcelProperty("最近在线时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime onlinetime;
@Schema(description = "是否重启")
@ExcelProperty("是否重启")
private Integer restart;
} }

View File

@ -52,4 +52,11 @@ public class DeviceSaveReqVO {
@Schema(description = "更新人") @Schema(description = "更新人")
private String updateby; private String updateby;
@Schema(description = "最近在线时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime onlinetime;
@Schema(description = "是否重启")
private Integer restart;
} }

View File

@ -86,5 +86,15 @@ public class DeviceDO {
*/ */
@TableField("updateby") @TableField("updateby")
private String updateby; private String updateby;
/**
* 最近在线时间
*/
@TableField("onlinetime")
private LocalDateTime onlinetime;
/**
* 是否重启
*/
@TableField("restart")
private Integer restart;
} }

View File

@ -42,6 +42,8 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
wrapper.betweenIfPresent(DeviceDO::getUpdatetime, reqVO.getUpdatetime()); wrapper.betweenIfPresent(DeviceDO::getUpdatetime, reqVO.getUpdatetime());
wrapper.eqIfPresent(DeviceDO::getCreateby, reqVO.getCreateby()); wrapper.eqIfPresent(DeviceDO::getCreateby, reqVO.getCreateby());
wrapper.eqIfPresent(DeviceDO::getUpdateby, reqVO.getUpdateby()); wrapper.eqIfPresent(DeviceDO::getUpdateby, reqVO.getUpdateby());
wrapper.eqIfPresent(DeviceDO::getOnlinetime, reqVO.getOnlinetime());
wrapper.eqIfPresent(DeviceDO::getRestart, reqVO.getRestart());
wrapper.orderByDesc(DeviceDO::getId); wrapper.orderByDesc(DeviceDO::getId);
return selectPage(reqVO, wrapper); return selectPage(reqVO, wrapper);
@ -62,6 +64,8 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
wrapper.betweenIfPresent(DeviceDO::getUpdatetime, reqVO.getUpdatetime()); wrapper.betweenIfPresent(DeviceDO::getUpdatetime, reqVO.getUpdatetime());
wrapper.eqIfPresent(DeviceDO::getCreateby, reqVO.getCreateby()); wrapper.eqIfPresent(DeviceDO::getCreateby, reqVO.getCreateby());
wrapper.eqIfPresent(DeviceDO::getUpdateby, reqVO.getUpdateby()); wrapper.eqIfPresent(DeviceDO::getUpdateby, reqVO.getUpdateby());
wrapper.eqIfPresent(DeviceDO::getOnlinetime, reqVO.getOnlinetime());
wrapper.eqIfPresent(DeviceDO::getRestart, reqVO.getRestart());
wrapper.orderByDesc(DeviceDO::getId); wrapper.orderByDesc(DeviceDO::getId);
return selectPage(reqVO, wrapper); return selectPage(reqVO, wrapper);
} }

View File

@ -85,4 +85,19 @@ public interface DeviceService {
* 首页查询设备地图分布接口 * 首页查询设备地图分布接口
* */ * */
DeviceMapVO getDeviceMapData(Integer orgid); DeviceMapVO getDeviceMapData(Integer orgid);
/**
* 锁定/解锁设备
*
* @param devicecode 设备编号
* @param devicestatus 设备状态
*/
void lockDevice(Integer devicecode, Integer devicestatus);
/**
* 重启设备
*
* @param devicecode 设备编号
*/
void restartDevice(Integer devicecode);
} }

View File

@ -148,4 +148,36 @@ public class DeviceServiceImpl implements DeviceService {
return result; return result;
} }
@Override
public void lockDevice(Integer devicecode, Integer devicestatus) {
// 校验设备是否存在
DeviceDO device = deviceMapper.selectOne(DeviceDO::getDevicecode, devicecode);
if (device == null) {
throw exception(DEVICE_NOT_EXISTS);
}
// 更新设备状态锁定/解锁
DeviceDO updateObj = new DeviceDO();
updateObj.setDevicestatus(devicestatus);
// 使用QueryWrapper构建更新条件
QueryWrapper<DeviceDO> wrapper = new QueryWrapper<>();
wrapper.eq("devicecode", devicecode);
deviceMapper.update(updateObj, wrapper);
}
@Override
public void restartDevice(Integer devicecode) {
// 校验设备是否存在
DeviceDO device = deviceMapper.selectOne(DeviceDO::getDevicecode, devicecode);
if (device == null) {
throw exception(DEVICE_NOT_EXISTS);
}
// 设置重启字段为1
DeviceDO updateObj = new DeviceDO();
updateObj.setRestart(1);
// 使用QueryWrapper构建更新条件
QueryWrapper<DeviceDO> wrapper = new QueryWrapper<>();
wrapper.eq("devicecode", devicecode);
deviceMapper.update(updateObj, wrapper);
}
} }