From 1a677d2b4a4bc615602f8c2a22bc07ec1356e5be Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 16 十月 2025 17:39:06 +0800
Subject: [PATCH] 2025.10.16 1. 根据全局响应增强器GlobalResponseAdvice,将原先的BaseResPack接口包装函数统一去除; 2. 新增三种类型的数据产品数据库实体 3. 新增典型问题场景清单中间数据产品接口
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomaincatalogServiceImpl.kt | 80 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 77 insertions(+), 3 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomaincatalogServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomaincatalogServiceImpl.kt
index 34c5a2e..94b7445 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomaincatalogServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DomaincatalogServiceImpl.kt
@@ -1,14 +1,26 @@
package cn.flightfeather.supervision.lightshare.service.impl
-import cn.flightfeather.supervision.domain.ds1.entity.Domaincatalog
-import cn.flightfeather.supervision.domain.ds1.mapper.DomaincatalogMapper
+import cn.flightfeather.supervision.common.utils.Constant
+import cn.flightfeather.supervision.common.utils.UUIDGenerator
+import cn.flightfeather.supervision.domain.ds1.entity.*
+import cn.flightfeather.supervision.domain.ds1.mapper.*
import cn.flightfeather.supervision.lightshare.service.DomaincatalogService
+import cn.flightfeather.supervision.lightshare.vo.AreaVo
import cn.flightfeather.supervision.lightshare.vo.DomaincatalogVo
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Service
+import org.springframework.transaction.annotation.Transactional
+import tk.mybatis.mapper.entity.Example
+import java.util.*
@Service
-class DomaincatalogServiceImpl(val domaincatalogMapper: DomaincatalogMapper) : DomaincatalogService {
+class DomaincatalogServiceImpl(
+ private val domaincatalogMapper: DomaincatalogMapper,
+ private val problemtypeMapper: ProblemtypeMapper,
+ private val changeAdviceMapper: ChangeAdviceMapper,
+ private val evaluationruleMapper: EvaluationruleMapper,
+ private val evaluationsubruleMapper: EvaluationsubruleMapper,
+) : DomaincatalogService {
//鏍规嵁name鏌ヨ
override fun findOneByName(name: String): Domaincatalog? {
val domaincatalog = Domaincatalog()
@@ -35,4 +47,66 @@
override fun update(domaincatalog: Domaincatalog): Int = domaincatalogMapper.updateByPrimaryKey(domaincatalog)
override fun delete(id: String): Int = domaincatalogMapper.deleteByPrimaryKey(id)
+
+ @Transactional
+ override fun quickConfiguration(
+ target: Constant.SceneType,
+ targetArea: AreaVo,
+ source: Constant.SceneType,
+ sourceArea: AreaVo,
+ ): Boolean {
+ //1. 闂绫诲瀷鍜屾暣鏀瑰缓璁�
+ val adviceList = changeAdviceMapper.selectByExample(Example(ChangeAdvice::class.java).apply {
+ createCriteria().andEqualTo("adExtension1", sourceArea.districtname)
+ .andEqualTo("adExtension2", source.text)
+ })
+ problemtypeMapper.selectByExample(Example(Problemtype::class.java).apply {
+ createCriteria().andEqualTo("scensetypeid", source.value.toByte())
+ .andEqualTo("districtname", sourceArea.districtname)
+ }).forEach {
+ val newProblemGuid = UUIDGenerator.generate16ShortUUID()
+ adviceList.find { ad -> ad.adProblemtypeguid == it.guid }?.let { ad ->
+ ad.adGuid = UUIDGenerator.generate16ShortUUID()
+ ad.adProblemtypeguid = newProblemGuid
+ ad.adCreatedate = Date()
+ ad.adUpdatedate = Date()
+ ad.adExtension1 = targetArea.districtname
+ ad.adExtension2 = target.text
+ changeAdviceMapper.insert(ad)
+ }
+
+ it.guid = newProblemGuid
+ it.scensetypeid = target.value.toByte()
+ it.scensetype = target.text
+ it.createdate = Date()
+ it.updatedate = Date()
+ it.provincecode = targetArea.provincecode
+ it.provincename = targetArea.provincename
+ it.citycode = targetArea.citycode
+ it.cityname = targetArea.cityname
+ it.districtcode = targetArea.districtcode
+ it.districtname = targetArea.districtname
+
+ problemtypeMapper.insert(it)
+ }
+
+ return true
+
+ //2. 闂浣嶇疆锛堥粯璁ゅ伐鍦帮紝鍙笉淇敼锛�
+ //3. 鑷瘎瑙勫垯琛�
+// evaluationruleMapper.selectByExample(Example(Evaluationrule::class.java).apply {
+// createCriteria().andEqualTo("tasktypeid", 99)
+// .andEqualTo("scensetypeid", source.value)
+// and(createCriteria().orEqualTo("provincecode", sourceArea.provincecode).orIsNull("provincecode"))
+// and(createCriteria().orEqualTo("citycode", sourceArea.citycode).orIsNull("citycode"))
+// and(createCriteria().orEqualTo("districtcode", sourceArea.districtcode).orIsNull("districtcode"))
+// and(createCriteria().orEqualTo("towncode", sourceArea.towncode).orIsNull("towncode"))
+// }).takeIf { it.isNotEmpty() }?.get(0).let {sourceRule ->
+// if (sourceRule != null) {
+// evaluationsubruleMapper.selectByExample(Example(Evaluationsubrule::class.java).apply {
+// createCriteria().andEqualTo("", sourceRule)
+// })
+// }
+// }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3