From 7d74f3fd087d4a8192ed556a6c2e3a2ea3c81cff Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 28 三月 2025 17:43:48 +0800 Subject: [PATCH] 1. 新增扬尘监测数据上传功能 --- src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt index 7ee606f..96e94e5 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt @@ -1,7 +1,9 @@ package cn.flightfeather.supervision.lightshare.web -import cn.flightfeather.supervision.domain.ds1.entity.DeviceInfo +import cn.flightfeather.supervision.common.utils.Constant +import cn.flightfeather.supervision.domain.ds1.entity.MonitorDeviceInfo import cn.flightfeather.supervision.lightshare.service.DeviceService +import cn.flightfeather.supervision.lightshare.vo.AreaVo import io.swagger.annotations.Api import io.swagger.annotations.ApiOperation import io.swagger.annotations.ApiParam @@ -16,33 +18,57 @@ @ApiOperation("鑾峰彇鍦烘櫙璁惧淇℃伅") @GetMapping fun fetchDevice( - @ApiParam("鍦烘櫙id") sceneId: String, - ) = resPack { deviceService.findDevices(sceneId) } + @ApiParam("鍦烘櫙id") @RequestParam sceneId: String, + @ApiParam("璁惧绫诲瀷id", allowableValues = "0,1,2") @RequestParam deviceTypeId: Byte, + ) = resPack { deviceService.findDevices(sceneId, Constant.DeviceType.fromValue(deviceTypeId)) } @ApiOperation("鏂板鍦烘櫙璁惧淇℃伅") @PutMapping("/upload") fun uploadDevice( - @ApiParam("璁惧淇℃伅") deviceInfo: DeviceInfo, - ) = resPack { deviceService.insertDevice(deviceInfo) } + @ApiParam("璁惧淇℃伅") @RequestBody deviceInfo: String, + @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte, + ) = resPack { deviceService.insertDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId)) } @ApiOperation("鏇存柊鍦烘櫙璁惧淇℃伅") @PostMapping("/update") fun updateDevice( - @ApiParam("璁惧淇℃伅") deviceInfo: DeviceInfo, - ) = resPack { deviceService.updateDevice(deviceInfo) } + @ApiParam("璁惧淇℃伅") @RequestBody deviceInfo: String, + @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte, + ) = resPack { deviceService.updateDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId)) } + + @ApiOperation("鑾峰彇鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅") + @GetMapping("/status") + fun fetchDeviceLocation( + @ApiParam("鍦烘櫙id") @RequestParam(required = false) sceneId: String?, + @ApiParam("璁惧id") @RequestParam deviceId: Int, + @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte, + ) = resPack { deviceService.findDeviceLocations(sceneId, deviceId, Constant.DeviceType.fromValue(deviceTypeId)) } @ApiOperation("鏂板鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅") - @PutMapping("/location/upload") + @PostMapping("/status/upload") fun uploadDeviceLocation( - @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("location") location: String, + @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String, @ApiParam("璁惧鍥剧墖") @RequestPart("images") images: Array<MultipartFile>, - ) = resPack { deviceService.insertDeviceLocation(location, images) } + ) = resPack { deviceService.insertDeviceLocation(status, images) } @ApiOperation("鏇存柊鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅") - @PutMapping("/location/update") + @PostMapping("/status/update") fun updateDeviceLocation( - @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("location") location: String, - @ApiParam("鍒犻櫎鐨勮澶囧浘鐗囪矾寰�") @RequestPart("deleteImg") deleteImg: List<String>, + @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String, + @ApiParam("鍒犻櫎鐨勮澶囧浘鐗囪矾寰�") @RequestParam("deleteImg") deleteImg: List<String>, @ApiParam("璁惧鍥剧墖") @RequestPart("images") images: Array<MultipartFile>, - ) = resPack { deviceService.updateDeviceLocation(location, deleteImg, images) } + ) = resPack { deviceService.updateDeviceLocation(status, deleteImg, images) } + + @ApiOperation("鏌ヨ浠庡閮ㄨ幏鍙栫殑璁惧淇℃伅") + @PostMapping("/external/search") + fun searchExternalDevice( + @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody + areaVo: AreaVo, + @ApiParam("鎼滅储鍏抽敭瀛楋紝鍖归厤璁惧缂栧彿鍜岀偣浣嶅悕绉�") @RequestParam + keyword: String, + @ApiParam("鏌ヨ椤电爜", defaultValue = "1", required = false) @RequestParam("page", required = false) + page: Int?, + @ApiParam("鍗曢〉鏁版嵁閲�", defaultValue = "30", required = false) @RequestParam("per_page", required = false) + perPage: Int?, + ) = resPack { deviceService.searchExternalDevice(areaVo, keyword, page, perPage) } } \ No newline at end of file -- Gitblit v1.9.3