package org.jeecg.modules.eam.service.impl;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.jeecg.common.api.vo.FileUploadResult;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.util.FileUtil;
|
import org.jeecg.modules.eam.entity.EamSysFiles;
|
import org.jeecg.modules.eam.mapper.EamSysFilesMapper;
|
import org.jeecg.modules.eam.request.EamSysFilesRequest;
|
import org.jeecg.modules.eam.service.IEamSysFilesService;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Description: 设备附件管理
|
* @Author: jeecg-boot
|
* @Date: 2025-03-17
|
* @Version: V1.0
|
*/
|
@Service
|
public class EamSysFilesServiceImpl extends ServiceImpl<EamSysFilesMapper, EamSysFiles> implements IEamSysFilesService {
|
|
@Resource
|
private EamSysFilesMapper eamSysFilesMapper;
|
|
@Override
|
public void downloadFile(HttpServletResponse response, EamSysFiles entity) {
|
FileUtil.downLoadFile(response, entity.getFilePath(), entity.getFileName());
|
}
|
|
@Override
|
public FileUploadResult uploadFile(MultipartFile file) {
|
return FileUtil.uploadFile(file);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public boolean saveEamSysFiles(EamSysFilesRequest request) {
|
if (request == null || CollectionUtil.isEmpty(request.getFileList())) {
|
return false;
|
}
|
List<EamSysFiles> resultList = new ArrayList<>();
|
for (FileUploadResult fileUploadResult : request.getFileList()) {
|
EamSysFiles eamSysFiles = this.getByPath(fileUploadResult.getFilePath());
|
if (eamSysFiles == null) {
|
continue;
|
}
|
eamSysFiles.setDescription(request.getDescription());
|
resultList.add(eamSysFiles);
|
}
|
return this.updateBatchById(resultList);
|
}
|
|
@Override
|
public EamSysFiles getByPath(String path) {
|
LambdaQueryWrapper<EamSysFiles> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.eq(EamSysFiles::getFileEncodeName, path);
|
List<EamSysFiles> list = eamSysFilesMapper.selectList(queryWrapper);
|
if (CollectionUtil.isEmpty(list)) {
|
return null;
|
}
|
return list.get(0);
|
}
|
}
|