feiyu02
2024-09-25 0516cba27e632f20efac2752787f38f0c87baafa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package cn.flightfeather.supervision.lightshare.web
 
import cn.flightfeather.supervision.common.utils.Constant
import cn.flightfeather.supervision.domain.ds1.entity.MonitorDeviceInfo
import cn.flightfeather.supervision.lightshare.service.DeviceService
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import org.springframework.web.bind.annotation.*
import org.springframework.web.multipart.MultipartFile
 
@Api(tags = ["DeviceController"], description = "监管场景相关设备API接口")
@RestController
@RequestMapping("/device")
class DeviceController(private val deviceService: DeviceService) {
 
    @ApiOperation("获取场景设备信息")
    @GetMapping
    fun fetchDevice(
        @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("设备信息") @RequestBody deviceInfo: String,
        @ApiParam("设备类型id") @RequestParam deviceTypeId: Byte,
    ) = resPack { deviceService.insertDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId)) }
 
    @ApiOperation("更新场景设备信息")
    @PostMapping("/update")
    fun updateDevice(
        @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("新增场景设备位置变更信息")
    @PostMapping("/status/upload")
    fun uploadDeviceLocation(
        @ApiParam("设备位置信息json") @RequestParam("status") status: String,
        @ApiParam("设备图片") @RequestPart("images") images: Array<MultipartFile>,
    ) = resPack { deviceService.insertDeviceLocation(status, images) }
 
    @ApiOperation("更新场景设备位置变更信息")
    @PostMapping("/status/update")
    fun updateDeviceLocation(
        @ApiParam("设备位置信息json") @RequestParam("status") status: String,
        @ApiParam("删除的设备图片路径") @RequestParam("deleteImg") deleteImg: List<String>,
        @ApiParam("设备图片") @RequestPart("images") images: Array<MultipartFile>,
    ) = resPack { deviceService.updateDeviceLocation(status, deleteImg, images) }
}