From 6e1095e946997e406926c204ceeb5c820dbd07c1 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期二, 13 八月 2024 23:51:47 +0800
Subject: [PATCH] 1. 修复文件扩展名获取错误问题 2. 调试完善设备信息相关接口

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt           |    4 ++--
 src/main/kotlin/cn/flightfeather/supervision/common/utils/FileUtil.kt                     |    2 +-
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/DeviceRep.kt           |   10 ++++++++++
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DeviceServiceImpl.kt |   11 ++++++-----
 4 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/utils/FileUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/common/utils/FileUtil.kt
index dc7edd0..ba6dae3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/common/utils/FileUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/utils/FileUtil.kt
@@ -130,7 +130,7 @@
     fun saveFiles(files: Array<MultipartFile>, basePath: String, path: String): List<String> {
         val pathList = mutableListOf<String>()
         files.forEach { file ->
-            val ext = file.resource.file.extension
+            val ext = file.originalFilename?.split(".")?.last()
             val fileName = UUID.randomUUID().toString() + "." + ext
             pathList.add("$path$fileName")
             val absolutePath = "${basePath}/$path/"
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/DeviceRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/DeviceRep.kt
index 7d7c7ac..c43bd1a 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/DeviceRep.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/DeviceRep.kt
@@ -7,6 +7,7 @@
 import cn.flightfeather.supervision.domain.ds1.mapper.TreatmentDeviceInfoMapper
 import cn.flightfeather.supervision.domain.ds1.mapper.ProductionDeviceInfoMapper
 import org.springframework.stereotype.Repository
+import java.util.*
 
 /**
  *
@@ -65,12 +66,18 @@
      * 鎻掑叆璁惧淇℃伅
      */
     fun insertDevice(monitorDeviceInfo: MonitorDeviceInfo): Int {
+        monitorDeviceInfo.diCreateTime = Date()
+        monitorDeviceInfo.diUpdateTime = Date()
         return monitorDeviceInfoMapper.insert(monitorDeviceInfo)
     }
     fun insertDevice(treatmentDeviceInfo: TreatmentDeviceInfo): Int {
+        treatmentDeviceInfo.piCreateTime = Date()
+        treatmentDeviceInfo.piUpdateTime = Date()
         return treatmentDeviceInfoMapper.insert(treatmentDeviceInfo)
     }
     fun insertDevice(productionDeviceInfo: ProductionDeviceInfo): Int {
+        productionDeviceInfo.wiCreateTime = Date()
+        productionDeviceInfo.wiUpdateTime = Date()
         return productionDeviceInfoMapper.insert(productionDeviceInfo)
     }
 
@@ -78,12 +85,15 @@
      * 鏇存柊璁惧淇℃伅
      */
     fun updateDevice(monitorDeviceInfo: MonitorDeviceInfo): Int {
+        monitorDeviceInfo.diUpdateTime = Date()
         return monitorDeviceInfoMapper.updateByPrimaryKey(monitorDeviceInfo)
     }
     fun updateDevice(treatmentDeviceInfo: TreatmentDeviceInfo): Int {
+        treatmentDeviceInfo.piUpdateTime = Date()
         return treatmentDeviceInfoMapper.updateByPrimaryKey(treatmentDeviceInfo)
     }
     fun updateDevice(productionDeviceInfo: ProductionDeviceInfo): Int {
+        productionDeviceInfo.wiUpdateTime = Date()
         return productionDeviceInfoMapper.updateByPrimaryKey(productionDeviceInfo)
     }
 
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DeviceServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DeviceServiceImpl.kt
index eac25dd..619c65d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DeviceServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DeviceServiceImpl.kt
@@ -34,17 +34,14 @@
         return when (deviceType) {
             Constant.DeviceType.MONITOR_DEVICE -> {
                 val info = Gson().fromJson(deviceInfo, MonitorDeviceInfo::class.java)
-                info.diCreateTime = Date()
                 deviceRep.insertDevice(info)
             }
             Constant.DeviceType.TREATMENT_DEVICE -> {
                 val info = Gson().fromJson(deviceInfo, TreatmentDeviceInfo::class.java)
-                info.piCreateTime = Date()
                 deviceRep.insertDevice(info)
             }
             Constant.DeviceType.PRODUCTION_DEVICE -> {
                 val info = Gson().fromJson(deviceInfo, ProductionDeviceInfo::class.java)
-                info.wiCreateTime = Date()
                 deviceRep.insertDevice(info)
             }
         }
@@ -72,13 +69,17 @@
         deviceId: Int,
         deviceType: Constant.DeviceType,
     ): List<DeviceStatus> {
-        return emptyList()
+        return deviceRep.findStatuses(DeviceStatus().apply {
+            dlDeviceId = deviceId
+            dlDeviceType = deviceType.value
+            dlSceneGuid = sceneId
+        })
     }
 
     override fun insertDeviceLocation(deviceLocation: String, files: Array<MultipartFile>): Int {
         val obj = JsonUtil.gson.fromJson(deviceLocation, DeviceStatus::class.java)
         val time = DateUtil.DateToString(obj.dlCreateTime, DateUtil.DateStyle.YYYY_MM_DD)
-        val picPath = FileUtil.saveFiles(files, imgPath, "device/${obj.dlId}/${time}")
+        val picPath = FileUtil.saveFiles(files, imgPath, "device/${obj.dlSceneGuid}/${obj.dlDeviceId}/${time}")
         obj.dlPicUrl = picPath.joinToString(";")
         obj.dlCreateTime = Date()
         return deviceRep.insertStatus(obj)
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 6080ea0..e402b35 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt
@@ -44,14 +44,14 @@
     ) = resPack { deviceService.findDeviceLocations(sceneId, deviceId, Constant.DeviceType.fromValue(deviceTypeId)) }
 
     @ApiOperation("鏂板鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅")
-    @PutMapping("/status/upload")
+    @PostMapping("/status/upload")
     fun uploadDeviceLocation(
         @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String,
         @ApiParam("璁惧鍥剧墖") @RequestPart("images") images: Array<MultipartFile>,
     ) = resPack { deviceService.insertDeviceLocation(status, images) }
 
     @ApiOperation("鏇存柊鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅")
-    @PutMapping("/status/update")
+    @PostMapping("/status/update")
     fun updateDeviceLocation(
         @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String,
         @ApiParam("鍒犻櫎鐨勮澶囧浘鐗囪矾寰�") @RequestParam("deleteImg") deleteImg: List<String>,

--
Gitblit v1.9.3