Vo类的代码
package com.meilingcloud.biobank.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* 通过时间查询设备历史数据Vo
*
* @author WeiWei
* @date 2022/08/24
*/
@Data
public class GetDeviceHistoryDataByTimeReqVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 通过时间查询设备历史数据接口入参
*
* @author WeiWei
* @date 2022/08/29
*/
public interface GetDeviceHistoryDataByTime {
}
/**
* 通过时间分页查询设备历史数据接口入参
*
* @author WeiWei
* @date 2022/08/29
*/
public interface GetDeviceHistoryDataByTimeToPaging{
}
/**
* 通过时间导出设备基础数据接口入参
*
* @author WeiWei
* @date 2022/08/29
*/
public interface ExportDeviceHistoryDataByTime{
}
/**
* 开始时间
*/
@NotNull(message = "开始时间不能为空",groups = {GetDeviceHistoryDataByTime.class,GetDeviceHistoryDataByTimeToPaging.class,ExportDeviceHistoryDataByTime.class})
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Timestamp startTime;
/**
* 结束时间
*/
@NotNull(message = "结束时间不能为空",groups = {GetDeviceHistoryDataByTime.class,GetDeviceHistoryDataByTimeToPaging.class,ExportDeviceHistoryDataByTime.class})
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Timestamp endTime;
/**
* 设备id
*/
@NotNull(message = "设备id不能为空",groups = {GetDeviceHistoryDataByTime.class,GetDeviceHistoryDataByTimeToPaging.class,ExportDeviceHistoryDataByTime.class})
private String deviceId;
/**
* 设备类型(1:冷藏箱 2:液氮罐 3:超低温冰箱)
*/
@NotNull(message = "设备类型不能为空",groups = {GetDeviceHistoryDataByTime.class,GetDeviceHistoryDataByTimeToPaging.class,ExportDeviceHistoryDataByTime.class})
private String deviceType;
/**
* 页码
*/
@NotNull(message = "页码不能为空",groups = {GetDeviceHistoryDataByTimeToPaging.class})
private Integer pageNum;
/**
* 页大小
*/
@NotNull(message = "页大小不能为空",groups = {GetDeviceHistoryDataByTimeToPaging.class})
private Integer pageSize;
/**
* 排序字段
*/
@NotNull(message = "排序字段不能为空",groups = {GetDeviceHistoryDataByTimeToPaging.class})
private String orderByColumn;
/**
* 排序的方向 "desc" 或者 "asc"
*/
@NotNull(message = "排序的方向不能为空",groups = {GetDeviceHistoryDataByTimeToPaging.class})
private String isAsc;
}
在controller类的用法
package com.meilingcloud.web.controller.taos;
import com.meilingcloud.biobank.domain.UltraColdData;
import com.meilingcloud.biobank.domain.vo.DeviceBaseDataToPagingVo;
import com.meilingcloud.biobank.domain.vo.GetDeviceHistoryDataByTimeReqVo;
import com.meilingcloud.biobank.service.DataUploadService;
import com.meilingcloud.common.annotation.Log;
import com.meilingcloud.common.core.domain.AjaxResult;
import com.meilingcloud.common.enums.BusinessType;
import com.meilingcloud.system.domain.vo.AppPageBase;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 物联网设备数据上传控制器
*
* @author WeiWei
* @date 2022/08/22
*/
@RestController
@RequestMapping("/dataUpload")
@RequiredArgsConstructor
public class DataUploadController {
private final DataUploadService dataUploadService;
@Log(title = "数据上传", businessType = BusinessType.INSERT)
@PostMapping("/coldData")
public AjaxResult coldData(@RequestBody UltraColdData ultraColdData) {
boolean result = dataUploadService.insertOneUltraColdData(ultraColdData);
return result ? AjaxResult.success() : AjaxResult.error();
}
/**
* 分页查询所有设备基础数据列表
*
* @return {@link AjaxResult}
*/
@PostMapping("/getAllDeviceBaseDataListToPaging")
public AjaxResult getAllDeviceBaseDataListToPaging(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) {
DeviceBaseDataToPagingVo result = dataUploadService.getAllDeviceBaseDataListToPaging(pageNum,pageSize);
return AjaxResult.success(result);
}
/**
* 通过时间查询设备历史数据
*
* @return {@link AjaxResult}
*/
@PostMapping("/getDeviceHistoryDataByTime")
public AjaxResult getDeviceHistoryDataByTime(@Validated(GetDeviceHistoryDataByTimeReqVo.GetDeviceHistoryDataByTime.class) @RequestBody GetDeviceHistoryDataByTimeReqVo reqVo) {
List<?> result = dataUploadService.getDeviceHistoryDataByTime(reqVo);
return AjaxResult.success(result);
}
/**
* 通过时间分页查询设备历史数据
*
* @return {@link AjaxResult}
*/
@PostMapping("/getDeviceHistoryDataByTimeToPaging")
public AjaxResult getDeviceHistoryDataByTimeToPaging(@Validated(GetDeviceHistoryDataByTimeReqVo.GetDeviceHistoryDataByTimeToPaging.class) @RequestBody GetDeviceHistoryDataByTimeReqVo reqVo) {
AppPageBase appPageBaseResult = dataUploadService.getDeviceHistoryDataByTimeToPaging(reqVo);
return AjaxResult.success(appPageBaseResult);
}
/**
* 通过时间分页查询设备历史告警数据
*
* @return {@link AjaxResult}
*/
@PostMapping("/getDeviceHistoryAlarmDataByTimeToPaging")
public AjaxResult getDeviceHistoryAlarmDataByTimeToPaging(@RequestBody GetDeviceHistoryDataByTimeReqVo reqVo) {
AppPageBase appPageBaseResult = dataUploadService.getDeviceHistoryDataByTimeToPaging(reqVo);
return AjaxResult.success(appPageBaseResult);
}
/**
* 通过时间导出设备基础数据
*/
@PreAuthorize("@ss.hasPermi('biobank:taos:export')")
@Log(title = "通过时间导出设备基础数据", businessType = BusinessType.EXPORT)
@PostMapping("/exportDeviceHistoryDataByTime")
public AjaxResult exportDeviceHistoryDataByTime(@Validated(GetDeviceHistoryDataByTimeReqVo.ExportDeviceHistoryDataByTime.class) @RequestBody GetDeviceHistoryDataByTimeReqVo reqVo) {
return dataUploadService.exportDeviceHistoryDataByTime(reqVo);
}
}