diff --git a/pom.xml b/pom.xml index ba0531b..ec49e7d 100644 --- a/pom.xml +++ b/pom.xml @@ -6,11 +6,11 @@ com.qiwenshare qiwenshare - 1.1.3 + 1.1.4 qiwen-file - 1.1.3-SNAPSHOT + 1.1.4-SNAPSHOT qiwen-file pan.qiwenshare.com jar diff --git a/src/main/java/com/qiwenshare/file/advice/GlobalExceptionHandlerAdvice.java b/src/main/java/com/qiwenshare/file/advice/GlobalExceptionHandlerAdvice.java index b259cd1..4426202 100644 --- a/src/main/java/com/qiwenshare/file/advice/GlobalExceptionHandlerAdvice.java +++ b/src/main/java/com/qiwenshare/file/advice/GlobalExceptionHandlerAdvice.java @@ -1,6 +1,7 @@ package com.qiwenshare.file.advice; import com.qiwenshare.common.exception.NotLoginException; +import com.qiwenshare.common.exception.QiwenException; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.result.ResultCodeEnum; diff --git a/src/main/java/com/qiwenshare/file/advice/QiwenException.java b/src/main/java/com/qiwenshare/file/advice/QiwenException.java deleted file mode 100644 index faa929d..0000000 --- a/src/main/java/com/qiwenshare/file/advice/QiwenException.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.qiwenshare.file.advice; - -import com.qiwenshare.common.result.ResultCodeEnum; -import lombok.Data; - -/** - * 自定义全局异常类 - */ -@Data -public class QiwenException extends RuntimeException { - private Integer code; - - public QiwenException(Integer code, String message) { - super(message); - this.code = code; - } - - public QiwenException(ResultCodeEnum resultCodeEnum) { - super(resultCodeEnum.getMessage()); - this.code = resultCodeEnum.getCode(); - } - - @Override - public String toString() { - return "QiwenException{" + "code=" + code + ", message=" + this.getMessage() + '}'; - } -} \ No newline at end of file diff --git a/src/main/java/com/qiwenshare/file/aop/WebLogAcpect.java b/src/main/java/com/qiwenshare/file/aop/WebLogAcpect.java index afdcca5..daca9dd 100644 --- a/src/main/java/com/qiwenshare/file/aop/WebLogAcpect.java +++ b/src/main/java/com/qiwenshare/file/aop/WebLogAcpect.java @@ -2,11 +2,11 @@ package com.qiwenshare.file.aop; import com.qiwenshare.common.anno.MyLog; import com.qiwenshare.common.result.RestResult; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IOperationLogService; import com.qiwenshare.file.api.IUserService; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.util.OperationLogUtil; -import com.qiwenshare.file.util.SessionUtil; import com.qiwenshare.file.vo.user.UserLoginVo; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; diff --git a/src/main/java/com/qiwenshare/file/api/ICommonFileService.java b/src/main/java/com/qiwenshare/file/api/ICommonFileService.java new file mode 100644 index 0000000..3a3ca5d --- /dev/null +++ b/src/main/java/com/qiwenshare/file/api/ICommonFileService.java @@ -0,0 +1,13 @@ +package com.qiwenshare.file.api; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qiwenshare.file.domain.CommonFile; +import com.qiwenshare.file.vo.commonfile.CommonFileListVo; +import com.qiwenshare.file.vo.commonfile.CommonFileUser; + +import java.util.List; + +public interface ICommonFileService extends IService { + List selectCommonFileUser(Long userId); + List selectCommonFileByUser(Long userId); +} \ No newline at end of file diff --git a/src/main/java/com/qiwenshare/file/api/IFilePermissionService.java b/src/main/java/com/qiwenshare/file/api/IFilePermissionService.java new file mode 100644 index 0000000..6edc32c --- /dev/null +++ b/src/main/java/com/qiwenshare/file/api/IFilePermissionService.java @@ -0,0 +1,8 @@ +package com.qiwenshare.file.api; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qiwenshare.file.domain.FilePermission; + +public interface IFilePermissionService extends IService { + +} \ No newline at end of file diff --git a/src/main/java/com/qiwenshare/file/api/IFileService.java b/src/main/java/com/qiwenshare/file/api/IFileService.java index 099e890..099842a 100644 --- a/src/main/java/com/qiwenshare/file/api/IFileService.java +++ b/src/main/java/com/qiwenshare/file/api/IFileService.java @@ -2,10 +2,6 @@ package com.qiwenshare.file.api; import com.baomidou.mybatisplus.extension.service.IService; import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.domain.UserBean; -import com.qiwenshare.file.domain.UserFile; - -import java.util.List; public interface IFileService extends IService { diff --git a/src/main/java/com/qiwenshare/file/api/IFiletransferService.java b/src/main/java/com/qiwenshare/file/api/IFiletransferService.java index c6f147c..030b397 100644 --- a/src/main/java/com/qiwenshare/file/api/IFiletransferService.java +++ b/src/main/java/com/qiwenshare/file/api/IFiletransferService.java @@ -1,10 +1,9 @@ package com.qiwenshare.file.api; import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.domain.StorageBean; import com.qiwenshare.file.dto.file.DownloadFileDTO; -import com.qiwenshare.file.dto.file.UploadFileDTO; import com.qiwenshare.file.dto.file.PreviewDTO; +import com.qiwenshare.file.dto.file.UploadFileDTO; import com.qiwenshare.file.vo.file.UploadFileVo; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/qiwenshare/file/api/IOperationLogService.java b/src/main/java/com/qiwenshare/file/api/IOperationLogService.java index 4840ba0..6b5cc24 100644 --- a/src/main/java/com/qiwenshare/file/api/IOperationLogService.java +++ b/src/main/java/com/qiwenshare/file/api/IOperationLogService.java @@ -1,7 +1,6 @@ package com.qiwenshare.file.api; - import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.qiwenshare.file.domain.OperationLogBean; diff --git a/src/main/java/com/qiwenshare/file/api/IUserFileService.java b/src/main/java/com/qiwenshare/file/api/IUserFileService.java index c2dd075..19839ac 100644 --- a/src/main/java/com/qiwenshare/file/api/IUserFileService.java +++ b/src/main/java/com/qiwenshare/file/api/IUserFileService.java @@ -2,20 +2,17 @@ package com.qiwenshare.file.api; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.domain.UserBean; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.vo.file.FileListVo; import java.util.List; -import java.util.Map; public interface IUserFileService extends IService { List selectUserFileByNameAndPath(String fileName, String filePath, Long userId); boolean isDirExist(String fileName, String filePath, long userId); List selectSameUserFile(String fileName, String filePath, String extendName, Long userId); void replaceUserFilePath(String filePath, String oldFilePath, Long userId); - IPage userFileList(String filePath, Long beginCount, Long pageCount); + IPage userFileList(Long userId, String filePath, Long beginCount, Long pageCount); void updateFilepathByFilepath(String oldfilePath, String newfilePath, String fileName, String extendName, long userId); void userFileCopy(String oldfilePath, String newfilePath, String fileName, String extendName, long userId); diff --git a/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java b/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java index 9cb6bc4..9165d11 100644 --- a/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java +++ b/src/main/java/com/qiwenshare/file/api/IUserLoginInfoService.java @@ -1,11 +1,7 @@ package com.qiwenshare.file.api; import com.baomidou.mybatisplus.extension.service.IService; -import com.qiwenshare.file.domain.ShareFile; import com.qiwenshare.file.domain.UserLoginInfo; -import com.qiwenshare.file.vo.share.ShareFileListVO; - -import java.util.List; public interface IUserLoginInfoService extends IService { diff --git a/src/main/java/com/qiwenshare/file/api/IUserService.java b/src/main/java/com/qiwenshare/file/api/IUserService.java index 2d21441..1ff9db2 100644 --- a/src/main/java/com/qiwenshare/file/api/IUserService.java +++ b/src/main/java/com/qiwenshare/file/api/IUserService.java @@ -2,8 +2,8 @@ package com.qiwenshare.file.api; import com.baomidou.mybatisplus.extension.service.IService; import com.qiwenshare.common.result.RestResult; -import com.qiwenshare.file.domain.Role; -import com.qiwenshare.file.domain.UserBean; +import com.qiwenshare.file.domain.user.Role; +import com.qiwenshare.file.domain.user.UserBean; import java.util.List; @@ -12,7 +12,6 @@ public interface IUserService extends IService { Long getUserIdByToken(String token); - UserBean selectUserByopenid(String openid); /** * 用户注册 diff --git a/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java b/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java index 52e4355..b579696 100644 --- a/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java +++ b/src/main/java/com/qiwenshare/file/component/AsyncTaskComp.java @@ -3,7 +3,6 @@ package com.qiwenshare.file.component; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiwenshare.common.util.DateUtil; -import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.api.IFiletransferService; import com.qiwenshare.file.api.IRecoveryFileService; import com.qiwenshare.file.api.IUserFileService; @@ -11,7 +10,6 @@ import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.mapper.FileMapper; import com.qiwenshare.file.mapper.UserFileMapper; -import com.qiwenshare.file.util.QiwenFileUtil; import com.qiwenshare.ufop.factory.UFOPFactory; import com.qiwenshare.ufop.operation.copy.domain.CopyFile; import com.qiwenshare.ufop.util.UFOPUtils; diff --git a/src/main/java/com/qiwenshare/file/component/FileDealComp.java b/src/main/java/com/qiwenshare/file/component/FileDealComp.java index c43c4d1..f00b52e 100644 --- a/src/main/java/com/qiwenshare/file/component/FileDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/FileDealComp.java @@ -135,9 +135,13 @@ public class FileDealComp { userFile.setFilePath(parentFilePath + FileConstant.pathSeparator); userFile.setDeleteFlag(0); userFile.setIsDir(1); + userFile.setExtendName(""); userFile.setUploadTime(DateUtil.getCurrentTime()); - - userFileMapper.insert(userFile); + try { + userFileMapper.insert(userFile); + } catch (Exception e) { + //ignore + } } } diff --git a/src/main/java/com/qiwenshare/file/component/UserDealComp.java b/src/main/java/com/qiwenshare/file/component/UserDealComp.java index bb2fc0b..718e9ef 100644 --- a/src/main/java/com/qiwenshare/file/component/UserDealComp.java +++ b/src/main/java/com/qiwenshare/file/component/UserDealComp.java @@ -2,7 +2,7 @@ package com.qiwenshare.file.component; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiwenshare.common.constant.RegexConstant; -import com.qiwenshare.file.domain.UserBean; +import com.qiwenshare.file.domain.user.UserBean; import com.qiwenshare.file.mapper.UserMapper; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/qiwenshare/file/config/security/filter/JwtAuthenticationTokenFilter.java b/src/main/java/com/qiwenshare/file/config/security/filter/JwtAuthenticationTokenFilter.java index 3dcb472..e7e3624 100644 --- a/src/main/java/com/qiwenshare/file/config/security/filter/JwtAuthenticationTokenFilter.java +++ b/src/main/java/com/qiwenshare/file/config/security/filter/JwtAuthenticationTokenFilter.java @@ -1,7 +1,6 @@ package com.qiwenshare.file.config.security.filter; -import com.qiwenshare.file.advice.QiwenException; -import com.qiwenshare.file.mapper.SysParamMapper; +import com.qiwenshare.common.exception.QiwenException; import com.qiwenshare.file.service.SysParamService; import com.qiwenshare.file.service.UserService; import org.apache.commons.lang3.StringUtils; diff --git a/src/main/java/com/qiwenshare/file/config/security/user/JwtUser.java b/src/main/java/com/qiwenshare/file/config/security/user/JwtUser.java deleted file mode 100644 index fdecab4..0000000 --- a/src/main/java/com/qiwenshare/file/config/security/user/JwtUser.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.qiwenshare.file.config.security.user; - -import lombok.Data; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; - -import java.util.Collection; - -/** - * @author MAC - * @version 1.0 - * @description: TODO - * @date 2021/12/6 20:13 - */ -@Data -public class JwtUser implements UserDetails { - private Long userId; - private String username; - - private String password; - - private Integer available; - - private Collection authorities; - - public JwtUser() { - } - - public JwtUser(Long userId, String username, String password, Integer available, Collection authorities) { - this.userId = userId; - this.username = username; - this.password = password; - this.available = available; - this.authorities = authorities; - } - - @Override - public Collection getAuthorities() { - return authorities; - } - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return username; - } - - // 账户是否未过期 - @Override - public boolean isAccountNonExpired() { - return true; - } - - // 账户是否未被锁 - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return !"0".equals(available); - } -} diff --git a/src/main/java/com/qiwenshare/file/constant/FilePermissionEnum.java b/src/main/java/com/qiwenshare/file/constant/FilePermissionEnum.java new file mode 100644 index 0000000..ecdf53e --- /dev/null +++ b/src/main/java/com/qiwenshare/file/constant/FilePermissionEnum.java @@ -0,0 +1,27 @@ +package com.qiwenshare.file.constant; + +/** + * @author MAC + * @version 1.0 + * @description: TODO + * @date 2022/1/12 15:44 + */ +public enum FilePermissionEnum { + READ(1, "读取"), + READ_WRITE(2, "读取/写入"); + + private int type; + private String desc; + FilePermissionEnum(int type, String desc) { + this.type = type; + this.desc = desc; + } + + public int getType() { + return type; + } + + public String getDesc() { + return desc; + } +} diff --git a/src/main/java/com/qiwenshare/file/controller/CommonFileController.java b/src/main/java/com/qiwenshare/file/controller/CommonFileController.java new file mode 100644 index 0000000..405c188 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/controller/CommonFileController.java @@ -0,0 +1,111 @@ +package com.qiwenshare.file.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qiwenshare.common.anno.MyLog; +import com.qiwenshare.common.result.RestResult; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; +import com.qiwenshare.file.api.ICommonFileService; +import com.qiwenshare.file.api.IFilePermissionService; +import com.qiwenshare.file.api.IUserFileService; +import com.qiwenshare.file.domain.CommonFile; +import com.qiwenshare.file.domain.FilePermission; +import com.qiwenshare.file.domain.UserFile; +import com.qiwenshare.file.dto.commonfile.CommonFileDTO; +import com.qiwenshare.file.vo.commonfile.CommonFileListVo; +import com.qiwenshare.file.vo.commonfile.CommonFileUser; +import com.qiwenshare.file.vo.file.FileListVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Tag(name = "common", description = "该接口为文件共享接口") +@RestController +@Slf4j +@RequestMapping("/common") +public class CommonFileController { + + public static final String CURRENT_MODULE = "文件共享"; + + @Resource + ICommonFileService commonFileService; + @Resource + IFilePermissionService filePermissionService; + @Resource + IUserFileService userFileService; + + @Operation(summary = "共享文件", description = "共享文件统一接口", tags = {"common"}) + @PostMapping(value = "/commonfile") + @MyLog(operation = "共享文件", module = CURRENT_MODULE) + @ResponseBody + public RestResult commonFile( @RequestBody CommonFileDTO commonFileDTO) { + CommonFile commonFile = new CommonFile(); + commonFile.setUserFileId(commonFileDTO.getUserFileId()); + commonFileService.save(commonFile); + +// List list = JSON.parseArray(commonFileDTO.getCommonUserIds(), Long.class); + List filePermissionList = new ArrayList<>(); +// for (Long userId : list) { + FilePermission filePermission = new FilePermission(); + filePermission.setUserId(Long.parseLong(commonFileDTO.getCommonUserIds())); + filePermission.setCommonFileId(commonFile.commonFileId); + filePermission.setFilePermissionCode(commonFileDTO.getPermissionCode()); + filePermissionList.add(filePermission); +// } + filePermissionService.saveBatch(filePermissionList); + + return RestResult.success(); + } + + @Operation(summary = "共享文件用户", description = "共享文件用户接口", tags = {"common"}) + @GetMapping(value = "/commonfileuser") + @MyLog(operation = "共享文件用户", module = CURRENT_MODULE) + @ResponseBody + public RestResult> commonFileUser() { + + JwtUser sessionUserBean = SessionUtil.getSession(); + List list = commonFileService.selectCommonFileUser(sessionUserBean.getUserId()); + return RestResult.success().data(list); + } + + @Operation(summary = "获取共享用户文件列表", description = "用来做前台列表展示", tags = {"file"}) + @RequestMapping(value = "/getCommonFileByUser", method = RequestMethod.GET) + @ResponseBody + public RestResult getCommonFileByUser( + @Parameter(description = "用户id", required = true) Long userId, + @Parameter(description = "用户文件路径", required = true) Long userFileId, + @Parameter(description = "文件路径", required = true) String filePath, + @Parameter(description = "当前页", required = true) long currentPage, + @Parameter(description = "页面数量", required = true) long pageCount){ + + List commonFileVo = commonFileService.selectCommonFileByUser(userId); + + return RestResult.success().data(commonFileVo); + + } + + @Operation(summary = "获取共享用户文件列表", description = "用来做前台列表展示", tags = {"file"}) + @RequestMapping(value = "/commonFileList", method = RequestMethod.GET) + @ResponseBody + public RestResult commonFileList( + @Parameter(description = "用户id", required = true) Long commonFileId, + @Parameter(description = "文件路径", required = true) String filePath, + @Parameter(description = "当前页", required = true) long currentPage, + @Parameter(description = "页面数量", required = true) long pageCount){ + + CommonFile commonFile = commonFileService.getById(commonFileId); + UserFile userFile = userFileService.getById(commonFile.getUserFileId()); + filePath = userFile.getFilePath() + filePath; + IPage fileList = userFileService.userFileList(userFile.getUserId(), filePath, currentPage, pageCount); + + return RestResult.success().data(fileList); + + } + +} diff --git a/src/main/java/com/qiwenshare/file/controller/FileController.java b/src/main/java/com/qiwenshare/file/controller/FileController.java index 1acc955..cd23d9b 100644 --- a/src/main/java/com/qiwenshare/file/controller/FileController.java +++ b/src/main/java/com/qiwenshare/file/controller/FileController.java @@ -4,20 +4,20 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.qiwenshare.common.anno.MyLog; +import com.qiwenshare.common.exception.QiwenException; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; -import com.qiwenshare.file.advice.QiwenException; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.api.IUserFileService; import com.qiwenshare.file.api.IUserService; import com.qiwenshare.file.component.FileDealComp; import com.qiwenshare.file.config.es.FileSearch; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.util.TreeNode; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.dto.file.*; -import com.qiwenshare.file.util.SessionUtil; +import com.qiwenshare.file.util.TreeNode; import com.qiwenshare.file.vo.file.FileListVo; import com.qiwenshare.ufop.factory.UFOPFactory; import com.qiwenshare.ufop.operation.download.domain.DownloadFile; @@ -196,7 +196,7 @@ public class FileController { @Parameter(description = "页面数量", required = true) long pageCount){ - IPage fileList = userFileService.userFileList(filePath, currentPage, pageCount); + IPage fileList = userFileService.userFileList(null, filePath, currentPage, pageCount); Map map = new HashMap<>(); diff --git a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java index b9307e2..d996c81 100644 --- a/src/main/java/com/qiwenshare/file/controller/FiletransferController.java +++ b/src/main/java/com/qiwenshare/file/controller/FiletransferController.java @@ -3,21 +3,21 @@ package com.qiwenshare.file.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiwenshare.common.anno.MyLog; import com.qiwenshare.common.result.RestResult; -import com.qiwenshare.common.util.DateUtil; import com.qiwenshare.common.util.MimeUtils; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.*; import com.qiwenshare.file.component.FileDealComp; -import com.qiwenshare.file.config.security.user.JwtUser; -import com.qiwenshare.file.domain.*; +import com.qiwenshare.file.domain.FileBean; +import com.qiwenshare.file.domain.Image; +import com.qiwenshare.file.domain.StorageBean; +import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.dto.file.DownloadFileDTO; import com.qiwenshare.file.dto.file.PreviewDTO; import com.qiwenshare.file.dto.file.UploadFileDTO; import com.qiwenshare.file.mapper.ImageMapper; import com.qiwenshare.file.service.StorageService; -import com.qiwenshare.file.util.SessionUtil; -import com.qiwenshare.file.vo.file.FileListVo; import com.qiwenshare.file.vo.file.UploadFileVo; -import com.qiwenshare.ufop.constant.UploadFileStatusEnum; import com.qiwenshare.ufop.factory.UFOPFactory; import com.qiwenshare.ufop.operation.download.Downloader; import com.qiwenshare.ufop.operation.download.domain.DownloadFile; @@ -37,9 +37,7 @@ import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; -import java.util.HashMap; import java.util.List; -import java.util.Map; @Slf4j @Tag(name = "filetransfer", description = "该接口为文件传输接口,主要用来做文件的上传、下载和预览") diff --git a/src/main/java/com/qiwenshare/file/controller/OfficeController.java b/src/main/java/com/qiwenshare/file/controller/OfficeController.java index f4ae1c8..32c5f95 100644 --- a/src/main/java/com/qiwenshare/file/controller/OfficeController.java +++ b/src/main/java/com/qiwenshare/file/controller/OfficeController.java @@ -7,18 +7,18 @@ import com.baomidou.mybatisplus.core.toolkit.ClassUtils; import com.qiwenshare.common.exception.NotLoginException; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.api.IUserFileService; import com.qiwenshare.file.api.IUserService; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.util.FileModel; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.dto.file.CreateOfficeFileDTO; import com.qiwenshare.file.dto.file.EditOfficeFileDTO; import com.qiwenshare.file.dto.file.PreviewOfficeFileDTO; import com.qiwenshare.file.helper.ConfigManager; -import com.qiwenshare.file.util.SessionUtil; +import com.qiwenshare.file.util.FileModel; import com.qiwenshare.ufop.factory.UFOPFactory; import com.qiwenshare.ufop.operation.copy.Copier; import com.qiwenshare.ufop.operation.copy.domain.CopyFile; diff --git a/src/main/java/com/qiwenshare/file/controller/RecoveryFileController.java b/src/main/java/com/qiwenshare/file/controller/RecoveryFileController.java index 855940a..9346fe6 100644 --- a/src/main/java/com/qiwenshare/file/controller/RecoveryFileController.java +++ b/src/main/java/com/qiwenshare/file/controller/RecoveryFileController.java @@ -3,14 +3,14 @@ package com.qiwenshare.file.controller; import com.alibaba.fastjson.JSON; import com.qiwenshare.common.anno.MyLog; import com.qiwenshare.common.result.RestResult; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.*; import com.qiwenshare.file.component.AsyncTaskComp; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.RecoveryFile; import com.qiwenshare.file.dto.file.DeleteRecoveryFileDTO; import com.qiwenshare.file.dto.recoveryfile.BatchDeleteRecoveryFileDTO; import com.qiwenshare.file.dto.recoveryfile.RestoreFileDTO; -import com.qiwenshare.file.util.SessionUtil; import com.qiwenshare.file.vo.file.RecoveryFileListVo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/qiwenshare/file/controller/ShareController.java b/src/main/java/com/qiwenshare/file/controller/ShareController.java index ec02daf..d4eccb7 100644 --- a/src/main/java/com/qiwenshare/file/controller/ShareController.java +++ b/src/main/java/com/qiwenshare/file/controller/ShareController.java @@ -7,16 +7,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiwenshare.common.anno.MyLog; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IShareFileService; import com.qiwenshare.file.api.IShareService; import com.qiwenshare.file.api.IUserFileService; import com.qiwenshare.file.component.FileDealComp; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.Share; import com.qiwenshare.file.domain.ShareFile; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.dto.sharefile.*; -import com.qiwenshare.file.util.SessionUtil; import com.qiwenshare.file.vo.share.ShareFileListVO; import com.qiwenshare.file.vo.share.ShareFileVO; import com.qiwenshare.file.vo.share.ShareListVO; diff --git a/src/main/java/com/qiwenshare/file/controller/UserController.java b/src/main/java/com/qiwenshare/file/controller/UserController.java index 93483a4..9b52fed 100644 --- a/src/main/java/com/qiwenshare/file/controller/UserController.java +++ b/src/main/java/com/qiwenshare/file/controller/UserController.java @@ -6,14 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qiwenshare.common.anno.MyLog; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IUserLoginInfoService; import com.qiwenshare.file.api.IUserService; import com.qiwenshare.file.component.JwtComp; -import com.qiwenshare.file.config.security.user.JwtUser; -import com.qiwenshare.file.domain.UserBean; import com.qiwenshare.file.domain.UserLoginInfo; +import com.qiwenshare.file.domain.user.UserBean; import com.qiwenshare.file.dto.user.RegisterDTO; -import com.qiwenshare.file.util.SessionUtil; import com.qiwenshare.file.vo.user.UserLoginVo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/src/main/java/com/qiwenshare/file/domain/CommonFile.java b/src/main/java/com/qiwenshare/file/domain/CommonFile.java new file mode 100644 index 0000000..7c0ffeb --- /dev/null +++ b/src/main/java/com/qiwenshare/file/domain/CommonFile.java @@ -0,0 +1,30 @@ +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.*; + +/** + * @author MAC + * @version 1.0 + * @description: TODO + * @date 2022/1/12 14:41 + */ +@Data +@Table(name = "commonfile") +@Entity +@TableName("commonfile") +public class CommonFile { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @TableId(type = IdType.AUTO) + @Column(columnDefinition="bigint(20)") + public Long commonFileId; + @Column(columnDefinition="bigint(20) comment '用户文件id'") + public Long userFileId; +// @Column(columnDefinition="int(2) comment '文件权限'") +// public Integer filePermission; +} diff --git a/src/main/java/com/qiwenshare/file/domain/FilePermission.java b/src/main/java/com/qiwenshare/file/domain/FilePermission.java new file mode 100644 index 0000000..9ae9a2c --- /dev/null +++ b/src/main/java/com/qiwenshare/file/domain/FilePermission.java @@ -0,0 +1,33 @@ +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.*; + +/** + * @author MAC + * @version 1.0 + * @description: TODO + * @date 2022/1/12 14:44 + */ +@Data +@Table(name = "filepermission") +@Entity +@TableName("filepermission") +public class FilePermission { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @TableId(type = IdType.AUTO) + @Column(columnDefinition="bigint(20)") + public Long filePermissionId; + @Column(columnDefinition="bigint(20) comment '共享文件id'") + public Long commonFileId; + @Column(columnDefinition="bigint(20) comment '用户id'") + public Long userId; + @Column(columnDefinition="int(2) comment '文件权限码'") + public Integer filePermissionCode; + +} diff --git a/src/main/java/com/qiwenshare/file/domain/Permission.java b/src/main/java/com/qiwenshare/file/domain/user/Permission.java similarity index 92% rename from src/main/java/com/qiwenshare/file/domain/Permission.java rename to src/main/java/com/qiwenshare/file/domain/user/Permission.java index d839fe1..0f0391d 100644 --- a/src/main/java/com/qiwenshare/file/domain/Permission.java +++ b/src/main/java/com/qiwenshare/file/domain/user/Permission.java @@ -1,13 +1,11 @@ -package com.qiwenshare.file.domain; +package com.qiwenshare.file.domain.user; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import javax.persistence.*; -import java.util.List; /** * 权限实体类 diff --git a/src/main/java/com/qiwenshare/file/domain/Role.java b/src/main/java/com/qiwenshare/file/domain/user/Role.java similarity index 97% rename from src/main/java/com/qiwenshare/file/domain/Role.java rename to src/main/java/com/qiwenshare/file/domain/user/Role.java index 098570b..5ad5b66 100644 --- a/src/main/java/com/qiwenshare/file/domain/Role.java +++ b/src/main/java/com/qiwenshare/file/domain/user/Role.java @@ -1,4 +1,4 @@ -package com.qiwenshare.file.domain; +package com.qiwenshare.file.domain.user; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/src/main/java/com/qiwenshare/file/domain/RolePermission.java b/src/main/java/com/qiwenshare/file/domain/user/RolePermission.java similarity index 94% rename from src/main/java/com/qiwenshare/file/domain/RolePermission.java rename to src/main/java/com/qiwenshare/file/domain/user/RolePermission.java index b044881..7a65c51 100644 --- a/src/main/java/com/qiwenshare/file/domain/RolePermission.java +++ b/src/main/java/com/qiwenshare/file/domain/user/RolePermission.java @@ -1,4 +1,4 @@ -package com.qiwenshare.file.domain; +package com.qiwenshare.file.domain.user; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/src/main/java/com/qiwenshare/file/domain/UserBean.java b/src/main/java/com/qiwenshare/file/domain/user/UserBean.java similarity index 70% rename from src/main/java/com/qiwenshare/file/domain/UserBean.java rename to src/main/java/com/qiwenshare/file/domain/user/UserBean.java index b0293ee..6d6c758 100644 --- a/src/main/java/com/qiwenshare/file/domain/UserBean.java +++ b/src/main/java/com/qiwenshare/file/domain/user/UserBean.java @@ -1,14 +1,11 @@ -package com.qiwenshare.file.domain; +package com.qiwenshare.file.domain.user; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import javax.persistence.*; -import javax.websocket.Session; -import java.util.List; /** * 用户基础信息类 @@ -16,9 +13,7 @@ import java.util.List; * @author ma116 */ @Data -@Table(name = "user", uniqueConstraints = { - @UniqueConstraint(name = "openIdIndex", columnNames = {"openId"}) -}) +@Table(name = "user") @Entity @TableName("user") public class UserBean { @@ -29,21 +24,12 @@ public class UserBean { @TableId(type = IdType.AUTO) private Long userId; - @Column(columnDefinition = "varchar(30) comment 'openId'") - private String openId; - @Column(columnDefinition = "varchar(30) comment '用户名'") private String username; - @Column(columnDefinition = "varchar(30) comment '真实名'") - private String realname; - @Column(columnDefinition = "varchar(35) comment '密码'") private String password; - @Column(columnDefinition = "varchar(35) comment 'qq密码'") - private String qqPassword; - @Column(columnDefinition = "varchar(15) comment '手机号'") private String telephone; @@ -53,7 +39,6 @@ public class UserBean { @Column(columnDefinition = "varchar(3) comment '性别'") private String sex; - @Column(columnDefinition = "varchar(30) comment '生日'") private String birthday; @@ -76,7 +61,7 @@ public class UserBean { private String intro; @Column(columnDefinition = "varchar(20) comment '盐'") - private String salt;//加密密码的盐 + private String salt; @Column(columnDefinition = "varchar(100) comment '头像'") private String imageUrl; @@ -95,14 +80,4 @@ public class UserBean { private Long modifyUserId; - /** - * 角色列表 - */ -// @ManyToMany(fetch = FetchType.EAGER)//立即从数据库中进行加载数据 -// @JoinTable(name = "user_role", -// joinColumns = {@JoinColumn(name = "userId")}, -// inverseJoinColumns = {@JoinColumn(name = "roleid")}) -// @TableField(exist = false) -// private List roles; - } diff --git a/src/main/java/com/qiwenshare/file/domain/UserRole.java b/src/main/java/com/qiwenshare/file/domain/user/UserRole.java similarity index 62% rename from src/main/java/com/qiwenshare/file/domain/UserRole.java rename to src/main/java/com/qiwenshare/file/domain/user/UserRole.java index 56e3c23..289eab9 100644 --- a/src/main/java/com/qiwenshare/file/domain/UserRole.java +++ b/src/main/java/com/qiwenshare/file/domain/user/UserRole.java @@ -1,4 +1,4 @@ -package com.qiwenshare.file.domain; +package com.qiwenshare.file.domain.user; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -7,12 +7,6 @@ import lombok.Data; import javax.persistence.*; -/** - * @author MAC - * @version 1.0 - * @description: TODO - * @date 2021/12/30 16:14 - */ @Data @Table(name = "user_role") @Entity @@ -21,10 +15,7 @@ public class UserRole { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @TableId(type = IdType.AUTO) - private Long id; - @Column(columnDefinition="bigint(20) comment '用户id'") + private Long userRoleId; private Long userId; - - @Column(columnDefinition="bigint(20) comment '角色id'") private Long roleId; } diff --git a/src/main/java/com/qiwenshare/file/dto/commonfile/CommonFileDTO.java b/src/main/java/com/qiwenshare/file/dto/commonfile/CommonFileDTO.java new file mode 100644 index 0000000..3398fa6 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/dto/commonfile/CommonFileDTO.java @@ -0,0 +1,19 @@ +package com.qiwenshare.file.dto.commonfile; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author MAC + * @version 1.0 + * @description: TODO + * @date 2022/1/12 15:03 + */ +@Data +@Schema(name = "共享文件DTO",required = true) +public class CommonFileDTO { + private Long userFileId; + private Integer commonFileType; + private String commonUserIds; + private Integer permissionCode; +} diff --git a/src/main/java/com/qiwenshare/file/mapper/CommonFileMapper.java b/src/main/java/com/qiwenshare/file/mapper/CommonFileMapper.java new file mode 100644 index 0000000..b60e022 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/mapper/CommonFileMapper.java @@ -0,0 +1,16 @@ +package com.qiwenshare.file.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qiwenshare.file.domain.CommonFile; +import com.qiwenshare.file.vo.commonfile.CommonFileListVo; +import com.qiwenshare.file.vo.commonfile.CommonFileUser; +import com.qiwenshare.file.vo.file.FileListVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface CommonFileMapper extends BaseMapper { + List selectCommonFileUser(@Param("userId") Long userId); + List selectCommonFileByUser(@Param("userId") Long userId); + +} diff --git a/src/main/java/com/qiwenshare/file/mapper/FileMapper.java b/src/main/java/com/qiwenshare/file/mapper/FileMapper.java index c7c5efc..d0e7724 100644 --- a/src/main/java/com/qiwenshare/file/mapper/FileMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/FileMapper.java @@ -3,7 +3,6 @@ package com.qiwenshare.file.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiwenshare.file.domain.FileBean; -import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/src/main/java/com/qiwenshare/file/mapper/FilePermissionMapper.java b/src/main/java/com/qiwenshare/file/mapper/FilePermissionMapper.java new file mode 100644 index 0000000..12454e7 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/mapper/FilePermissionMapper.java @@ -0,0 +1,8 @@ +package com.qiwenshare.file.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qiwenshare.file.domain.FilePermission; + +public interface FilePermissionMapper extends BaseMapper { + +} diff --git a/src/main/java/com/qiwenshare/file/mapper/OperationLogMapper.java b/src/main/java/com/qiwenshare/file/mapper/OperationLogMapper.java index 2b0f39c..a7059a0 100644 --- a/src/main/java/com/qiwenshare/file/mapper/OperationLogMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/OperationLogMapper.java @@ -1,12 +1,9 @@ package com.qiwenshare.file.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qiwenshare.file.domain.OperationLogBean; -import java.util.List; - public interface OperationLogMapper extends BaseMapper { } diff --git a/src/main/java/com/qiwenshare/file/mapper/ShareMapper.java b/src/main/java/com/qiwenshare/file/mapper/ShareMapper.java index f94f1db..dca7cd1 100644 --- a/src/main/java/com/qiwenshare/file/mapper/ShareMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/ShareMapper.java @@ -1,12 +1,8 @@ package com.qiwenshare.file.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.Share; -import com.qiwenshare.file.domain.ShareFile; -import com.qiwenshare.file.vo.share.ShareFileListVO; import com.qiwenshare.file.vo.share.ShareListVO; -import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/src/main/java/com/qiwenshare/file/mapper/StorageMapper.java b/src/main/java/com/qiwenshare/file/mapper/StorageMapper.java index 7aa584e..16e5757 100644 --- a/src/main/java/com/qiwenshare/file/mapper/StorageMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/StorageMapper.java @@ -2,11 +2,8 @@ package com.qiwenshare.file.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.StorageBean; -import java.util.List; - public interface StorageMapper extends BaseMapper { diff --git a/src/main/java/com/qiwenshare/file/mapper/UserFileMapper.java b/src/main/java/com/qiwenshare/file/mapper/UserFileMapper.java index 6e26e0c..78c7d74 100644 --- a/src/main/java/com/qiwenshare/file/mapper/UserFileMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/UserFileMapper.java @@ -3,15 +3,10 @@ package com.qiwenshare.file.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.qiwenshare.file.domain.FileBean; -import com.qiwenshare.file.domain.UserBean; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.vo.file.FileListVo; import org.apache.ibatis.annotations.Param; -import java.util.List; -import java.util.Map; - public interface UserFileMapper extends BaseMapper { void replaceFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("userId") Long userId); diff --git a/src/main/java/com/qiwenshare/file/mapper/UserMapper.java b/src/main/java/com/qiwenshare/file/mapper/UserMapper.java index 0343726..7c9c455 100644 --- a/src/main/java/com/qiwenshare/file/mapper/UserMapper.java +++ b/src/main/java/com/qiwenshare/file/mapper/UserMapper.java @@ -1,9 +1,8 @@ package com.qiwenshare.file.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import com.qiwenshare.file.domain.Role; -import com.qiwenshare.file.domain.UserBean; +import com.qiwenshare.file.domain.user.Role; +import com.qiwenshare.file.domain.user.UserBean; import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/src/main/java/com/qiwenshare/file/service/CommonFileService.java b/src/main/java/com/qiwenshare/file/service/CommonFileService.java new file mode 100644 index 0000000..5931fa3 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/service/CommonFileService.java @@ -0,0 +1,36 @@ +package com.qiwenshare.file.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qiwenshare.file.api.ICommonFileService; +import com.qiwenshare.file.domain.CommonFile; +import com.qiwenshare.file.mapper.CommonFileMapper; +import com.qiwenshare.file.vo.commonfile.CommonFileListVo; +import com.qiwenshare.file.vo.commonfile.CommonFileUser; +import com.qiwenshare.file.vo.file.FileListVo; +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 CommonFileService extends ServiceImpl implements ICommonFileService { + + @Resource + CommonFileMapper commonFileMapper; + + @Override + public List selectCommonFileUser(Long userId) { + return commonFileMapper.selectCommonFileUser(userId); + } + + @Override + public List selectCommonFileByUser(Long userId) { + return commonFileMapper.selectCommonFileByUser(userId); + } + + +} diff --git a/src/main/java/com/qiwenshare/file/service/FilePermissionService.java b/src/main/java/com/qiwenshare/file/service/FilePermissionService.java new file mode 100644 index 0000000..7f780c1 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/service/FilePermissionService.java @@ -0,0 +1,16 @@ +package com.qiwenshare.file.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qiwenshare.file.api.IFilePermissionService; +import com.qiwenshare.file.domain.FilePermission; +import com.qiwenshare.file.mapper.FilePermissionMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Slf4j +@Service +@Transactional(rollbackFor=Exception.class) +public class FilePermissionService extends ServiceImpl implements IFilePermissionService { + +} diff --git a/src/main/java/com/qiwenshare/file/service/FileService.java b/src/main/java/com/qiwenshare/file/service/FileService.java index 22acec9..b73f593 100644 --- a/src/main/java/com/qiwenshare/file/service/FileService.java +++ b/src/main/java/com/qiwenshare/file/service/FileService.java @@ -2,8 +2,8 @@ package com.qiwenshare.file.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qiwenshare.common.exception.QiwenException; import com.qiwenshare.common.operation.FileOperation; -import com.qiwenshare.file.advice.QiwenException; import com.qiwenshare.file.api.IFileService; import com.qiwenshare.file.component.AsyncTaskComp; import com.qiwenshare.file.domain.FileBean; diff --git a/src/main/java/com/qiwenshare/file/service/FiletransferService.java b/src/main/java/com/qiwenshare/file/service/FiletransferService.java index 39b0cbf..594358a 100644 --- a/src/main/java/com/qiwenshare/file/service/FiletransferService.java +++ b/src/main/java/com/qiwenshare/file/service/FiletransferService.java @@ -6,16 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.qiwenshare.common.util.DateUtil; import com.qiwenshare.common.util.MimeUtils; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IFiletransferService; import com.qiwenshare.file.component.FileDealComp; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.*; import com.qiwenshare.file.dto.file.DownloadFileDTO; import com.qiwenshare.file.dto.file.PreviewDTO; import com.qiwenshare.file.dto.file.UploadFileDTO; import com.qiwenshare.file.mapper.*; -import com.qiwenshare.file.util.SessionUtil; -import com.qiwenshare.file.vo.file.FileListVo; import com.qiwenshare.file.vo.file.UploadFileVo; import com.qiwenshare.ufop.constant.StorageTypeEnum; import com.qiwenshare.ufop.constant.UploadFileStatusEnum; @@ -165,8 +164,13 @@ public class FiletransferService implements IFiletransferService { log.error("上传失败,请检查storageType是否配置正确"); throw new UploadException("上传失败"); } - - List uploadFileResultList = uploader.upload(request, uploadFile); + List uploadFileResultList; + try { + uploadFileResultList = uploader.upload(request, uploadFile); + } catch (Exception e) { + log.error("上传失败,请检查UFOP连接配置是否正确"); + throw new UploadException("上传失败"); + } for (int i = 0; i < uploadFileResultList.size(); i++){ UploadFileResult uploadFileResult = uploadFileResultList.get(i); FileBean fileBean = new FileBean(); @@ -383,7 +387,7 @@ public class FiletransferService implements IFiletransferService { } PreviewFile previewFile = new PreviewFile(); previewFile.setFileUrl(fileBean.getFileUrl()); - previewFile.setFileSize(fileBean.getFileSize()); +// previewFile.setFileSize(fileBean.getFileSize()); try { if ("true".equals(previewDTO.getIsMin())) { previewer.imageThumbnailPreview(httpServletResponse, previewFile); @@ -415,7 +419,7 @@ public class FiletransferService implements IFiletransferService { } PreviewFile previewFile = new PreviewFile(); previewFile.setFileUrl(pictureFile.getFileUrl()); - previewFile.setFileSize(pictureFile.getFileSize()); +// previewFile.setFileSize(pictureFile.getFileSize()); try { String mime= MimeUtils.getMime(pictureFile.getExtendName()); diff --git a/src/main/java/com/qiwenshare/file/service/OperationLogService.java b/src/main/java/com/qiwenshare/file/service/OperationLogService.java index 9a404b5..2ca4fc8 100644 --- a/src/main/java/com/qiwenshare/file/service/OperationLogService.java +++ b/src/main/java/com/qiwenshare/file/service/OperationLogService.java @@ -3,7 +3,6 @@ package com.qiwenshare.file.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import com.qiwenshare.file.api.IOperationLogService; import com.qiwenshare.file.domain.OperationLogBean; import com.qiwenshare.file.mapper.OperationLogMapper; diff --git a/src/main/java/com/qiwenshare/file/service/RecoveryFileService.java b/src/main/java/com/qiwenshare/file/service/RecoveryFileService.java index 11e1d47..4061039 100644 --- a/src/main/java/com/qiwenshare/file/service/RecoveryFileService.java +++ b/src/main/java/com/qiwenshare/file/service/RecoveryFileService.java @@ -5,10 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiwenshare.file.api.IRecoveryFileService; import com.qiwenshare.file.component.FileDealComp; -import com.qiwenshare.file.domain.FileBean; import com.qiwenshare.file.domain.RecoveryFile; import com.qiwenshare.file.domain.UserFile; -import com.qiwenshare.file.mapper.FileMapper; import com.qiwenshare.file.mapper.RecoveryFileMapper; import com.qiwenshare.file.mapper.UserFileMapper; import com.qiwenshare.file.vo.file.RecoveryFileListVo; @@ -18,8 +16,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; @Slf4j @Service diff --git a/src/main/java/com/qiwenshare/file/service/StorageService.java b/src/main/java/com/qiwenshare/file/service/StorageService.java index b87b3a7..f51d097 100644 --- a/src/main/java/com/qiwenshare/file/service/StorageService.java +++ b/src/main/java/com/qiwenshare/file/service/StorageService.java @@ -2,23 +2,17 @@ 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 diff --git a/src/main/java/com/qiwenshare/file/service/SysParamService.java b/src/main/java/com/qiwenshare/file/service/SysParamService.java index f06cb19..a1edeab 100644 --- a/src/main/java/com/qiwenshare/file/service/SysParamService.java +++ b/src/main/java/com/qiwenshare/file/service/SysParamService.java @@ -3,9 +3,7 @@ package com.qiwenshare.file.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiwenshare.file.api.ISysParamService; -import com.qiwenshare.file.domain.StorageBean; import com.qiwenshare.file.domain.SysParam; -import com.qiwenshare.file.mapper.StorageMapper; import com.qiwenshare.file.mapper.SysParamMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/qiwenshare/file/service/UserFileService.java b/src/main/java/com/qiwenshare/file/service/UserFileService.java index d18efbb..844c744 100644 --- a/src/main/java/com/qiwenshare/file/service/UserFileService.java +++ b/src/main/java/com/qiwenshare/file/service/UserFileService.java @@ -8,15 +8,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiwenshare.common.constant.FileConstant; import com.qiwenshare.common.util.DateUtil; +import com.qiwenshare.common.util.security.JwtUser; +import com.qiwenshare.common.util.security.SessionUtil; import com.qiwenshare.file.api.IUserFileService; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.domain.RecoveryFile; import com.qiwenshare.file.domain.UserFile; import com.qiwenshare.file.mapper.FileMapper; import com.qiwenshare.file.mapper.FileTypeMapper; import com.qiwenshare.file.mapper.RecoveryFileMapper; import com.qiwenshare.file.mapper.UserFileMapper; -import com.qiwenshare.file.util.SessionUtil; import com.qiwenshare.file.vo.file.FileListVo; import com.qiwenshare.ufop.util.UFOPUtils; import lombok.extern.slf4j.Slf4j; @@ -24,7 +24,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.Executor; @@ -88,12 +87,16 @@ public class UserFileService extends ServiceImpl impl } @Override - public IPage userFileList(String filePath, Long currentPage, Long pageCount) { + public IPage userFileList(Long userId, String filePath, Long currentPage, Long pageCount) { Page page = new Page<>(currentPage, pageCount); UserFile userFile = new UserFile(); JwtUser sessionUserBean = SessionUtil.getSession(); + if (userId == null) { + userFile.setUserId(sessionUserBean.getUserId()); + } else { + userFile.setUserId(userId); + } - userFile.setUserId(sessionUserBean.getUserId()); userFile.setFilePath(UFOPUtils.urlDecode(filePath)); return userFileMapper.selectPageVo(page, userFile, null); diff --git a/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java b/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java index cec51b3..c2542af 100644 --- a/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java +++ b/src/main/java/com/qiwenshare/file/service/UserLoginInfoService.java @@ -1,14 +1,9 @@ package com.qiwenshare.file.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qiwenshare.file.api.IShareService; import com.qiwenshare.file.api.IUserLoginInfoService; -import com.qiwenshare.file.domain.Share; import com.qiwenshare.file.domain.UserLoginInfo; -import com.qiwenshare.file.dto.sharefile.ShareListDTO; -import com.qiwenshare.file.mapper.ShareMapper; import com.qiwenshare.file.mapper.UserLoginInfoMapper; -import com.qiwenshare.file.vo.share.ShareListVO; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/qiwenshare/file/service/UserService.java b/src/main/java/com/qiwenshare/file/service/UserService.java index f9e1ae5..830e215 100644 --- a/src/main/java/com/qiwenshare/file/service/UserService.java +++ b/src/main/java/com/qiwenshare/file/service/UserService.java @@ -6,13 +6,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiwenshare.common.result.RestResult; import com.qiwenshare.common.util.DateUtil; import com.qiwenshare.common.util.PasswordUtil; +import com.qiwenshare.common.util.security.JwtUser; import com.qiwenshare.file.api.IUserService; import com.qiwenshare.file.component.JwtComp; import com.qiwenshare.file.component.UserDealComp; -import com.qiwenshare.file.config.security.user.JwtUser; import com.qiwenshare.file.controller.UserController; -import com.qiwenshare.file.domain.Role; -import com.qiwenshare.file.domain.UserBean; +import com.qiwenshare.file.domain.user.Role; +import com.qiwenshare.file.domain.user.UserBean; import com.qiwenshare.file.mapper.UserMapper; import io.jsonwebtoken.Claims; import lombok.extern.slf4j.Slf4j; @@ -71,14 +71,6 @@ public class UserService extends ServiceImpl implements IU } - @Override - public UserBean selectUserByopenid(String openid) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserBean::getOpenId, openid); - return userMapper.selectOne(lambdaQueryWrapper); - - } - @Override public RestResult registerUser(UserBean userBean) { diff --git a/src/main/java/com/qiwenshare/file/util/OperationLogUtil.java b/src/main/java/com/qiwenshare/file/util/OperationLogUtil.java index ffc77c1..135eba5 100644 --- a/src/main/java/com/qiwenshare/file/util/OperationLogUtil.java +++ b/src/main/java/com/qiwenshare/file/util/OperationLogUtil.java @@ -3,7 +3,6 @@ package com.qiwenshare.file.util; import com.qiwenshare.common.util.CollectUtil; import com.qiwenshare.common.util.DateUtil; import com.qiwenshare.file.domain.OperationLogBean; -import com.qiwenshare.file.domain.UserBean; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/qiwenshare/file/util/SessionUtil.java b/src/main/java/com/qiwenshare/file/util/SessionUtil.java deleted file mode 100644 index 0cc0d0b..0000000 --- a/src/main/java/com/qiwenshare/file/util/SessionUtil.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.qiwenshare.file.util; - -import com.qiwenshare.file.config.security.user.JwtUser; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; - -import java.security.Principal; - -public class SessionUtil { - - public static JwtUser getSession() { - Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); - Object principal = authentication.getPrincipal(); - if (principal instanceof String) { - String userName = (String) principal; - if ("anonymousUser".equals(userName)) { - JwtUser userBean = new JwtUser(); - userBean.setUsername(userName); - userBean.setUserId(0L); - return userBean; - } - } - JwtUser userBean = (JwtUser) authentication.getPrincipal(); - return userBean; - } - - public static JwtUser getSession(Principal principal) { - if (principal == null) { - return null; - } - JwtUser userBean = (JwtUser) ((UsernamePasswordAuthenticationToken) principal).getPrincipal(); - return userBean; - } -} diff --git a/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileListVo.java b/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileListVo.java new file mode 100644 index 0000000..478775e --- /dev/null +++ b/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileListVo.java @@ -0,0 +1,17 @@ +package com.qiwenshare.file.vo.commonfile; + +import lombok.Data; + +@Data +public class CommonFileListVo { + + public Long commonFileId; + + private String fileName; + + private Long userFileId; + + private Long userId; + + +} diff --git a/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileUser.java b/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileUser.java new file mode 100644 index 0000000..1568a11 --- /dev/null +++ b/src/main/java/com/qiwenshare/file/vo/commonfile/CommonFileUser.java @@ -0,0 +1,18 @@ +package com.qiwenshare.file.vo.commonfile; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author MAC + * @version 1.0 + * @description: TODO + * @date 2022/1/12 17:34 + */ +@Data +public class CommonFileUser { + @Schema(description = "用户id", example = "1") + private long userId; + @Schema(description = "用户名", example = "奇文网盘") + private String username; +} diff --git a/src/main/java/com/qiwenshare/file/vo/file/FileListVo.java b/src/main/java/com/qiwenshare/file/vo/file/FileListVo.java index c84f209..b88695d 100644 --- a/src/main/java/com/qiwenshare/file/vo/file/FileListVo.java +++ b/src/main/java/com/qiwenshare/file/vo/file/FileListVo.java @@ -12,9 +12,6 @@ public class FileListVo { private Long fileSize; - @Deprecated - private Integer isOSS; - private Integer storageType; private Integer pointCount; diff --git a/src/main/resources/config/settings.properties b/src/main/resources/config/settings.properties index 5e0643c..d99e812 100644 --- a/src/main/resources/config/settings.properties +++ b/src/main/resources/config/settings.properties @@ -6,7 +6,7 @@ files.docservice.edited-docs=.docx|.xlsx|.csv|.pptx|.txt files.docservice.convert-docs=.docm|.dotx|.dotm|.dot|.doc|.odt|.fodt|.ott|.xlsm|.xltx|.xltm|.xlt|.xls|.ods|.fods|.ots|.pptm|.ppt|.ppsx|.ppsm|.pps|.potx|.potm|.pot|.odp|.fodp|.otp|.rtf|.mht|.html|.htm|.xml|.epub|.fb2 files.docservice.timeout=120000 -files.docservice.url.site=http://192.168.31.158:80/ +files.docservice.url.site=http://192.168.1.6:80/ files.docservice.url.converter=ConvertService.ashx files.docservice.url.command=coauthoring/CommandService.ashx files.docservice.url.api=web-apps/apps/api/documents/api.js diff --git a/src/main/resources/mapper/CommonFileMapper.xml b/src/main/resources/mapper/CommonFileMapper.xml new file mode 100644 index 0000000..c859afa --- /dev/null +++ b/src/main/resources/mapper/CommonFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/UserFileMapper.xml b/src/main/resources/mapper/UserFileMapper.xml index ee343ba..f194365 100644 --- a/src/main/resources/mapper/UserFileMapper.xml +++ b/src/main/resources/mapper/UserFileMapper.xml @@ -26,6 +26,7 @@ extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4)) + and a.isDir = 0 and a.userId = #{userFile.userId} diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index 52f3ca5..4dc6359 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -6,9 +6,9 @@ - - INSERT INTO user (username, salt, PASSWORD, qqPassword, telephone, sex, openId, imageUrl, registerTime, available) - VALUES (#{username},#{salt}, #{password}, #{qqPassword}, #{telephone}, #{sex}, #{openId}, #{imageUrl}, #{registerTime}, 1); + + INSERT INTO user (username, salt, PASSWORD, qqPassword, telephone, sex, imageUrl, registerTime, available) + VALUES (#{username},#{salt}, #{password}, #{qqPassword}, #{telephone}, #{sex}, #{imageUrl}, #{registerTime}, 1); @@ -16,7 +16,7 @@ VALUES (#{param1}, #{param2}); - select b.* from user_role a left join role b on b.roleId = a.roleId @@ -30,7 +30,7 @@