feiyu02
2025-09-12 dc4f12f66685260ac357997680e5f3fe723c3c4a
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
71
72
73
74
75
76
package cn.flightfeather.supervision.domain.ds2.repository
 
import cn.flightfeather.supervision.domain.ds2.entity.DustSiteInfo
import cn.flightfeather.supervision.domain.ds2.entity.DustSiteMap
import cn.flightfeather.supervision.domain.ds2.mapper.DustSiteInfoMapper
import cn.flightfeather.supervision.domain.ds2.mapper.DustSiteMapMapper
import cn.flightfeather.supervision.lightshare.vo.DeviceMapVo
import cn.flightfeather.supervision.lightshare.vo.DeviceSiteVo
import com.github.pagehelper.PageHelper
import org.springframework.stereotype.Repository
import tk.mybatis.mapper.entity.Example
import java.util.*
 
/**
 * 静安工地扬尘监测点位数据库相关操作
 */
@Repository
class JADustSiteRep(
    private val dustSiteMapMapper: DustSiteMapMapper,
    private val dustSiteInfoMapper: DustSiteInfoMapper,
) {
 
    /**
     * 根据飞羽监管用户id查询场景和监测设备的匹配关系
     * @param idList 监管场景对应的用户id列表
     * @return 匹配关系列表
     */
    fun findMapBySVUserId(idList: List<String?>): List<DeviceMapVo> {
        val res = dustSiteMapMapper.selectByExample(Example(DustSiteMap::class.java).apply {
            createCriteria().andIn("svUserId", idList)
        })
        return DeviceMapVo.fromJADustSiteMap(res)
    }
 
    /**
     * 获取静安工地点位基本信息
     * @return 监测点信息列表
     */
    fun findSiteInfo(): List<DeviceSiteVo> {
        val res = dustSiteInfoMapper.selectAll()
        return DeviceSiteVo.fromJADustSiteInfo(res)
    }
 
    fun searchSiteInfo(keyword: String): List<DeviceSiteVo> {
        val res = dustSiteInfoMapper.selectByExample(Example(DustSiteInfo::class.java).apply {
            createCriteria().andLike("name", "%$keyword%")
        })
        return DeviceSiteVo.fromJADustSiteInfo(res)
    }
 
    /**
     * 根据id查询
     */
    fun findByPrimaryKey(id: Int?): DustSiteMap? {
        if (id == null) {
            return null
        }
        return dustSiteMapMapper.selectByPrimaryKey(id)
    }
 
    /**
     * 新增
     */
    fun insert(dustSiteMap: DustSiteMap): Int {
        dustSiteMap.createTime = Date()
        return dustSiteMapMapper.insert(dustSiteMap)
    }
 
    /**
     * 更新
     */
    fun update(dustSiteMap: DustSiteMap): Int {
        dustSiteMap.createTime = Date()
        return dustSiteMapMapper.updateByPrimaryKeySelective(dustSiteMap)
    }
}