feiyu02
2025-11-14 c03e1d823eb86c856ecbe40d8d2180ffce7c7b0f
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,9 +76,29 @@
        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)