feat:增加批量移动接口,优化查询接口逻辑
This commit is contained in:
parent
c767572a9f
commit
7c77837cf5
|
|
@ -2,6 +2,7 @@ package com.ruoyi.airline.controller;
|
|||
|
||||
import com.ruoyi.airline.api.domain.AirlineMarkerVO;
|
||||
import com.ruoyi.airline.controller.convert.AirlineMarkerControllerConvert;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerGroupInfoService;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerService;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
|
|
@ -24,28 +25,16 @@ import java.util.List;
|
|||
* @author 拓恒
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/marker")
|
||||
@RequestMapping("/markerGroup")
|
||||
@Tag(name = "标注管理")
|
||||
public class AirlineMarkerController extends BaseController {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AirlineMarkerController.class);
|
||||
|
||||
@Autowired
|
||||
private IAirlineMarkerService iAirlineMarkerService;
|
||||
|
||||
/**
|
||||
* 获取标注列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获取标注列表")
|
||||
public TableDataInfo list(AirlineMarkerVO airlineMarkerVO) {
|
||||
startPage();
|
||||
airlineMarkerVO.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(airlineMarkerVO);
|
||||
List<AirlineMarkerDTO> list = iAirlineMarkerService.selectMarkerList(dto);
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(list);
|
||||
return getDataTable(result);
|
||||
}
|
||||
@Autowired
|
||||
private IAirlineMarkerGroupInfoService iAirlineMarkerGroupInfoService;
|
||||
|
||||
/**
|
||||
* 新增标注
|
||||
|
|
@ -56,7 +45,7 @@ public class AirlineMarkerController extends BaseController {
|
|||
marker.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
AirlineMarkerDTO dto = AirlineMarkerControllerConvert.to(marker);
|
||||
return toAjax(iAirlineMarkerService.insertMarker(dto));
|
||||
return toAjax(iAirlineMarkerGroupInfoService.insertMarker(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -68,18 +57,7 @@ public class AirlineMarkerController extends BaseController {
|
|||
AirlineMarkerDTO dto = new AirlineMarkerDTO();
|
||||
dto.setId(id);
|
||||
dto.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
return toAjax(iAirlineMarkerService.deleteMarker(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标注详情
|
||||
*/
|
||||
@GetMapping("/{groupId}")
|
||||
@Operation(summary = "按照空域分组查询所有的标准信息")
|
||||
public AjaxResult getInfo(@PathVariable Long groupId) {
|
||||
List<AirlineMarkerDTO> dto = iAirlineMarkerService.selectMarkerById(groupId);
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dto);
|
||||
return success(result);
|
||||
return toAjax(iAirlineMarkerGroupInfoService.deleteMarker(dto));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -107,10 +85,65 @@ public class AirlineMarkerController extends BaseController {
|
|||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return error("没有需要删除的标注");
|
||||
}
|
||||
int result = iAirlineMarkerService.batchDeleteMarker(markerIds);
|
||||
int result = iAirlineMarkerGroupInfoService.batchDeleteMarker(markerIds);
|
||||
if (result > 0) {
|
||||
return success("删除成功,共删除 " + result + " 个标注");
|
||||
}
|
||||
return error("删除失败");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户下所有可用标注
|
||||
*/
|
||||
@GetMapping("/user-available")
|
||||
@Operation(summary = "获取用户下所有可用标注")
|
||||
public AjaxResult getUserAvailableMarkers() {
|
||||
List<AirlineMarkerDTO> dtoList = iAirlineMarkerGroupInfoService.selectUserAvailableMarkers();
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dtoList);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部可用标注
|
||||
*/
|
||||
@GetMapping("/all-available")
|
||||
@Operation(summary = "获取全部可用标注")
|
||||
public AjaxResult getAllAvailableMarkers() {
|
||||
List<AirlineMarkerDTO> dtoList = iAirlineMarkerGroupInfoService.selectAllAvailableMarkers();
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dtoList);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取标注详情
|
||||
*/
|
||||
@GetMapping("/{groupId}")
|
||||
@Operation(summary = "按照空域分组查询所有的标准信息")
|
||||
public AjaxResult getInfo(@PathVariable Long groupId) {
|
||||
List<AirlineMarkerDTO> dto = iAirlineMarkerGroupInfoService.selectMarkersByGroupId(groupId);
|
||||
List<AirlineMarkerVO> result = AirlineMarkerControllerConvert.fromList(dto);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量移动分组的接口
|
||||
*/
|
||||
@PostMapping("/move/{targetGroupId}")
|
||||
@Operation(summary = "批量移动标注到指定分组")
|
||||
public AjaxResult batchMoveToGroup(@RequestBody List<Long> markerIds, @PathVariable("targetGroupId") Long targetGroupId) {
|
||||
if (targetGroupId == null) {
|
||||
return error("目标分组ID不能为空");
|
||||
}
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return error("没有需要移动的标注");
|
||||
}
|
||||
int result = iAirlineMarkerGroupInfoService.batchMoveMarkersToGroup(markerIds, targetGroupId);
|
||||
if (result > 0) {
|
||||
return success("移动成功,共移动 " + result + " 个标注");
|
||||
}
|
||||
return error("移动失败");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ruoyi.airline.service.api;
|
||||
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupInfoDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -11,13 +12,31 @@ import java.util.List;
|
|||
*/
|
||||
public interface IAirlineMarkerGroupInfoService {
|
||||
|
||||
int insertMarkerGroupInfo(AirlineMarkerGroupInfoDTO groupInfo);
|
||||
int insertMarker(AirlineMarkerDTO dto);
|
||||
|
||||
int deleteMarkerGroupInfo(Long groupId, Long markerId);
|
||||
int deleteMarker(AirlineMarkerDTO dto);
|
||||
|
||||
List<AirlineMarkerGroupInfoDTO> selectMarkerGroupInfoList(AirlineMarkerGroupInfoDTO dto);
|
||||
int batchDeleteMarker(List<Long> markerIds);
|
||||
|
||||
List<Long> selectMarkerIdsByGroupId(Long groupId);
|
||||
List<AirlineMarkerDTO> selectMarkersByGroupId(Long groupId);
|
||||
|
||||
int deleteByMarkerId(Long markerId);
|
||||
/**
|
||||
* 获取用户下所有可用标注
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerDTO> selectUserAvailableMarkers();
|
||||
|
||||
/**
|
||||
* 获取全部可用标注
|
||||
* @return 标注列表
|
||||
*/
|
||||
List<AirlineMarkerDTO> selectAllAvailableMarkers();
|
||||
|
||||
/**
|
||||
* 批量移动标注到指定分组
|
||||
* @param markerIds 标注ID列表
|
||||
* @param targetGroupId 目标分组ID
|
||||
* @return 移动成功的数量
|
||||
*/
|
||||
int batchMoveMarkersToGroup(List<Long> markerIds, Long targetGroupId);
|
||||
}
|
||||
|
|
@ -11,16 +11,7 @@ import java.util.List;
|
|||
*/
|
||||
public interface IAirlineMarkerService {
|
||||
|
||||
int insertMarker(AirlineMarkerDTO marker);
|
||||
|
||||
int updateMarker(AirlineMarkerDTO marker);
|
||||
|
||||
int deleteMarker(AirlineMarkerDTO dto);
|
||||
|
||||
List<AirlineMarkerDTO> selectMarkerList(AirlineMarkerDTO dto);
|
||||
|
||||
List<AirlineMarkerDTO> selectMarkerById(Long id);
|
||||
|
||||
|
||||
int batchDeleteMarker(List<Long> markerIds);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
package com.ruoyi.airline.service.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerDomain;
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerGroupInfoDomain;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroupInfo;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerGroupInfoService;
|
||||
import com.ruoyi.airline.service.convert.AirlineMarkerGroupInfoServiceConvert;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerGroupInfoDTO;
|
||||
import com.ruoyi.airline.service.convert.AirlineMarkerServiceConvert;
|
||||
import com.ruoyi.airline.service.dto.AirlineMarkerDTO;
|
||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -26,35 +29,194 @@ public class AirlineMarkerGroupInfoServiceImpl implements IAirlineMarkerGroupInf
|
|||
@Autowired
|
||||
private IAirlineMarkerGroupInfoDomain iAirlineMarkerGroupInfoDomain;
|
||||
|
||||
@Override
|
||||
public int insertMarkerGroupInfo(AirlineMarkerGroupInfoDTO groupInfo) {
|
||||
AirlineMarkerGroupInfo model = AirlineMarkerGroupInfoServiceConvert.to(groupInfo);
|
||||
return iAirlineMarkerGroupInfoDomain.insertMarkerGroupInfo(model);
|
||||
}
|
||||
@Autowired
|
||||
private IAirlineMarkerDomain iAirlineMarkerDomain;
|
||||
|
||||
|
||||
@Override
|
||||
public int deleteMarkerGroupInfo(Long groupId, Long markerId) {
|
||||
public int insertMarker(AirlineMarkerDTO dto) {
|
||||
AirlineMarker model = AirlineMarkerServiceConvert.to(dto);
|
||||
int result = iAirlineMarkerDomain.insertMarker(model);
|
||||
|
||||
// 处理分组关系
|
||||
if (result > 0 && dto.getGroupId() != null) {
|
||||
AirlineMarkerGroupInfo groupInfo = new AirlineMarkerGroupInfo();
|
||||
groupInfo.setGroupId(dto.getGroupId());
|
||||
groupInfo.setMarkerId(model.getId());
|
||||
groupInfo.setCreateBy(dto.getCreateBy());
|
||||
groupInfo.setUpdateBy(dto.getUpdateBy());
|
||||
iAirlineMarkerGroupInfoDomain.insertMarkerGroupInfo(groupInfo);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int deleteMarker(AirlineMarkerDTO dto) {
|
||||
AirlineMarker marker = AirlineMarkerServiceConvert.to(dto);
|
||||
// 先删除分组关系
|
||||
AirlineMarkerGroupInfo model = new AirlineMarkerGroupInfo();
|
||||
// model.setGroupId(dto.getGroupId());
|
||||
model.setMarkerId(dto.getId());
|
||||
String userId = SecurityUtils.getUserId().toString();
|
||||
model.setDeletedBy(userId);
|
||||
iAirlineMarkerGroupInfoDomain.deleteMarkerGroupInfo(model);
|
||||
|
||||
// 再置失效
|
||||
return iAirlineMarkerDomain.deleteMarker(marker);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int batchDeleteMarker(List<Long> markerIds) {
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int deletedCount = 0;
|
||||
for (Long markerId : markerIds) {
|
||||
|
||||
// 先删除分组关系
|
||||
AirlineMarkerGroupInfo model = new AirlineMarkerGroupInfo();
|
||||
model.setGroupId(groupId);
|
||||
model.setMarkerId(markerId);
|
||||
String userId = SecurityUtils.getUserId().toString();
|
||||
model.setDeletedBy(userId);
|
||||
return iAirlineMarkerGroupInfoDomain.deleteMarkerGroupInfo(model);
|
||||
iAirlineMarkerGroupInfoDomain.deleteMarkerGroupInfo(model);
|
||||
|
||||
// 再置失效
|
||||
AirlineMarker marker = new AirlineMarker();
|
||||
marker.setId(markerId);
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
int result = iAirlineMarkerDomain.deleteMarker(marker);
|
||||
if (result > 0) {
|
||||
deletedCount++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return deletedCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarkerGroupInfoDTO> selectMarkerGroupInfoList(AirlineMarkerGroupInfoDTO dto) {
|
||||
AirlineMarkerGroupInfo model = AirlineMarkerGroupInfoServiceConvert.to(dto);
|
||||
return AirlineMarkerGroupInfoServiceConvert.fromList(iAirlineMarkerGroupInfoDomain.selectMarkerGroupInfoList(model));
|
||||
public List<AirlineMarkerDTO> selectMarkersByGroupId(Long groupId) {
|
||||
// 先获取该分组下的所有标注ID
|
||||
List<Long> markerIds = iAirlineMarkerGroupInfoDomain.selectMarkerIdsByGroupId(groupId);
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
// 根据ID列表查询标注详情
|
||||
List<AirlineMarker> markers = iAirlineMarkerDomain.selectMarkerListByIds(markerIds);
|
||||
// 转换为DTO并返回
|
||||
return AirlineMarkerServiceConvert.fromList(markers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> selectMarkerIdsByGroupId(Long groupId) {
|
||||
return iAirlineMarkerGroupInfoDomain.selectMarkerIdsByGroupId(groupId);
|
||||
public List<AirlineMarkerDTO> selectUserAvailableMarkers() {
|
||||
// 先获取所有未被删除的标注分组关系
|
||||
AirlineMarkerGroupInfo groupInfo = new AirlineMarkerGroupInfo();
|
||||
// 只查询未被删除的记录(deletedBy 为 null)
|
||||
List<AirlineMarkerGroupInfo> groupInfos = iAirlineMarkerGroupInfoDomain.selectMarkerGroupInfoList(groupInfo);
|
||||
|
||||
if (groupInfos == null || groupInfos.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 提取标注ID列表
|
||||
List<Long> markerIds = groupInfos.stream()
|
||||
.map(AirlineMarkerGroupInfo::getMarkerId)
|
||||
.distinct()
|
||||
.collect(java.util.stream.Collectors.toList());
|
||||
|
||||
if (markerIds.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 根据标注ID列表查询标注详情
|
||||
List<AirlineMarker> markers = iAirlineMarkerDomain.selectMarkerListByIds(markerIds);
|
||||
|
||||
if (markers == null || markers.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 过滤出当前用户创建的且启用的标注
|
||||
String currentUserId = SecurityUtils.getUserId().toString();
|
||||
List<AirlineMarkerDTO> availableMarkers = new ArrayList<>();
|
||||
for (AirlineMarker airlineMarker : markers) {
|
||||
if (currentUserId.equals(airlineMarker.getCreateBy()) && airlineMarker.getStatus() == 1) {
|
||||
availableMarkers.add(AirlineMarkerServiceConvert.from(airlineMarker));
|
||||
}
|
||||
}
|
||||
|
||||
return availableMarkers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByMarkerId(Long markerId) {
|
||||
return iAirlineMarkerGroupInfoDomain.deleteByMarkerId(markerId);
|
||||
public List<AirlineMarkerDTO> selectAllAvailableMarkers() {
|
||||
// 先获取所有未被删除的标注分组关系
|
||||
AirlineMarkerGroupInfo groupInfo = new AirlineMarkerGroupInfo();
|
||||
// 只查询未被删除的记录(deletedBy 为 null)
|
||||
List<AirlineMarkerGroupInfo> groupInfos = iAirlineMarkerGroupInfoDomain.selectMarkerGroupInfoList(groupInfo);
|
||||
|
||||
if (groupInfos == null || groupInfos.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 提取标注ID列表
|
||||
List<Long> markerIds = groupInfos.stream()
|
||||
.map(AirlineMarkerGroupInfo::getMarkerId)
|
||||
.distinct()
|
||||
.collect(java.util.stream.Collectors.toList());
|
||||
|
||||
if (markerIds.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 根据标注ID列表查询标注详情
|
||||
List<AirlineMarker> markers = iAirlineMarkerDomain.selectMarkerListByIds(markerIds);
|
||||
|
||||
if (markers == null || markers.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 过滤出启用的标注
|
||||
List<AirlineMarkerDTO> availableMarkers = new ArrayList<>();
|
||||
for (AirlineMarker airlineMarker : markers) {
|
||||
if (airlineMarker.getStatus() == 1) {
|
||||
availableMarkers.add(AirlineMarkerServiceConvert.from(airlineMarker));
|
||||
}
|
||||
}
|
||||
|
||||
return availableMarkers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int batchMoveMarkersToGroup(List<Long> markerIds, Long targetGroupId) {
|
||||
if (markerIds == null || markerIds.isEmpty() || targetGroupId == null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int movedCount = 0;
|
||||
String currentUserId = SecurityUtils.getUserId().toString();
|
||||
|
||||
for (Long markerId : markerIds) {
|
||||
// 先删除旧的分组关系
|
||||
AirlineMarkerGroupInfo oldGroupInfo = new AirlineMarkerGroupInfo();
|
||||
oldGroupInfo.setMarkerId(markerId);
|
||||
oldGroupInfo.setDeletedBy(currentUserId);
|
||||
iAirlineMarkerGroupInfoDomain.deleteMarkerGroupInfo(oldGroupInfo);
|
||||
|
||||
// 然后创建新的分组关系
|
||||
AirlineMarkerGroupInfo newGroupInfo = new AirlineMarkerGroupInfo();
|
||||
newGroupInfo.setGroupId(targetGroupId);
|
||||
newGroupInfo.setMarkerId(markerId);
|
||||
newGroupInfo.setCreateBy(currentUserId);
|
||||
newGroupInfo.setUpdateBy(currentUserId);
|
||||
|
||||
int result = iAirlineMarkerGroupInfoDomain.insertMarkerGroupInfo(newGroupInfo);
|
||||
if (result > 0) {
|
||||
movedCount++;
|
||||
}
|
||||
}
|
||||
|
||||
return movedCount;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.ruoyi.airline.service.impl;
|
||||
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerDomain;
|
||||
import com.ruoyi.airline.domain.api.IAirlineMarkerGroupInfoDomain;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarker;
|
||||
import com.ruoyi.airline.domain.model.AirlineMarkerGroupInfo;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerService;
|
||||
import com.ruoyi.airline.service.api.IAirlineMarkerGroupInfoService;
|
||||
import com.ruoyi.airline.service.convert.AirlineMarkerServiceConvert;
|
||||
|
|
@ -29,26 +31,7 @@ public class AirlineMarkerServiceImpl implements IAirlineMarkerService {
|
|||
@Autowired
|
||||
private IAirlineMarkerDomain iAirlineMarkerDomain;
|
||||
|
||||
@Autowired
|
||||
private IAirlineMarkerGroupInfoService iAirlineMarkerGroupInfoService;
|
||||
|
||||
@Override
|
||||
public int insertMarker(AirlineMarkerDTO dto) {
|
||||
AirlineMarker model = AirlineMarkerServiceConvert.to(dto);
|
||||
int result = iAirlineMarkerDomain.insertMarker(model);
|
||||
|
||||
// 处理分组关系
|
||||
if (result > 0 && dto.getGroupId() != null) {
|
||||
AirlineMarkerGroupInfoDTO groupInfo = new AirlineMarkerGroupInfoDTO();
|
||||
groupInfo.setGroupId(dto.getGroupId());
|
||||
groupInfo.setMarkerId(model.getId());
|
||||
groupInfo.setCreateBy(dto.getCreateBy());
|
||||
groupInfo.setUpdateBy(dto.getUpdateBy());
|
||||
iAirlineMarkerGroupInfoService.insertMarkerGroupInfo(groupInfo);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateMarker(AirlineMarkerDTO dto) {
|
||||
|
|
@ -56,64 +39,5 @@ public class AirlineMarkerServiceImpl implements IAirlineMarkerService {
|
|||
return iAirlineMarkerDomain.updateMarker(model);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteMarker(AirlineMarkerDTO dto) {
|
||||
AirlineMarker marker = AirlineMarkerServiceConvert.to(dto);
|
||||
// 先删除分组关系
|
||||
iAirlineMarkerGroupInfoService.deleteMarkerGroupInfo(dto.getGroupId(), dto.getId());
|
||||
// 再置失效
|
||||
return iAirlineMarkerDomain.deleteMarker(marker);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AirlineMarkerDTO> selectMarkerList(AirlineMarkerDTO dto) {
|
||||
// TODO 需要修改为查所有生效的
|
||||
AirlineMarker marker = AirlineMarkerServiceConvert.to(dto);
|
||||
List<AirlineMarker> airlineMarker = iAirlineMarkerDomain.selectMarkerList(marker);
|
||||
return AirlineMarkerServiceConvert.fromList(airlineMarker);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<AirlineMarkerDTO> selectMarkerById(Long groupId) {
|
||||
AirlineMarkerGroupInfoDTO groupInfoDTO = new AirlineMarkerGroupInfoDTO();
|
||||
groupInfoDTO.setGroupId(groupId);
|
||||
List<AirlineMarkerGroupInfoDTO> groupInfos = iAirlineMarkerGroupInfoService.selectMarkerGroupInfoList(groupInfoDTO);
|
||||
List<AirlineMarkerDTO> result= new ArrayList<>();
|
||||
for (AirlineMarkerGroupInfoDTO groupInfo : groupInfos) {
|
||||
AirlineMarker model = iAirlineMarkerDomain.selectMarkerById(groupInfo.getMarkerId());
|
||||
AirlineMarkerDTO dto = AirlineMarkerServiceConvert.from(model);
|
||||
dto.setGroupId(groupId);
|
||||
result.add(dto);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int batchDeleteMarker(List<Long> markerIds) {
|
||||
if (markerIds == null || markerIds.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int deletedCount = 0;
|
||||
for (Long markerId : markerIds) {
|
||||
|
||||
// 先删除分组关系
|
||||
iAirlineMarkerGroupInfoService.deleteByMarkerId(markerId);
|
||||
|
||||
// 再置失效
|
||||
AirlineMarker marker = new AirlineMarker();
|
||||
marker.setId(markerId);
|
||||
marker.setUpdateBy(SecurityUtils.getUserId().toString());
|
||||
int result = iAirlineMarkerDomain.deleteMarker(marker);
|
||||
if (result > 0) {
|
||||
deletedCount++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return deletedCount;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue