package com.ard.route.service.impl;
|
|
import java.util.List;
|
import com.ard.common.utils.DateUtils;
|
import com.ard.common.utils.file.FileUtils;
|
import com.ard.common.utils.uuid.IdUtils;
|
import com.ard.oss.model.MinioUploadResult;
|
import com.ard.oss.service.impl.OssServiceContext;
|
import com.ard.route.domain.route.ArdRouteInformation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import com.ard.route.mapper.ArdRouteInformationMapper;
|
import com.ard.route.service.IArdRouteInformationService;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import static com.ard.route.util.ToolUtils.extractFilePath;
|
import static com.ard.route.util.ToolUtils.getFileNameWithoutExtension;
|
|
/**
|
* 航线(kmz)Service业务层处理
|
*
|
* @author xia
|
* @date 2025-10-23
|
*/
|
@Service
|
public class ArdRouteInformationServiceImpl implements IArdRouteInformationService {
|
|
@Autowired
|
private ArdRouteInformationMapper ardRouteInformationMapper;
|
|
@Autowired
|
private OssServiceContext ossService;
|
|
/**
|
* 查询航线(kmz)
|
*
|
* @param id 航线(kmz)主键
|
* @return 航线(kmz)
|
*/
|
@Override
|
public ArdRouteInformation selectArdRouteInformationById(String id) {
|
return ardRouteInformationMapper.selectArdRouteInformationById(id);
|
}
|
|
/**
|
* 查询航线(kmz)列表
|
*
|
* @param ardRouteInformation 航线(kmz)
|
* @return 航线(kmz)
|
*/
|
@Override
|
public List<ArdRouteInformation> selectArdRouteInformationList(ArdRouteInformation ardRouteInformation) {
|
return ardRouteInformationMapper.selectArdRouteInformationList(ardRouteInformation);
|
}
|
|
/**
|
* 新增航线(kmz)
|
*
|
* @param ardRouteInformation 航线(kmz)
|
* @return 结果
|
*/
|
@Override
|
public int insertArdRouteInformation(ArdRouteInformation ardRouteInformation) {
|
ardRouteInformation.setId(IdUtils.simpleUUID());
|
ardRouteInformation.setCreateTime(DateUtils.getNowDate());
|
return ardRouteInformationMapper.insertArdRouteInformation(ardRouteInformation);
|
}
|
|
/**
|
* 修改航线(kmz)
|
*
|
* @param ardRouteInformation 航线(kmz)
|
* @return 结果
|
*/
|
@Override
|
public int updateArdRouteInformation(ArdRouteInformation ardRouteInformation) {
|
ardRouteInformation.setUpdateTime(DateUtils.getNowDate());
|
return ardRouteInformationMapper.updateArdRouteInformation(ardRouteInformation);
|
}
|
|
/**
|
* 批量删除航线(kmz)
|
*
|
* @param ids 需要删除的航线(kmz)主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdRouteInformationByIds(String[] ids) {
|
// 删除航线(kmz)文件
|
for (String id : ids) {
|
ArdRouteInformation information = ardRouteInformationMapper.selectArdRouteInformationById(id);
|
ossService.deleteObject("kmz", information.getMinioUpPath());
|
}
|
return ardRouteInformationMapper.deleteArdRouteInformationByIds(ids);
|
}
|
|
/**
|
* 删除航线(kmz)信息
|
*
|
* @param id 航线(kmz)主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdRouteInformationById(String id) {
|
return ardRouteInformationMapper.deleteArdRouteInformationById(id);
|
}
|
|
/**
|
* 导入航线(kmz)文件
|
*
|
* @param file 文件
|
* @return 结果
|
*/
|
@Override
|
public MinioUploadResult uploadArdRouteInformation(MultipartFile file) {
|
try {
|
String url = ossService.upload("kmz",file);
|
ArdRouteInformation information = new ArdRouteInformation();
|
information.setFileName(file.getOriginalFilename());
|
information.setFileNameNew(getFileNameWithoutExtension(url));
|
information.setMinioUpPath(extractFilePath(url));
|
information.setUpPath(url);
|
information.setUpFileSize((double) file.getSize());
|
insertArdRouteInformation(information);
|
return MinioUploadResult.builder()
|
.url(url)
|
.newFileName(FileUtils.getName(url))
|
.originalFilename(file.getOriginalFilename())
|
.build();
|
}catch (Exception e){
|
return null;
|
}
|
}
|
|
/**
|
* 根据文件名称查询航线信息
|
*
|
* @param name 文件名称
|
* @return 结果
|
*/
|
@Override
|
public ArdRouteInformation selectArdRouteInformationByName(String name) {
|
return ardRouteInformationMapper.selectArdRouteInformationByName(name);
|
}
|
|
}
|