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/DomaincatalogServiceImpl.kt | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 104 insertions(+), 6 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..97cf9cb 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,27 @@
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.exception.BizException
+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()
@@ -21,7 +34,9 @@
//鑾峰彇鍏ㄩ儴
override fun findAll(): MutableList<DomaincatalogVo> {
val domaincatalogVoList = mutableListOf<DomaincatalogVo>()
- val domaincatalogList = domaincatalogMapper.selectAll()
+ val domaincatalogList = domaincatalogMapper.selectByExample(Example(Domaincatalog::class.java).apply {
+ orderBy("name")
+ })
domaincatalogList.forEach {
val domaincatalogVo = DomaincatalogVo()
BeanUtils.copyProperties(it,domaincatalogVo)
@@ -30,9 +45,92 @@
return domaincatalogVoList
}
- override fun save(domaincatalog: Domaincatalog): Int = domaincatalogMapper.insert(domaincatalog)
+ override fun save(domaincatalog: Domaincatalog): Domaincatalog{
+ if (domaincatalog.guid == null) {
+ domaincatalog.guid = UUIDGenerator.generate16ShortUUID()
+ }
+ if (domaincatalogMapper.insert(domaincatalog) == 1) {
+ return domaincatalog
+ } else {
+ throw BizException("鍊煎煙椤规柊澧炲け璐�")
+ }
+ }
- override fun update(domaincatalog: Domaincatalog): Int = domaincatalogMapper.updateByPrimaryKey(domaincatalog)
+ override fun update(domaincatalog: Domaincatalog): Domaincatalog{
+ // 2025.11.11 鏂板鐗堟湰鍙峰姣旈�昏緫锛岃嫢鏇存柊鐨勯厤缃俊鎭増鏈彿绛変簬鏁版嵁鍘嗗彶鐗堟湰鍙凤紝鎵嶈兘鏇存柊
+ val oldOne = domaincatalogMapper.selectByPrimaryKey(domaincatalog.guid)
+ if ((domaincatalog.version == oldOne.version)) {
+ // 鏇存柊鏃讹紝鐗堟湰鍙烽�掑
+ domaincatalog.version = (domaincatalog.version ?: 0) + 1
+ domaincatalogMapper.updateByPrimaryKey(domaincatalog)
+
+ return domaincatalog
+ } else {
+ throw BizException("鐗堟湰鍙蜂笉涓�鑷达紝鏇存柊澶辫触")
+ }
+ }
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