From 8a0a8adfbe53db564df7aaaf561a60be7d4d8dd0 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 26 九月 2024 17:52:24 +0800
Subject: [PATCH] 1. 新增监管系统中用户模糊搜索功能 2. 新增监测设备和用户的匹配关系搜索功能

---
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
index b47f19a..56e16a5 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
@@ -1,8 +1,13 @@
 package cn.flightfeather.supervision.domain.ds1.repository
 
+import cn.flightfeather.supervision.common.exception.BizException
+import cn.flightfeather.supervision.common.utils.UUIDGenerator
 import cn.flightfeather.supervision.domain.ds1.entity.Scense
 import cn.flightfeather.supervision.domain.ds1.mapper.ScenseMapper
+import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
 import org.springframework.stereotype.Repository
+import tk.mybatis.mapper.entity.Example
+import java.util.*
 
 /**
  * 鍦烘櫙淇℃伅鏁版嵁搴撶浉鍏虫搷浣�
@@ -10,12 +15,48 @@
 @Repository
 class SceneRep(
     private val scenseMapper: ScenseMapper,
+    private val userinfoMapper: UserinfoMapper,
+    private val subTaskRep: SubTaskRep,
 ) {
+
+    fun insert(scene: Scense?):Int {
+        scene ?: return 0
+        if (scene.guid == null) scene.guid = UUIDGenerator.generate16ShortUUID()
+        scene.createdate = Date()
+        return scenseMapper.insertSelective(scene)
+    }
+
+    fun findScene(userId: String?): Scense? {
+        val user = userinfoMapper.selectByPrimaryKey(userId) ?: throw BizException("鐢ㄦ埛id涓嶅瓨鍦�")
+        return scenseMapper.selectByPrimaryKey(user.dGuid)
+    }
+
+    fun findScene(sceneId: String? = null, sceneName: String? = null): Scense? {
+        return scenseMapper.selectOne(Scense().apply {
+            guid = sceneId
+            name = sceneName
+        })
+    }
+
+    fun findSceneList(scene: Scense): List<Scense?> {
+        return scenseMapper.select(scene)
+    }
+
+    fun findSceneList(nameList: List<String?>): List<Scense?> {
+        return scenseMapper.selectByExample(Example(Scense::class.java).apply {
+            createCriteria().andIn("name", nameList)
+        })
+    }
 
     /**
      * 鏌ユ壘鍦烘櫙
      */
-    fun findScene(topTaskId: String, sceneTypeId: Int? = null, townCode: String? = null): List<Scense?> {
+    fun findSceneList(topTaskId: String, sceneTypeId: Int? = null, townCode: String? = null): List<Scense?> {
         return scenseMapper.getSceneByType(topTaskId, sceneTypeId, townCode)
     }
+
+    fun findBySubTask(subTaskId: String): Scense? {
+        val subtask = subTaskRep.findOne(subTaskId)
+        return scenseMapper.selectByPrimaryKey(subtask?.scenseid)
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3