114 lines
4.0 KiB
Java
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;
|
|
}
|
|
|
|
|
|
} |