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

126 lines
4.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.AirlineFileDTO;
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.to(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.to(group);
return iAirlineFileGroupDomain.checkgroupNameUnique(model);
}
@Override
public int updateGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.updateGroup(model);
}
@Override
public int insertGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.insertGroup(model);
}
/**
* 查询分组列表
*
* @param group
* @return
*/
@Override
public List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return AirlineFileGroupServiceConvert.fromList(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.fromList(airlineFileDTOS));
}
return dto;
}
/**
* 根据用户ID查询所有符合条件的航线包含分组信息
*
* @param dto 查询条件
* @return 航线列表
*/
@Override
public List<AirlineFileDTO> selectAirlineListByUserId(AirlineFileDTO dto) {
AirlineFile model = AirlineFileServiceConvert.to(dto);
return AirlineFileServiceConvert.fromList(iAirlineFileGroupDomain.selectAirlineListByUserId(model));
}
}