a-tuoheng-airline/src/main/java/com/ruoyi/airline/service/impl/AirlineAreaGroupServiceImpl...

154 lines
6.1 KiB
Java
Raw Normal View History

2026-02-25 15:16:28 +08:00
package com.ruoyi.airline.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.ruoyi.airline.domain.api.IAirlineAreaDomain;
import com.ruoyi.airline.domain.api.IAirlineAreaGroupDomain;
import com.ruoyi.airline.domain.api.IAirlineAreaGroupInfoDomain;
import com.ruoyi.airline.domain.model.AirlineArea;
import com.ruoyi.airline.domain.model.AirlineAreaGroup;
import com.ruoyi.airline.domain.model.AirlineAreaGroupInfo;
import com.ruoyi.airline.service.api.IAirlineAreaGroupService;
import com.ruoyi.airline.service.convert.AirlineAreaGroupInfoServiceConvert;
import com.ruoyi.airline.service.convert.AirlineAreaGroupServiceConvert;
import com.ruoyi.airline.service.convert.AirlineAreaServiceConvert;
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
import com.ruoyi.airline.service.dto.AirlineAreaGroupInfoDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 空域分组Service实现类
*
* @author ruoyi
* @date 2026-02-25
*/
@Service
public class AirlineAreaGroupServiceImpl implements IAirlineAreaGroupService {
private static final Logger log = LoggerFactory.getLogger(AirlineAreaGroupServiceImpl.class);
@Autowired
private IAirlineAreaGroupDomain iAirlineAreaGroupDomain;
@Autowired
private IAirlineAreaGroupInfoDomain iAirlineAreaGroupInfoDomain;
@Autowired
private IAirlineAreaDomain iAirlineAreaDomain;
@Override
public int deletegroupById(Long userId, Long groupId) {
// 1、删除空域分组明细
AirlineAreaGroupInfoDTO dto = new AirlineAreaGroupInfoDTO();
dto.setGroupId(groupId);
AirlineAreaGroupInfo model = AirlineAreaGroupInfoServiceConvert.to(dto);
iAirlineAreaGroupInfoDomain.deleteGroupInfo(model);
// 2、删除分组
AirlineAreaGroup model2 = new AirlineAreaGroup();
model2.setGroupId(groupId);
model2.setUserId(userId);
return iAirlineAreaGroupDomain.deletegroup(model2);
}
@Override
public boolean checkGroupNameUnique(AirlineAreaGroupDTO group) {
AirlineAreaGroup model = AirlineAreaGroupServiceConvert.to(group);
return iAirlineAreaGroupDomain.checkgroupNameUnique(model);
}
@Override
public int updateGroup(AirlineAreaGroupDTO group) {
AirlineAreaGroup model = AirlineAreaGroupServiceConvert.to(group);
return iAirlineAreaGroupDomain.updateGroup(model);
}
@Override
public int insertGroup(AirlineAreaGroupDTO group) {
AirlineAreaGroup model = AirlineAreaGroupServiceConvert.to(group);
return iAirlineAreaGroupDomain.insertGroup(model);
}
@Override
public List<AirlineAreaGroupDTO> selectGroupList(AirlineAreaGroupDTO dto) {
AirlineAreaGroup model = AirlineAreaGroupServiceConvert.to(dto);
return AirlineAreaGroupServiceConvert.fromList(iAirlineAreaGroupDomain.selectGroupList(model));
}
// @Override
// public AirlineAreaGroupDTO selectAirLineListsByGroupId(Long userId, Long groupId) {
// AirlineAreaGroupDTO dto = new AirlineAreaGroupDTO();
// dto.setUserId(userId);
// dto.setGroupId(groupId);
// List<AirlineAreaGroupInfo> airlineAreaGroupInfoDTOS = iAirlineAreaGroupInfoDomain.selectGroupInfoListById(groupId);
// if (!CollectionUtils.isEmpty(airlineAreaGroupInfoDTOS)) {
// List<Long> ids = airlineAreaGroupInfoDTOS.stream().map(AirlineAreaGroupInfo::getAreaId).toList();
// List<AirlineArea> airlineAreaDTOS = iAirlineAreaDomain.selectAreaListByIds(ids);
// dto.setGroupInfos(AirlineAreaServiceConvert.fromList(airlineAreaDTOS));
// }
// return dto;
// }
// @Override
// public List<AirlineAreaDTO> selectAirlineListByUserId(AirlineAreaDTO dto) {
// AirlineArea model = AirlineAreaServiceConvert.to(dto);
// return AirlineAreaServiceConvert.fromList(iAirlineAreaGroupDomain.selectAirlineListByUserId(model));
// }
@Override
public AirlineAreaGroupDTO selectAirspaceListByGroupId(Long userId, Long groupId) {
AirlineAreaGroupDTO dto = new AirlineAreaGroupDTO();
dto.setUserId(userId);
dto.setGroupId(groupId);
List<AirlineAreaGroupInfo> airlineAreaGroupInfoList = iAirlineAreaGroupInfoDomain.selectGroupInfoListById(groupId);
if (!CollectionUtils.isEmpty(airlineAreaGroupInfoList)) {
List<Long> ids = airlineAreaGroupInfoList.stream().map(AirlineAreaGroupInfo::getAreaId).toList();
List<AirlineArea> airlineAreaList = iAirlineAreaDomain.selectAreaListByIds(ids);
dto.setGroupInfos(AirlineAreaServiceConvert.fromList(airlineAreaList));
}
return dto;
}
@Override
public int updateAreaWithPoints(AirlineAreaDTO area) {
AirlineArea model = AirlineAreaServiceConvert.to(area);
return iAirlineAreaDomain.updateArea(model);
}
@Override
public int insertAreaWithGroup(Long groupId, AirlineAreaDTO area) {
// 1、保存空域信息
AirlineArea model = AirlineAreaServiceConvert.to(area);
int result = iAirlineAreaDomain.insertArea(model);
// 2、保存空域分组信息
if (result > 0) {
AirlineAreaGroupInfo groupInfo = new AirlineAreaGroupInfo();
groupInfo.setGroupId(groupId);
groupInfo.setAreaId(model.getId());
iAirlineAreaGroupInfoDomain.insertGroupInfo(groupInfo);
}
return result;
}
@Override
public int deleteArea(Long areaId) {
// 1、删除空域分组明细关联
AirlineAreaGroupInfoDTO dto = new AirlineAreaGroupInfoDTO();
dto.setAreaId(areaId);
AirlineAreaGroupInfo model = AirlineAreaGroupInfoServiceConvert.to(dto);
iAirlineAreaGroupInfoDomain.deleteGroupInfo(model);
// 2、软删除空域
AirlineArea areaModel = new AirlineArea();
areaModel.setId(areaId);
return iAirlineAreaDomain.deleteArea(areaModel);
}
2026-02-25 15:16:28 +08:00
}