增加总存储空间限制
This commit is contained in:
parent
d95e3df011
commit
4006e4cdd8
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,5 +1,5 @@
|
|||||||
/.idea
|
/.idea
|
||||||
/release
|
/release
|
||||||
/*.log
|
/*.log
|
||||||
/file-common/target
|
/target
|
||||||
/file-office/target
|
/file-web.iml
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package com.qiwenshare.file.api;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.qiwenshare.file.domain.StorageBean;
|
||||||
|
|
||||||
|
public interface IStorageService extends IService<StorageBean> {
|
||||||
|
public Long getTotalStorageSize(Long userId);
|
||||||
|
boolean checkStorage(Long userId, Long fileSize);
|
||||||
|
}
|
@ -72,14 +72,9 @@ public class FileController {
|
|||||||
@MyLog(operation = "创建文件", module = CURRENT_MODULE)
|
@MyLog(operation = "创建文件", module = CURRENT_MODULE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> createFile(@RequestBody CreateFileDTO createFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> createFile(@RequestBody CreateFileDTO createFileDto, @RequestHeader("token") String token) {
|
||||||
if (!operationCheck(token).getSuccess()){
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
|
||||||
throw new NotLoginException();
|
|
||||||
}
|
|
||||||
List<UserFile> userFiles = userFileService.selectUserFileByNameAndPath(createFileDto.getFileName(), createFileDto.getFilePath(), sessionUserBean.getUserId());
|
List<UserFile> userFiles = userFileService.selectUserFileByNameAndPath(createFileDto.getFileName(), createFileDto.getFilePath(), sessionUserBean.getUserId());
|
||||||
if (userFiles != null && !userFiles.isEmpty()) {
|
if (userFiles != null && !userFiles.isEmpty()) {
|
||||||
return RestResult.fail().message("同名文件已存在");
|
return RestResult.fail().message("同名文件已存在");
|
||||||
@ -144,9 +139,7 @@ public class FileController {
|
|||||||
@MyLog(operation = "文件重命名", module = CURRENT_MODULE)
|
@MyLog(operation = "文件重命名", module = CURRENT_MODULE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> renameFile(@RequestBody RenameFileDTO renameFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> renameFile(@RequestBody RenameFileDTO renameFileDto, @RequestHeader("token") String token) {
|
||||||
if (!operationCheck(token).getSuccess()){
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -254,9 +247,6 @@ public class FileController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> deleteImageByIds(@RequestBody BatchDeleteFileDTO batchDeleteFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> deleteImageByIds(@RequestBody BatchDeleteFileDTO batchDeleteFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
if (!operationCheck(token).getSuccess()) {
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -279,10 +269,6 @@ public class FileController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult deleteFile(@RequestBody DeleteFileDTO deleteFileDto, @RequestHeader("token") String token) {
|
public RestResult deleteFile(@RequestBody DeleteFileDTO deleteFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
if (!operationCheck(token).getSuccess()){
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -300,9 +286,6 @@ public class FileController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> unzipFile(@RequestBody UnzipFileDTO unzipFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> unzipFile(@RequestBody UnzipFileDTO unzipFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
if (!operationCheck(token).getSuccess()){
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -385,10 +368,6 @@ public class FileController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> moveFile(@RequestBody MoveFileDTO moveFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> moveFile(@RequestBody MoveFileDTO moveFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
if (!operationCheck(token).getSuccess()){
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -409,9 +388,6 @@ public class FileController {
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
public RestResult<String> batchMoveFile(@RequestBody BatchMoveFileDTO batchMoveFileDto, @RequestHeader("token") String token) {
|
public RestResult<String> batchMoveFile(@RequestBody BatchMoveFileDTO batchMoveFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
if (!operationCheck(token).getSuccess()) {
|
|
||||||
return operationCheck(token);
|
|
||||||
}
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
@ -429,18 +405,7 @@ public class FileController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RestResult<String> operationCheck(String token){
|
|
||||||
RestResult<String> result = new RestResult<String>();
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
|
||||||
if (sessionUserBean == null){
|
|
||||||
result.setSuccess(false);
|
|
||||||
result.setMessage("未登录");
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
result.setSuccess(true);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Operation(summary = "通过文件类型选择文件", description = "该接口可以实现文件格式分类查看", tags = {"file"})
|
@Operation(summary = "通过文件类型选择文件", description = "该接口可以实现文件格式分类查看", tags = {"file"})
|
||||||
@RequestMapping(value = "/selectfilebyfiletype", method = RequestMethod.GET)
|
@RequestMapping(value = "/selectfilebyfiletype", method = RequestMethod.GET)
|
||||||
|
@ -18,6 +18,7 @@ import com.qiwenshare.file.domain.UserFile;
|
|||||||
import com.qiwenshare.file.dto.DownloadFileDTO;
|
import com.qiwenshare.file.dto.DownloadFileDTO;
|
||||||
import com.qiwenshare.file.dto.UploadFileDTO;
|
import com.qiwenshare.file.dto.UploadFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.PreviewDTO;
|
import com.qiwenshare.file.dto.file.PreviewDTO;
|
||||||
|
import com.qiwenshare.file.service.StorageService;
|
||||||
import com.qiwenshare.file.vo.file.UploadFileVo;
|
import com.qiwenshare.file.vo.file.UploadFileVo;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -42,9 +43,6 @@ public class FiletransferController {
|
|||||||
@Resource
|
@Resource
|
||||||
IFiletransferService filetransferService;
|
IFiletransferService filetransferService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
FileController fileController;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
IFileService fileService;
|
IFileService fileService;
|
||||||
@Resource
|
@Resource
|
||||||
@ -53,6 +51,8 @@ public class FiletransferController {
|
|||||||
IUserFileService userFileService;
|
IUserFileService userFileService;
|
||||||
@Resource
|
@Resource
|
||||||
FileDealComp fileDealComp;
|
FileDealComp fileDealComp;
|
||||||
|
@Resource
|
||||||
|
StorageService storageService;
|
||||||
public static final String CURRENT_MODULE = "文件传输接口";
|
public static final String CURRENT_MODULE = "文件传输接口";
|
||||||
|
|
||||||
@Operation(summary = "极速上传", description = "校验文件MD5判断文件是否存在,如果存在直接上传成功并返回skipUpload=true,如果不存在返回skipUpload=false需要再次调用该接口的POST方法", tags = {"filetransfer"})
|
@Operation(summary = "极速上传", description = "校验文件MD5判断文件是否存在,如果存在直接上传成功并返回skipUpload=true,如果不存在返回skipUpload=false需要再次调用该接口的POST方法", tags = {"filetransfer"})
|
||||||
@ -62,14 +62,12 @@ public class FiletransferController {
|
|||||||
public RestResult<UploadFileVo> uploadFileSpeed(UploadFileDTO uploadFileDto, @RequestHeader("token") String token) {
|
public RestResult<UploadFileVo> uploadFileSpeed(UploadFileDTO uploadFileDto, @RequestHeader("token") String token) {
|
||||||
|
|
||||||
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
UserBean sessionUserBean = userService.getUserBeanByToken(token);
|
||||||
if (sessionUserBean == null) {
|
|
||||||
throw new NotLoginException();
|
boolean isCheckSuccess = storageService.checkStorage(sessionUserBean.getUserId(), uploadFileDto.getTotalSize());
|
||||||
|
if (!isCheckSuccess) {
|
||||||
|
return RestResult.fail().message("存储空间不足");
|
||||||
}
|
}
|
||||||
|
|
||||||
RestResult<String> operationCheckResult = fileController.operationCheck(token);
|
|
||||||
if (!operationCheckResult.getSuccess()){
|
|
||||||
return RestResult.fail().message("没权限,请联系管理员!");
|
|
||||||
}
|
|
||||||
UploadFileVo uploadFileVo = new UploadFileVo();
|
UploadFileVo uploadFileVo = new UploadFileVo();
|
||||||
Map<String, Object> param = new HashMap<String, Object>();
|
Map<String, Object> param = new HashMap<String, Object>();
|
||||||
param.put("identifier", uploadFileDto.getIdentifier());
|
param.put("identifier", uploadFileDto.getIdentifier());
|
||||||
@ -111,10 +109,6 @@ public class FiletransferController {
|
|||||||
if (sessionUserBean == null) {
|
if (sessionUserBean == null) {
|
||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
}
|
}
|
||||||
RestResult<String> operationCheckResult = fileController.operationCheck(token);
|
|
||||||
if (!operationCheckResult.getSuccess()){
|
|
||||||
return RestResult.fail().message("没权限,请联系管理员!");
|
|
||||||
}
|
|
||||||
|
|
||||||
filetransferService.uploadFile(request, uploadFileDto, sessionUserBean.getUserId());
|
filetransferService.uploadFile(request, uploadFileDto, sessionUserBean.getUserId());
|
||||||
|
|
||||||
@ -201,6 +195,8 @@ public class FiletransferController {
|
|||||||
StorageBean storage = new StorageBean();
|
StorageBean storage = new StorageBean();
|
||||||
storage.setUserId(sessionUserBean.getUserId());
|
storage.setUserId(sessionUserBean.getUserId());
|
||||||
storage.setStorageSize(storageSize);
|
storage.setStorageSize(storageSize);
|
||||||
|
Long totalStorageSize = storageService.getTotalStorageSize(sessionUserBean.getUserId());
|
||||||
|
storage.setTotalStorageSize(totalStorageSize * 1024);
|
||||||
return RestResult.success().data(storage);
|
return RestResult.success().data(storage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,9 @@ public class StorageBean {
|
|||||||
@Column(columnDefinition="bigint(20)")
|
@Column(columnDefinition="bigint(20)")
|
||||||
private Long storageSize;
|
private Long storageSize;
|
||||||
|
|
||||||
|
@Column(columnDefinition="bigint(20)")
|
||||||
|
private Long totalStorageSize;
|
||||||
|
|
||||||
public StorageBean() {
|
public StorageBean() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
26
src/main/java/com/qiwenshare/file/domain/SysParam.java
Normal file
26
src/main/java/com/qiwenshare/file/domain/SysParam.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package com.qiwenshare.file.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Table(name = "sysparam")
|
||||||
|
@Entity
|
||||||
|
@TableName("sysparam")
|
||||||
|
public class SysParam {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(columnDefinition="bigint(20)")
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private Long sysParamId;
|
||||||
|
@Column(columnDefinition="varchar(50)")
|
||||||
|
private String sysParamKey;
|
||||||
|
@Column(columnDefinition="varchar(50)")
|
||||||
|
private String sysParamValue;
|
||||||
|
@Column(columnDefinition="varchar(50)")
|
||||||
|
private String sysParamDesc;
|
||||||
|
}
|
@ -32,12 +32,6 @@ public class UploadFileDTO {
|
|||||||
@Schema(description = "文件名")
|
@Schema(description = "文件名")
|
||||||
private String filename;
|
private String filename;
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件大小
|
|
||||||
*/
|
|
||||||
@Schema(description = "文件大小")
|
|
||||||
private Long fileSize;
|
|
||||||
|
|
||||||
@Schema(description = "切片数量")
|
@Schema(description = "切片数量")
|
||||||
private int chunkNumber;
|
private int chunkNumber;
|
||||||
|
|
||||||
|
10
src/main/java/com/qiwenshare/file/mapper/SysParamMapper.java
Normal file
10
src/main/java/com/qiwenshare/file/mapper/SysParamMapper.java
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package com.qiwenshare.file.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.qiwenshare.file.domain.SysParam;
|
||||||
|
|
||||||
|
public interface SysParamMapper extends BaseMapper<SysParam> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -88,8 +88,6 @@ public class FiletransferService implements IFiletransferService {
|
|||||||
if (uploadFile.getSuccess() == 1){
|
if (uploadFile.getSuccess() == 1){
|
||||||
fileBean.setFileUrl(uploadFile.getUrl());
|
fileBean.setFileUrl(uploadFile.getUrl());
|
||||||
fileBean.setFileSize(uploadFile.getFileSize());
|
fileBean.setFileSize(uploadFile.getFileSize());
|
||||||
//fileBean.setUploadTime(DateUtil.getCurrentTime());
|
|
||||||
// fileBean.setIsOSS(uploadFile.getIsOSS());
|
|
||||||
fileBean.setStorageType(uploadFile.getStorageType());
|
fileBean.setStorageType(uploadFile.getStorageType());
|
||||||
fileBean.setPointCount(1);
|
fileBean.setPointCount(1);
|
||||||
fileMapper.insert(fileBean);
|
fileMapper.insert(fileBean);
|
||||||
@ -105,19 +103,6 @@ public class FiletransferService implements IFiletransferService {
|
|||||||
userFileMapper.insert(userFile);
|
userFileMapper.insert(userFile);
|
||||||
fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
|
fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
|
||||||
|
|
||||||
synchronized (FiletransferService.class) {
|
|
||||||
|
|
||||||
StorageBean storageBean = selectStorageBean(new StorageBean(userId));
|
|
||||||
if (storageBean == null) {
|
|
||||||
StorageBean storage = new StorageBean(userId);
|
|
||||||
storage.setStorageSize(fileBean.getFileSize());
|
|
||||||
insertStorageBean(storage);
|
|
||||||
} else {
|
|
||||||
storageBean.setStorageSize(storageBean.getStorageSize() + uploadFile.getFileSize());
|
|
||||||
updateStorageBean(storageBean);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,92 @@
|
|||||||
|
package com.qiwenshare.file.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.qiwenshare.file.api.IShareService;
|
||||||
|
import com.qiwenshare.file.api.IStorageService;
|
||||||
|
import com.qiwenshare.file.domain.Share;
|
||||||
|
import com.qiwenshare.file.domain.StorageBean;
|
||||||
|
import com.qiwenshare.file.domain.SysParam;
|
||||||
|
import com.qiwenshare.file.dto.sharefile.ShareListDTO;
|
||||||
|
import com.qiwenshare.file.mapper.ShareMapper;
|
||||||
|
import com.qiwenshare.file.mapper.StorageMapper;
|
||||||
|
import com.qiwenshare.file.mapper.SysParamMapper;
|
||||||
|
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||||
|
import com.qiwenshare.file.vo.share.ShareListVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@Transactional(rollbackFor=Exception.class)
|
||||||
|
public class StorageService extends ServiceImpl<StorageMapper, StorageBean> implements IStorageService {
|
||||||
|
@Resource
|
||||||
|
StorageMapper storageMapper;
|
||||||
|
@Resource
|
||||||
|
SysParamMapper sysParamMapper;
|
||||||
|
@Resource
|
||||||
|
UserFileMapper userFileMapper;
|
||||||
|
|
||||||
|
public Long getTotalStorageSize(Long userId) {
|
||||||
|
LambdaQueryWrapper<StorageBean> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(StorageBean::getUserId, userId);
|
||||||
|
|
||||||
|
StorageBean storageBean = storageMapper.selectOne(lambdaQueryWrapper);
|
||||||
|
Long totalStorageSize = null;
|
||||||
|
if (storageBean == null || storageBean.getTotalStorageSize() == null) {
|
||||||
|
LambdaQueryWrapper<SysParam> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper1.eq(SysParam::getSysParamKey, "totalStorageSize");
|
||||||
|
SysParam sysParam = sysParamMapper.selectOne(lambdaQueryWrapper1);
|
||||||
|
totalStorageSize = Long.parseLong(sysParam.getSysParamValue());
|
||||||
|
storageBean = new StorageBean();
|
||||||
|
storageBean.setUserId(userId);
|
||||||
|
storageBean.setTotalStorageSize(totalStorageSize);
|
||||||
|
storageMapper.insert(storageBean);
|
||||||
|
} else {
|
||||||
|
totalStorageSize = storageBean.getTotalStorageSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (totalStorageSize != null) {
|
||||||
|
totalStorageSize = totalStorageSize * 1024;
|
||||||
|
}
|
||||||
|
return totalStorageSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkStorage(Long userId, Long fileSize) {
|
||||||
|
LambdaQueryWrapper<StorageBean> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(StorageBean::getUserId, userId);
|
||||||
|
|
||||||
|
StorageBean storageBean = storageMapper.selectOne(lambdaQueryWrapper);
|
||||||
|
Long totalStorageSize = null;
|
||||||
|
if (storageBean == null || storageBean.getTotalStorageSize() == null) {
|
||||||
|
LambdaQueryWrapper<SysParam> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper1.eq(SysParam::getSysParamKey, "totalStorageSize");
|
||||||
|
SysParam sysParam = sysParamMapper.selectOne(lambdaQueryWrapper1);
|
||||||
|
totalStorageSize = Long.parseLong(sysParam.getSysParamValue());
|
||||||
|
storageBean = new StorageBean();
|
||||||
|
storageBean.setUserId(userId);
|
||||||
|
storageBean.setTotalStorageSize(totalStorageSize);
|
||||||
|
storageMapper.insert(storageBean);
|
||||||
|
} else {
|
||||||
|
totalStorageSize = storageBean.getTotalStorageSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (totalStorageSize != null) {
|
||||||
|
totalStorageSize = totalStorageSize * 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
Long storageSize = userFileMapper.selectStorageSizeByUserId(userId);
|
||||||
|
if (storageSize == null ){
|
||||||
|
storageSize = 0L;
|
||||||
|
}
|
||||||
|
if (storageSize + fileSize > totalStorageSize) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -6,4 +6,7 @@ insert ignore into permission (permissionId, permission) values (1, 'admin'),(2,
|
|||||||
delete from user_role where userId = 1 and roleId = 1;
|
delete from user_role where userId = 1 and roleId = 1;
|
||||||
insert into user_role (userId, roleId) values (1, 1);
|
insert into user_role (userId, roleId) values (1, 1);
|
||||||
delete from role_permission where roleId = 1 and permissionId = 1;
|
delete from role_permission where roleId = 1 and permissionId = 1;
|
||||||
insert into role_permission (roleId, permissionId) values (1, 1);
|
insert into role_permission (roleId, permissionId) values (1, 1);
|
||||||
|
|
||||||
|
delete from sysparam where sysParamId = 1;
|
||||||
|
insert into sysparam (sysParamId, sysParamKey, sysParamValue, sysParamDesc) values (1, 'totalStorageSize', '1024', '总存储大小(单位M)');
|
Loading…
Reference in New Issue
Block a user