From 3bb4fb15c664d29d179083698fdad35a661b1d7f Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 28 八月 2025 14:57:40 +0800 Subject: [PATCH] 2025.8.28 1. 添加走航季度报告相关统计功能(待完成) --- src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/MissionServiceImpl.kt | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/MissionServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/MissionServiceImpl.kt index e0f0d8a..c8ace2f 100644 --- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/MissionServiceImpl.kt +++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/MissionServiceImpl.kt @@ -1,12 +1,15 @@ package com.flightfeather.uav.lightshare.service.impl import com.flightfeather.uav.biz.FactorFilter +import com.flightfeather.uav.biz.mission.MissionUtil import com.flightfeather.uav.biz.report.MissionReport import com.flightfeather.uav.common.exception.BizException import com.flightfeather.uav.domain.entity.Mission import com.flightfeather.uav.domain.entity.RealTimeDataVehicle import com.flightfeather.uav.domain.mapper.MissionMapper import com.flightfeather.uav.domain.mapper.RealTimeDataVehicleMapper +import com.flightfeather.uav.domain.repository.MissionRep +import com.flightfeather.uav.domain.repository.RealTimeDataRep import com.flightfeather.uav.lightshare.bean.BaseResponse import com.flightfeather.uav.lightshare.bean.DataHead import com.flightfeather.uav.lightshare.service.MissionService @@ -22,8 +25,10 @@ private val missionMapper: MissionMapper, private val realTimeDataVehicleMapper: RealTimeDataVehicleMapper, private val missionReport: MissionReport, + private val missionRep: MissionRep, + private val realTimeDataRep: RealTimeDataRep ) : MissionService { - override fun getMission(type: String?, page: Int?, perPage: Int?): BaseResponse<List<Mission>> { + override fun getMission(type: String?, page: Int?, perPage: Int?): Pair<DataHead, List<Mission>> { val _perPage = perPage ?: 60 val _page = page ?: 1 val pageInfo = PageHelper.startPage<Mission>(_page, _perPage) @@ -34,28 +39,30 @@ } orderBy("startTime").desc() }).forEach { it?.let { result.add(it) } } - return BaseResponse(true, head = DataHead(pageInfo.pageNum, pageInfo.pages),data = result) +// return BaseResponse(true, head = DataHead(pageInfo.pageNum, pageInfo.pages),data = result) + return DataHead(pageInfo.pageNum, pageInfo.pages) to result } @Synchronized - override fun createMission(mission: Mission): BaseResponse<Boolean> { + override fun createMission(mission: Mission): Boolean { missionMapper.selectByPrimaryKey(mission.missionCode)?.run { - return BaseResponse(false, "浠诲姟缂栧彿宸插瓨鍦�") +// return BaseResponse(false, "浠诲姟缂栧彿宸插瓨鍦�") + throw BizException("浠诲姟缂栧彿宸插瓨鍦�") } missionMapper.insert(mission).let { - return BaseResponse(it == 1) + return it == 1 } } - override fun updateMission(mission: Mission): BaseResponse<Boolean> { + override fun updateMission(mission: Mission): Boolean { missionMapper.updateByPrimaryKey(mission).let { - return BaseResponse(it == 1) + return it == 1 } } - override fun deleteMission(missionCode: String): BaseResponse<Boolean> { + override fun deleteMission(missionCode: String): Boolean { missionMapper.deleteByPrimaryKey(missionCode).let { - return BaseResponse(it == 1) + return it == 1 } } @@ -81,4 +88,13 @@ } return } + + override fun calMissionInfo(missionCode: String): Boolean { + val mission = missionRep.findOne(missionCode) ?: throw BizException("璧拌埅浠诲姟涓嶅瓨鍦�") + val data = realTimeDataRep.fetchData(mission) + mission.kilometres = MissionUtil.calKilometres(data).toFloat() + // todo: 璁$畻璧拌埅浠诲姟鎵�鍦ㄤ腑蹇冨尯鍩� + mission.region = MissionUtil.calRegion(data) + return updateMission(mission) + } } \ No newline at end of file -- Gitblit v1.9.3