feiyu02
2024-04-25 0392c333ed3d987cb2ab3dac4e1a972cff405f21
src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
@@ -1,8 +1,14 @@
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 javafx.scene.Scene
import org.springframework.stereotype.Repository
import tk.mybatis.mapper.entity.Example
import java.util.*
/**
 * 场景信息数据库相关操作
@@ -10,7 +16,16 @@
@Repository
class SceneRep(
    private val scenseMapper: ScenseMapper,
    private val userinfoMapper: UserinfoMapper,
    private val subTaskRep: SubTaskRep,
) {
    fun insert(scense: Scense?):Int {
        scense ?: return 0
        if (scense.guid == null) scense.guid = UUIDGenerator.generate16ShortUUID()
        scense.createdate = Date()
        return scenseMapper.insertSelective(scense)
    }
    /**
     * 查找场景
@@ -18,4 +33,27 @@
    fun findScene(topTaskId: String, sceneTypeId: Int? = null, townCode: String? = null): List<Scense?> {
        return scenseMapper.getSceneByType(topTaskId, sceneTypeId, townCode)
    }
    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 findScenes(nameList: List<String?>): List<Scense?> {
        return scenseMapper.selectByExample(Example(Scense::class.java).apply {
            createCriteria().andIn("name", nameList)
        })
    }
    fun findBySubTask(subTaskId: String): Scense? {
        val subtask = subTaskRep.find(subTaskId)
        return scenseMapper.selectByPrimaryKey(subtask?.scenseid)
    }
}