2026-01-23 18:42:11 +08:00
|
|
|
package com.ruoyi.airline.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.ruoyi.airline.domain.api.IAirlineFileGroupInfoDomain;
|
|
|
|
|
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
|
|
|
|
|
import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService;
|
|
|
|
|
import com.ruoyi.airline.service.api.IAirlineFileService;
|
|
|
|
|
import com.ruoyi.airline.service.convert.AirlineFileGroupInfoServiceConvert;
|
|
|
|
|
import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
|
|
|
|
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
|
2026-01-27 11:33:17 +08:00
|
|
|
import com.ruoyi.common.core.exception.base.BaseException;
|
2026-01-23 18:42:11 +08:00
|
|
|
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-01-17
|
|
|
|
|
*/
|
|
|
|
|
@Service
|
|
|
|
|
public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoService {
|
|
|
|
|
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(AirlineFileServiceGroupInfoImpl.class);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IAirlineFileService iAirlineFileService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId) {
|
|
|
|
|
List<AirlineFileGroupInfo> models = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId);
|
2026-01-27 11:33:17 +08:00
|
|
|
models.forEach(model -> {
|
|
|
|
|
model.setAirlineFile(iAirlineFileService.selectById(model.getAirlineId()));
|
|
|
|
|
});
|
2026-01-23 18:42:11 +08:00
|
|
|
return AirlineFileGroupInfoServiceConvert.toDtoList(models);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-27 11:33:17 +08:00
|
|
|
public Long save(AirlineFileGroupInfoDTO dto) throws BaseException {
|
2026-01-23 18:42:11 +08:00
|
|
|
AirlineFileDTO result = iAirlineFileService.save(dto.getAirlineFileDTO());
|
2026-01-27 11:33:17 +08:00
|
|
|
|
|
|
|
|
dto.setAirlineId(result.getId());
|
2026-01-23 18:42:11 +08:00
|
|
|
// 保存分组信息
|
|
|
|
|
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
|
2026-01-27 11:33:17 +08:00
|
|
|
|
|
|
|
|
// 检查唯一性:同一个分组下不能有相同的航线
|
|
|
|
|
boolean exists = iAirlineFileGroupInfoDomain.existsByGroupIdAndAirlineId(model.getGroupId(), model.getAirlineId());
|
|
|
|
|
if (exists) {
|
|
|
|
|
throw new BaseException("该航线已存在于当前分组中");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return iAirlineFileGroupInfoDomain.save(model);
|
2026-01-23 18:42:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|