riku
2020-06-02 9a5f9bfc4f4b153dd0175c63f563d8047e1e2515
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
package com.flightfeather.uav.repository.impl
 
import com.flightfeather.uav.domain.entity.AlarmData
import com.flightfeather.uav.domain.mapper.AlarmDataMapper
import com.flightfeather.uav.lightshare.bean.AlarmDataVo
import com.flightfeather.uav.repository.ObdAlarmRepository
import com.github.pagehelper.PageHelper
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Repository
import tk.mybatis.mapper.entity.Example
 
/**
 * @author riku
 * Date: 2019/9/5
 */
@Repository
class ObdAlarmDaoImpl(val alarmDataMapper: AlarmDataMapper) : ObdAlarmRepository {
 
    override fun saveObdAlarm(alarmDataVo: AlarmDataVo): Boolean {
        val alarmData = AlarmData()
        BeanUtils.copyProperties(alarmDataVo, alarmData)
        return alarmDataMapper.insert(alarmData) == 1
    }
 
    override fun getAlarmByVinCode(vinCode: String, pageNum: Int?, pageSize: Int?): MutableList<AlarmDataVo> {
        val example = Example(AlarmData::class.java).apply {
            createCriteria().andEqualTo("obdVin", vinCode)
            orderBy("alarmTime").desc()
        }
 
        //分页
        val offset = (pageSize?.times(pageNum?.minus(1) ?: 0)) ?: 0
        PageHelper.offsetPage<AlarmData>(offset, pageSize ?: 10)
        val result = alarmDataMapper.selectByExample(example)
 
        val resultList = mutableListOf<AlarmDataVo>()
        result.forEach {
            val vo = AlarmDataVo()
            BeanUtils.copyProperties(it, vo)
            resultList.add(vo)
        }
        
        return resultList
    }
 
}