package com.ard.route.service.impl;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ard.common.annotation.DataScope;
|
import com.ard.common.utils.DateUtils;
|
import com.ard.common.utils.uuid.IdUtils;
|
import com.ard.route.domain.route.ArdRouteFile;
|
import com.ard.route.mapper.ArdRouteFileMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import com.ard.route.mapper.ArdRouteFolderMapper;
|
import com.ard.route.domain.route.ArdRouteFolder;
|
import com.ard.route.service.IArdRouteFolderService;
|
import org.springframework.transaction.annotation.Transactional;
|
|
/**
|
* 文件夹Service业务层处理
|
*
|
* @author xia
|
* @date 2025-10-18
|
*/
|
@Service
|
public class ArdRouteFolderServiceImpl implements IArdRouteFolderService {
|
|
@Autowired
|
private ArdRouteFolderMapper ardRouteFolderMapper;
|
|
@Autowired
|
private ArdRouteFileMapper ardRouteFileMapper;
|
|
/**
|
* 查询文件夹
|
*
|
* @param id 文件夹主键
|
* @return 文件夹
|
*/
|
@Override
|
public ArdRouteFolder selectArdRouteFolderById(String id) {
|
ArdRouteFolder ardRouteFolder = ardRouteFolderMapper.selectArdRouteFolderById(id);
|
ardRouteFolder.setArdRouteFileLs(getArdRouteFiles(id));
|
return ardRouteFolder;
|
}
|
|
/**
|
* 查询文件夹列表
|
*
|
* @param ardRouteFolder 文件夹
|
* @return 文件夹
|
*/
|
@Override
|
@DataScope(deptAlias = "d", userAlias = "u")
|
public List<ArdRouteFolder> selectArdRouteFolderList(ArdRouteFolder ardRouteFolder) {
|
List<ArdRouteFolder> list = ardRouteFolderMapper.selectArdRouteFolderList(ardRouteFolder);
|
for (ArdRouteFolder routeFolder : list) {
|
routeFolder.setArdRouteFileLs(getArdRouteFiles(routeFolder.getId()));
|
}
|
return list;
|
}
|
|
/**
|
* 查询文件列表
|
*/
|
private List<ArdRouteFile> getArdRouteFiles(String folderId) {
|
ArdRouteFile ardRouteFile = new ArdRouteFile();
|
ardRouteFile.setFolderId(folderId);
|
return ardRouteFileMapper.selectArdRouteFileList(ardRouteFile);
|
}
|
|
/**
|
* 新增文件夹
|
*
|
* @param ardRouteFolder 文件夹
|
* @return 结果
|
*/
|
@Override
|
public int insertArdRouteFolder(ArdRouteFolder ardRouteFolder) {
|
ardRouteFolder.setId(IdUtils.simpleUUID());
|
ardRouteFolder.setCreateTime(DateUtils.getNowDate());
|
return ardRouteFolderMapper.insertArdRouteFolder(ardRouteFolder);
|
}
|
|
/**
|
* 修改文件夹
|
*
|
* @param ardRouteFolder 文件夹
|
* @return 结果
|
*/
|
@Override
|
public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder) {
|
ardRouteFolder.setUpdateTime(DateUtils.getNowDate());
|
return ardRouteFolderMapper.updateArdRouteFolder(ardRouteFolder);
|
}
|
|
/**
|
* 批量删除文件夹
|
*
|
* @param ids 需要删除的文件夹主键
|
* @return 结果
|
*/
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public Map<String, Integer> deleteArdRouteFolderByIds(String[] ids) {
|
Map<String, Integer> result = new HashMap<>();
|
// 删除文件夹的同时也删除文件夹下的所有文件
|
int fileAdd = ardRouteFileMapper.deleteRouteFileByFolderIds(ids);
|
result.put("file", fileAdd);
|
int folderCount = ardRouteFolderMapper.deleteArdRouteFolderByIds(ids);
|
result.put("folder", folderCount);
|
return result;
|
}
|
|
/**
|
* 删除文件夹信息
|
*
|
* @param id 文件夹主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdRouteFolderById(String id) {
|
return ardRouteFolderMapper.deleteArdRouteFolderById(id);
|
}
|
|
}
|