From a3cc1d220f8a1de11874bebceba0130d32157ff1 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 30 九月 2025 09:26:32 +0800 Subject: [PATCH] 2025.9.30 1. 联合前端调试数据产品接口(待完成) --- 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