From 9cb8d7e0f4ffca386b14a15f8a0aca4d1db23252 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 30 十月 2025 15:58:45 +0800
Subject: [PATCH] 2025.10.30 新增单场景纵向统计接口
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt | 22 ++++++++++++++--------
1 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt
index 492dbbe..41ed227 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt
@@ -280,7 +280,7 @@
return BaseResponse(true, "璇锋眰鎴愬姛", data = result)
}
- override fun getSceneDetail(sceneId: String): BaseResponse<SceneDetail> {
+ override fun getSceneDetail(sceneId: String): SceneDetail {
val sceneDetail = SceneDetail()
val scene = sceneRep.findScene(sceneId = sceneId)
@@ -302,10 +302,10 @@
val sceneDevice = sceneDeviceMapper.selectByPrimaryKey(sceneId)
sceneDetail.sceneDevice = sceneDevice
- return BaseResponse(true, data = sceneDetail)
+ return sceneDetail
}
- override fun updateSceneDetail(typeId: Int, sceneDetailStr: SceneDetailStr): BaseResponse<String> {
+ override fun updateSceneDetail(typeId: Int, sceneDetailStr: SceneDetailStr): String {
val result = StringBuilder()
if (sceneDetailStr.scense?.guid != null) {
@@ -329,6 +329,7 @@
when (typeId.toString()) {
Constant.SceneType.TYPE1.value -> {
val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneConstructionSite::class.java)
+ subScene.csUpdateTime = Date()
if (subScene.getsGuid() != null) {
val record = sceneConstructionSiteMapper.selectByPrimaryKey(subScene.getsGuid())
isUpdate = record != null
@@ -379,7 +380,7 @@
result.append("鍦烘櫙鐗规湁淇℃伅${if (isUpdate) "鏇存柊" else "鏂板"}: $r; ")
}
- return BaseResponse(true, data = result.toString())
+ return result.toString()
}
override fun searchScene(areaVo: AreaVo, page: Int?, perPage: Int?): BaseResponse<List<Scense>> {
@@ -411,17 +412,22 @@
return locationRoadNearby.searchByRadius(Pair(lng, lat), radius)
}
- override fun importSceneInfo(file: MultipartFile): Boolean {
- val f = ByteArrayInputStream(file.bytes)
+ override fun importSceneInfo(files: Array<MultipartFile>): Boolean {
+ if (files.isEmpty()) throw BizException("鏈纭笂浼犳枃浠讹紝鎺ュ彛璋冪敤閿欒")
+
+ val f = ByteArrayInputStream(files[0].bytes)
val scenes = sceneImport.readFromFile(f)
+ if (scenes.isEmpty()) throw BizException("鏂囦欢鍐呭涓虹┖")
// 鏌ユ壘鍦烘櫙鍚嶇О鏄惁閲嶅
- val names = scenes.map { it.name }
+ val names = scenes.map { it.scense?.name }
sceneRep.findSceneList(names).map { it?.name }.ifNotEmpty {
val str = this.joinToString("锛�")
throw BizException("瀛樺湪閲嶅鍦烘櫙锛屽涓嬶細${str}")
}
scenes.forEach {
- createOneScene(it)
+ it.scense ?: return@forEach
+ createOneScene(it.scense!!)
+ sceneRep.insertOrUpdateSubScene(it.scense!!.typeid?.toInt(), it.scense!!.guid, it.subScene)
}
return true
}
--
Gitblit v1.9.3