From f0abc5b4a6efc5aa3493a50817d3bc1aa2347322 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期三, 12 二月 2025 17:03:00 +0800 Subject: [PATCH] 1. 新增坐标点是否在多边形内部的判定算法 --- src/main/kotlin/com/flightfeather/uav/domain/repository/SatelliteGridRep.kt | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/domain/repository/SatelliteGridRep.kt b/src/main/kotlin/com/flightfeather/uav/domain/repository/SatelliteGridRep.kt index b88bc35..3fcdb97 100644 --- a/src/main/kotlin/com/flightfeather/uav/domain/repository/SatelliteGridRep.kt +++ b/src/main/kotlin/com/flightfeather/uav/domain/repository/SatelliteGridRep.kt @@ -9,6 +9,7 @@ import com.flightfeather.uav.domain.mapper.GridGroupMapper import com.flightfeather.uav.lightshare.bean.AreaVo import org.springframework.stereotype.Repository +import org.springframework.transaction.annotation.Transactional import tk.mybatis.mapper.entity.Example import java.time.LocalDateTime @@ -37,11 +38,43 @@ }) } + fun fetchGridGroup(id: Int): GridGroup? { + return gridGroupMapper.selectByPrimaryKey(id) + } + + fun fetchGridGroup(gridGroup: GridGroup): List<GridGroup?> { + return gridGroupMapper.select(gridGroup) + } + + fun insertGridGroup(gridGroup: GridGroup): Int { + return gridGroupMapper.insert(gridGroup) + } + + @Transactional + fun deleteGridGroup(groupId: Int) { + gridCellMapper.delete(GridCell().apply { this.groupId = groupId }) + gridCellMapper.selectByExample( + Example(GridCell::class.java).apply { orderBy("id").desc() } + ).takeIf { it.isNotEmpty() }?.get(0)?.id?.let { id -> + gridCellMapper.resetAutoIncrement(id + 1) + } + gridGroupMapper.deleteByPrimaryKey(groupId) + gridGroupMapper.selectByExample( + Example(GridGroup::class.java).apply { orderBy("id").desc() } + ).takeIf { it.isNotEmpty() }?.get(0)?.id?.let { id -> + gridGroupMapper.resetAutoIncrement(id + 1) + } + } + fun fetchGridCell(groupId: Int): List<GridCell?> { return gridCellMapper.selectByExample(Example(GridCell::class.java).apply { createCriteria().andEqualTo("groupId", groupId) orderBy("id") }) + } + + fun insertGridCell(gridCellList: List<GridCell?>): Int { + return gridCellMapper.insertList(gridCellList) } fun fetchGridData(groupId: Int, dataTime: LocalDateTime?, type: Int?): List<GridData?> { @@ -50,6 +83,22 @@ .andEqualTo("dataTime", dataTime) .andEqualTo("type", type) }) + } + + fun fetchGridData(gridData: GridData): List<GridData?> { + return gridDataMapper.select(gridData) + } + + fun fetchGridData(id: Int): GridData? { + return gridDataMapper.selectByPrimaryKey(id) + } + + fun insertGridData(gridData: GridData): Int { + return gridDataMapper.insert(gridData) + } + + fun insertGridDataDetail(gridDataDetails: List<GridDataDetail?>): Int { + return gridDataDetailMapper.insertList(gridDataDetails) } fun fetchGridDataDetail(dataId: Int, groupId: Int?, cellId: Int?): List<GridDataDetail?> { @@ -109,7 +158,11 @@ .andEqualTo("cellId", it.cellId) }) } + } + @Transactional + fun updateGridCellBatch(gridCellList: List<GridCell?>) { + gridCellList.forEach { gridCellMapper.updateByPrimaryKey(it) } } } \ No newline at end of file -- Gitblit v1.9.3