mirror of
https://github.com/weizhiqiang1995/erp-pro.git
synced 2025-02-27 17:03:42 +08:00
feat: 新增文件信息的存储
This commit is contained in:
parent
4a087db135
commit
890ceaafff
5 changed files with 99 additions and 13 deletions
|
@ -0,0 +1,41 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.upload.controller;
|
||||
|
||||
import com.skyeye.annotation.api.Api;
|
||||
import com.skyeye.annotation.api.ApiImplicitParam;
|
||||
import com.skyeye.annotation.api.ApiImplicitParams;
|
||||
import com.skyeye.annotation.api.ApiOperation;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.upload.service.FileService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @ClassName: FileController
|
||||
* @Description: 文件控制层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2024/12/25 11:57
|
||||
* @Copyright: 2024 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@RestController
|
||||
@Api(value = "文件管理", tags = "文件管理", modelName = "基础模块")
|
||||
public class FileController {
|
||||
|
||||
@Autowired
|
||||
private FileService fileService;
|
||||
|
||||
@ApiOperation(id = "queryFileListByPath", value = "根据路径查询文件列表", method = "POST", allUse = "0")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(id = "path", name = "path", value = "文件路径,多个逗号隔开", required = "required")})
|
||||
@RequestMapping("/post/FileController/queryFileListByPath")
|
||||
public void queryFileListByPath(InputObject inputObject, OutputObject outputObject) {
|
||||
fileService.queryFileListByPath(inputObject, outputObject);
|
||||
}
|
||||
|
||||
}
|
|
@ -42,6 +42,6 @@ public class File extends BaseGeneralInfo {
|
|||
|
||||
@TableField(value = "size")
|
||||
@ApiModelProperty(value = "文件大小")
|
||||
private Integer size;
|
||||
private long size;
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
package com.skyeye.upload.service;
|
||||
|
||||
import com.skyeye.base.business.service.SkyeyeBusinessService;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.upload.entity.File;
|
||||
|
||||
/**
|
||||
|
@ -19,4 +21,5 @@ public interface FileService extends SkyeyeBusinessService<File> {
|
|||
|
||||
File queryByPath(String path);
|
||||
|
||||
void queryFileListByPath(InputObject inputObject, OutputObject outputObject);
|
||||
}
|
||||
|
|
|
@ -4,15 +4,24 @@
|
|||
|
||||
package com.skyeye.upload.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.skyeye.annotation.service.SkyeyeService;
|
||||
import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl;
|
||||
import com.skyeye.common.constans.CommonCharConstants;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.common.util.mybatisplus.MybatisPlusUtil;
|
||||
import com.skyeye.upload.dao.FileDao;
|
||||
import com.skyeye.upload.entity.File;
|
||||
import com.skyeye.upload.service.FileService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: FileServiceImpl
|
||||
* @Description: 文件服务层
|
||||
|
@ -33,4 +42,22 @@ public class FileServiceImpl extends SkyeyeBusinessServiceImpl<FileDao, File> im
|
|||
return file;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void queryFileListByPath(InputObject inputObject, OutputObject outputObject) {
|
||||
String path = inputObject.getParams().get("path").toString();
|
||||
if (StrUtil.isEmpty(path)) {
|
||||
return;
|
||||
}
|
||||
List<String> pathList = Arrays.asList(path.split(CommonCharConstants.COMMA_MARK)).stream()
|
||||
.filter(StrUtil::isNotEmpty).distinct().collect(Collectors.toList());
|
||||
if (CollectionUtil.isEmpty(pathList)) {
|
||||
return;
|
||||
}
|
||||
QueryWrapper<File> wrapper = new QueryWrapper<>();
|
||||
wrapper.in(MybatisPlusUtil.toColumns(File::getPath), path);
|
||||
List<File> fileList = list(wrapper);
|
||||
outputObject.setBeans(fileList);
|
||||
outputObject.settotal(fileList.size());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,10 +9,8 @@ import cn.hutool.core.util.StrUtil;
|
|||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.skyeye.cache.redis.RedisCache;
|
||||
import com.skyeye.common.constans.CommonCharConstants;
|
||||
import com.skyeye.common.constans.CommonNumConstants;
|
||||
import com.skyeye.common.constans.FileConstants;
|
||||
import com.skyeye.common.constans.RedisConstants;
|
||||
import com.skyeye.common.constans.*;
|
||||
import com.skyeye.common.object.GetUserToken;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.common.object.PutObject;
|
||||
|
@ -267,6 +265,9 @@ public class UploadServiceImpl implements UploadService {
|
|||
String fileExtName = fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
// 自定义的文件名称
|
||||
String newFileName = String.format(Locale.ROOT, "%s.%s", System.currentTimeMillis(), fileExtName);
|
||||
bean.put("fileExtName", fileExtName);
|
||||
bean.put("size", file.getSize());
|
||||
bean.put("fileSizeType", "bytes");
|
||||
String path = basePath + "/" + newFileName;
|
||||
// try {
|
||||
// content = IoUtil.readBytes(file.getInputStream());
|
||||
|
@ -288,23 +289,37 @@ public class UploadServiceImpl implements UploadService {
|
|||
} else {
|
||||
trueFileName.append(",").append(newFileName);
|
||||
}
|
||||
saveFile(file, trueFileName.toString());
|
||||
break;
|
||||
}
|
||||
bean.put("picUrl", trueFileName.toString());
|
||||
bean.put("type", type);
|
||||
bean.put("fileName", fileName);
|
||||
|
||||
// com.skyeye.upload.entity.File file = new com.skyeye.upload.entity.File();
|
||||
// file.setConfigId(client.getId());
|
||||
// file.setName(fileName);
|
||||
// file.setPath(trueFileName.toString());
|
||||
// file.setUrl(trueFileName.toString());
|
||||
// file.setType(FileUtil.getMineType(fileName));
|
||||
// file.setSize(content.length);
|
||||
// fileService.createEntity(file, StrUtil.EMPTY);
|
||||
outputObject.setBean(bean);
|
||||
}
|
||||
|
||||
private void saveFile(MultipartFile multipartFile, String path) {
|
||||
com.skyeye.upload.entity.File file = new com.skyeye.upload.entity.File();
|
||||
// file.setConfigId(client.getId());
|
||||
file.setName(multipartFile.getOriginalFilename());
|
||||
file.setPath(path);
|
||||
file.setUrl(path);
|
||||
file.setType(FileUtil.getMineType(multipartFile.getOriginalFilename()));
|
||||
file.setSize(multipartFile.getSize());
|
||||
|
||||
String userId = StrUtil.EMPTY;
|
||||
String userToken = GetUserToken.getUserToken(InputObject.getRequest());
|
||||
if (StrUtil.isNotEmpty(userToken)) {
|
||||
String userTokenUserId = GetUserToken.getUserTokenUserId(InputObject.getRequest());
|
||||
Boolean aBoolean = SysUserAuthConstants.exitUserLoginRedisCache(userTokenUserId);
|
||||
if (aBoolean) {
|
||||
userId = InputObject.getLogParamsStatic().get("id").toString();
|
||||
}
|
||||
}
|
||||
fileService.createEntity(file, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传文件Base64
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue