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 org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.util.*
|
|
/**
|
* 场景信息数据库相关操作
|
*/
|
@Repository
|
class SceneRep(
|
private val scenseMapper: ScenseMapper,
|
private val userinfoMapper: UserinfoMapper,
|
private val subTaskRep: SubTaskRep,
|
) {
|
|
fun insert(scene: Scense?):Int {
|
scene ?: return 0
|
if (scene.guid == null) scene.guid = UUIDGenerator.generate16ShortUUID()
|
scene.createdate = Date()
|
return scenseMapper.insertSelective(scene)
|
}
|
|
/**
|
* 查找场景
|
*/
|
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.findOne(subTaskId)
|
return scenseMapper.selectByPrimaryKey(subtask?.scenseid)
|
}
|
}
|