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

63 lines
2.2 KiB
Java

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;
import com.ruoyi.common.core.exception.base.BaseException;
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);
models.forEach(model -> {
model.setAirlineFile(iAirlineFileService.selectById(model.getAirlineId()));
});
return AirlineFileGroupInfoServiceConvert.toDtoList(models);
}
@Override
public Long save(AirlineFileGroupInfoDTO dto) throws BaseException {
AirlineFileDTO result = iAirlineFileService.save(dto.getAirlineFileDTO());
dto.setAirlineId(result.getId());
// 保存分组信息
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
// 检查唯一性:同一个分组下不能有相同的航线
boolean exists = iAirlineFileGroupInfoDomain.existsByGroupIdAndAirlineId(model.getGroupId(), model.getAirlineId());
if (exists) {
throw new BaseException("该航线已存在于当前分组中");
}
return iAirlineFileGroupInfoDomain.save(model);
}
}