package com.flightfeather.uav.lightshare.service.impl
|
|
import com.flightfeather.uav.domain.entity.Mission
|
import com.flightfeather.uav.domain.mapper.MissionMapper
|
import com.flightfeather.uav.lightshare.bean.BaseResponse
|
import com.flightfeather.uav.lightshare.bean.DataHead
|
import com.flightfeather.uav.lightshare.service.MissionService
|
import com.github.pagehelper.PageHelper
|
import org.springframework.stereotype.Service
|
import tk.mybatis.mapper.entity.Example
|
|
@Service
|
class MissionServiceImpl(private val missionMapper: MissionMapper) : MissionService {
|
override fun getMission(type: String?, page: Int?, perPage: Int?): BaseResponse<List<Mission>> {
|
val _perPage = perPage ?: 60
|
val _page = page ?: 1
|
val pageInfo = PageHelper.startPage<Mission>(_page, _perPage)
|
val result = mutableListOf<Mission>()
|
missionMapper.selectByExample(Example(Mission::class.java).apply {
|
type?.let {
|
createCriteria().andEqualTo("deviceType", type)
|
}
|
orderBy("startTime").desc()
|
}).forEach { it?.let { result.add(it) } }
|
return BaseResponse(true, head = DataHead(pageInfo.pageNum, pageInfo.pages),data = result)
|
}
|
|
override fun createMission(mission: Mission): BaseResponse<Boolean> {
|
missionMapper.selectByPrimaryKey(mission.missionCode)?.run {
|
return BaseResponse(false, "任务编号已存在")
|
}
|
missionMapper.insert(mission).let {
|
return BaseResponse(it == 1)
|
}
|
}
|
|
override fun deleteMission(missionCode: String): BaseResponse<Boolean> {
|
missionMapper.deleteByPrimaryKey(missionCode).let {
|
return BaseResponse(it == 1)
|
}
|
}
|
}
|