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

114 lines
4.0 KiB
Java

package com.ruoyi.airline.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.ruoyi.airline.domain.api.IAirlineFileDomain;
import com.ruoyi.airline.domain.api.IAirlineFileGroupDomain;
import com.ruoyi.airline.domain.api.IAirlineFileGroupInfoDomain;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.domain.model.AirlineFileGroup;
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
import com.ruoyi.airline.service.api.IAirlineFileGroupService;
import com.ruoyi.airline.service.convert.AirlineFileGroupInfoServiceConvert;
import com.ruoyi.airline.service.convert.AirlineFileGroupServiceConvert;
import com.ruoyi.airline.service.convert.AirlineFileServiceConvert;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
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 AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
private static final Logger log = LoggerFactory.getLogger(AirlineFileServiceGroupImpl.class);
@Autowired
private IAirlineFileGroupDomain iAirlineFileGroupDomain;
@Autowired
private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain;
@Autowired
private IAirlineFileDomain iAirlineFileDomain;
@Override
public int deletegroupById(Long userId, Long groupId) {
// 1、删除航线信息
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
dto.setGroupId(groupId);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
iAirlineFileGroupInfoDomain.deleteGroupInfo(model);
// 2、删除分组
AirlineFileGroup model2 = new AirlineFileGroup();
model2.setGroupId(groupId);
model2.setUserId(userId);
return iAirlineFileGroupDomain.deletegroup(model2);
}
@Override
public boolean checkGroupNameUnique(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
return iAirlineFileGroupDomain.checkgroupNameUnique(model);
}
@Override
public int updateGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
return iAirlineFileGroupDomain.updateGroup(model);
}
@Override
public int insertGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
return iAirlineFileGroupDomain.insertGroup(model);
}
/**
* 查询分组列表
*
* @param group
* @return
*/
@Override
public List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
return AirlineFileGroupServiceConvert.toDTOList(iAirlineFileGroupDomain.selectGroupList(model));
}
/**
* 根据分组ID 查询 分组下所有的 航线文件。
*
* @param groupId 分组id
* @return
*/
@Override
public AirlineFileGroupDTO selectAirLineListsByGroupId(Long userId, Long groupId) {
AirlineFileGroupDTO dto = new AirlineFileGroupDTO();
dto.setUserId(userId);
dto.setGroupId(groupId);
List<AirlineFileGroupInfo> airlineFileGroupInfoDTOS = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId);
if (!CollectionUtils.isEmpty(airlineFileGroupInfoDTOS)) {
List<Long> ids = airlineFileGroupInfoDTOS.stream().map(AirlineFileGroupInfo::getAirlineId).toList();
List<AirlineFile> airlineFileDTOS = iAirlineFileDomain.selectFileListByIds(ids);
dto.setGroupInfos(AirlineFileServiceConvert.toDTOList(airlineFileDTOS));
}
return dto;
}
}