From c03e1d823eb86c856ecbe40d8d2180ffce7c7b0f Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 14 十一月 2025 17:45:39 +0800
Subject: [PATCH] 2025.11.14 新增值域的增删改接口

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomainitemServiceImpl.kt |  101 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 92 insertions(+), 9 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomainitemServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomainitemServiceImpl.kt
index 62c497c..a560f0b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomainitemServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomainitemServiceImpl.kt
@@ -1,6 +1,8 @@
 package cn.flightfeather.supervision.lightshare.service.impl
 
+import cn.flightfeather.supervision.common.exception.BizException
 import cn.flightfeather.supervision.common.utils.Constant
+import cn.flightfeather.supervision.common.utils.UUIDGenerator
 import cn.flightfeather.supervision.domain.ds1.entity.Domainitem
 import cn.flightfeather.supervision.domain.ds1.mapper.DomainitemMapper
 import cn.flightfeather.supervision.lightshare.service.DomainitemService
@@ -45,7 +47,7 @@
         val domainitemVoList = mutableListOf<DomainitemVo>()
         val domainitem = Domainitem()
         domainitem.dcguid = guid
-        val domainitemList = domainitemMapper.select(domainitem)
+        val domainitemList = domainitemMapper.select(domainitem).also { it.sortBy { it1 -> it1.index } }
         domainitemList.forEach {
             val domainitemVo = DomainitemVo()
             BeanUtils.copyProperties(it, domainitemVo)
@@ -74,20 +76,40 @@
         return domainitemVoList
     }
 
-    override fun save(domainitem: Domainitem): Int = domainitemMapper.insert(domainitem)
+    override fun save(domainitem: Domainitem): Domainitem{
+        if (domainitem.guid == null) {
+            domainitem.guid = UUIDGenerator.generate16ShortUUID()
+        }
+        return if (domainitemMapper.insert(domainitem) == 1) {
+            domainitem
+        } else {
+            throw BizException("鍊煎煙椤规柊澧炲け璐�")
+        }
+    }
 
-    override fun update(domainitem: Domainitem): Int = domainitemMapper.updateByPrimaryKey(domainitem)
+    override fun update(domainitem: Domainitem): Domainitem {
+        // 2025.11.11 鏂板鐗堟湰鍙峰姣旈�昏緫锛岃嫢鏇存柊鐨勯厤缃俊鎭増鏈彿绛変簬鏁版嵁鍘嗗彶鐗堟湰鍙凤紝鎵嶈兘鏇存柊
+        val oldOne = domainitemMapper.selectByPrimaryKey(domainitem.guid)
+        if ((domainitem.remark == oldOne.remark)) {
+            // 鏇存柊鏃讹紝鐗堟湰鍙烽�掑
+            domainitem.remark = domainitem.remark?.toInt()?.plus(1)?.toString() ?: "1"
+            domainitemMapper.updateByPrimaryKey(domainitem)
+        } else {
+            throw BizException("鍊煎煙椤规洿鏂板け璐ワ紝鐗堟湰鍙蜂笉涓�鑷�")
+        }
+        return domainitem
+    }
 
     override fun delete(id: String): Int = domainitemMapper.deleteByPrimaryKey(id)
 
     override fun getLocation(sceneType: Int): List<Domainitem> {
         val lId = when (sceneType.toString()) {
-            Constant.ScenseType.TYPE1.value -> Constant.INDUSTRY_LOCATION_ID
-            Constant.ScenseType.TYPE2.value -> Constant.WHARF_LOCATION_ID
-            Constant.ScenseType.TYPE14.value -> Constant.STORAGE_YARD_LOCATION_ID
-            Constant.ScenseType.TYPE3.value -> Constant.MIX_LOCATION_ID
-            Constant.ScenseType.TYPE5.value -> Constant.RESTAURANT_LOCATION_ID
-            Constant.ScenseType.TYPE6.value -> Constant.Vehicle_LOCATION_ID
+            Constant.SceneType.TYPE1.value -> Constant.INDUSTRY_LOCATION_ID
+            Constant.SceneType.TYPE2.value -> Constant.WHARF_LOCATION_ID
+            Constant.SceneType.TYPE14.value -> Constant.STORAGE_YARD_LOCATION_ID
+            Constant.SceneType.TYPE3.value -> Constant.MIX_LOCATION_ID
+            Constant.SceneType.TYPE5.value -> Constant.RESTAURANT_LOCATION_ID
+            Constant.SceneType.TYPE6.value -> Constant.Vehicle_LOCATION_ID
             else -> Constant.INDUSTRY_LOCATION_ID
         }
 
@@ -96,4 +118,65 @@
             orderBy("index")
         })
     }
+
+    override fun getTaskType(): List<Domainitem> {
+        return domainitemMapper.selectByExample(Example(Domainitem::class.java).apply {
+            createCriteria().andEqualTo("dcguid", Constant.DOMAIN_GUID_TASK_TYPE)
+            orderBy("index")
+        })
+    }
+
+    override fun getDeadlineType(): List<Domainitem> {
+        return domainitemMapper.selectByExample(Example(Domainitem::class.java).apply {
+            createCriteria().andEqualTo("dcguid", Constant.DOMAIN_GUID_TASK_DEADLINE_TYPE)
+            orderBy("index")
+        })
+    }
+
+    override fun getLevelType(): List<Domainitem> {
+        return domainitemMapper.selectByExample(Example(Domainitem::class.java).apply {
+            createCriteria().andEqualTo("dcguid", Constant.DOMAIN_GUID_TASK_LEVEL)
+            orderBy("index")
+        })
+    }
+
+    override fun getMediaFileType(sceneType: Int?): MutableMap<String?, String?> {
+        val res = mutableMapOf<String?, String?>()
+        val type = Constant.SceneType.getByValue(sceneType.toString())
+        when (type) {
+            // 宸ュ湴
+            Constant.SceneType.TYPE1 -> {
+                val domainItems = domainitemMapper.selectByExample(Example(Domainitem::class.java).apply {
+                    createCriteria().andEqualTo("dcguid", Constant.MEDIA_FILE_TYPE_INDUSTRY)
+                    orderBy("index")
+                })
+                domainItems.forEach { res[it.value] = it.text }
+                // 宸ュ湴涓殑浠绘剰鎷嶅寘鍚�滃父瑙勮褰曗�濈被鍨�
+                res[Constant.MediaFileType.RoutineRecord.value.toString()] = Constant.MediaFileType.RoutineRecord.des
+                return res
+            }
+            // 椁愰ギ
+            Constant.SceneType.TYPE5 -> {
+                val domainItems = domainitemMapper.selectByExample(Example(Domainitem::class.java).apply {
+                    createCriteria().andEqualTo("dcguid", Constant.MEDIA_FILE_TYPE_RESTAURANT)
+                    orderBy("index")
+                })
+                domainItems.forEach { res[it.value] = it.text }
+                // 椁愰ギ涓殑浠绘剰鎷嶅寘鍚�滃父瑙勮褰曗�濈被鍨�
+                res[Constant.MediaFileType.RoutineRecord.value.toString()] = Constant.MediaFileType.RoutineRecord.des
+                return res
+            }
+            // 鍏朵綑绫诲瀷鍦烘櫙锛屼娇鐢ㄩ粯璁ょ殑鍒嗙被
+            else -> {
+                listOf(
+                    Constant.MediaFileType.Nameplate,
+                    Constant.MediaFileType.MonitorDevice,
+                    Constant.MediaFileType.RoutineRecord,
+                ).forEach {
+                    res[it.value.toString()] = it.des
+                }
+            }
+        }
+        return res
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3