道路线索应急巡查系统服务后台
feiyu02
2025-04-25 79bd8ea222cc3518ec91dce3dfb30fcf387cf96d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.flightfeather.grid.service.impl
 
import com.flightfeather.grid.config.exception.BizException
import com.flightfeather.grid.domain.ds1.entity.ClueTask
import com.flightfeather.grid.domain.ds1.mapper.ClueInternalMapper
import com.flightfeather.grid.domain.ds1.mapper.ClueTaskMapper
import com.flightfeather.grid.service.ClueTaskService
import com.flightfeather.grid.vo.ClueInternalTaskVo
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.util.*
 
/**
 *
 * @date 2025/4/18
 * @author feiyu02
 */
@Service
class ClueTaskServiceImpl(
    private val clueTaskMapper: ClueTaskMapper,
    private val clueInternalMapper: ClueInternalMapper,
) : ClueTaskService {
 
    @Transactional
    override fun createInternalClueTask(clueInternalTaskVo: ClueInternalTaskVo): Int {
        clueInternalTaskVo.clueInternal?.cReleaseTime = Date()
        clueInternalTaskVo.clueInternal?.cCreateTime = Date()
        clueInternalTaskVo.clueInternal?.cUploaded = false
        clueInternalMapper.insert(clueInternalTaskVo.clueInternal)
 
        //
        clueInternalTaskVo.clueTask?.clueId = clueInternalTaskVo.clueInternal?.cId
        if (clueInternalTaskVo.clueTask?.guid == null) {
            clueInternalTaskVo.clueTask?.guid = UUID.randomUUID().toString()
        }
        if (clueInternalTaskVo.clueTask?.hasUav == null) {
            clueInternalTaskVo.clueTask?.hasUav = false
        }
        clueInternalTaskVo.clueTask?.createTime = Date()
        clueInternalTaskVo.clueTask?.updateTime = Date()
        clueInternalTaskVo.clueTask?.internalTask = true
        return clueTaskMapper.insert(clueInternalTaskVo.clueTask)
    }
 
    override fun createClueTask(clueTask: ClueTask): Int {
        if (clueTask.guid == null) {
            clueTask.guid = UUID.randomUUID().toString()
        }
        clueTask.createTime = Date()
        clueTask.updateTime = Date()
        clueTask.internalTask = false
        return clueTaskMapper.insert(clueTask)
    }
 
    override fun updateClueTask(clueTask: ClueTask): Int {
        if (clueTask.guid == null) throw BizException("更新线索任务失败,缺失主键id")
        clueTask.updateTime = Date()
        clueTaskMapper.selectByPrimaryKey(clueTask.guid) ?: throw BizException("更新线索任务失败,任务不存在")
        return clueTaskMapper.updateByPrimaryKeySelective(clueTask)
    }
 
    override fun getClueTask(clueTask: ClueTask): List<ClueTask?> {
        return clueTaskMapper.select(clueTask)
    }
 
    override fun deleteClueTask(clueTask: ClueTask): Int {
        clueTask.guid ?: throw BizException("删除线索任务失败,缺少任务主键guid")
        return clueTaskMapper.delete(clueTask)
    }
}