feat(文件共享): 文件共享功能开发
This commit is contained in:
parent
477f336b69
commit
6683f3e6e1
4
pom.xml
4
pom.xml
@ -6,11 +6,11 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.qiwenshare</groupId>
|
<groupId>com.qiwenshare</groupId>
|
||||||
<artifactId>qiwenshare</artifactId>
|
<artifactId>qiwenshare</artifactId>
|
||||||
<version>1.1.3</version>
|
<version>1.1.4</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>qiwen-file</artifactId>
|
<artifactId>qiwen-file</artifactId>
|
||||||
<version>1.1.3-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
<name>qiwen-file</name>
|
<name>qiwen-file</name>
|
||||||
<description>pan.qiwenshare.com</description>
|
<description>pan.qiwenshare.com</description>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.qiwenshare.file.advice;
|
package com.qiwenshare.file.advice;
|
||||||
|
|
||||||
import com.qiwenshare.common.exception.NotLoginException;
|
import com.qiwenshare.common.exception.NotLoginException;
|
||||||
|
import com.qiwenshare.common.exception.QiwenException;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.result.ResultCodeEnum;
|
import com.qiwenshare.common.result.ResultCodeEnum;
|
||||||
|
|
||||||
|
@ -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() + '}';
|
|
||||||
}
|
|
||||||
}
|
|
@ -2,11 +2,11 @@ package com.qiwenshare.file.aop;
|
|||||||
|
|
||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
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.IOperationLogService;
|
||||||
import com.qiwenshare.file.api.IUserService;
|
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.OperationLogUtil;
|
||||||
import com.qiwenshare.file.util.SessionUtil;
|
|
||||||
import com.qiwenshare.file.vo.user.UserLoginVo;
|
import com.qiwenshare.file.vo.user.UserLoginVo;
|
||||||
import org.aspectj.lang.JoinPoint;
|
import org.aspectj.lang.JoinPoint;
|
||||||
import org.aspectj.lang.annotation.AfterReturning;
|
import org.aspectj.lang.annotation.AfterReturning;
|
||||||
|
@ -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<CommonFile> {
|
||||||
|
List<CommonFileUser> selectCommonFileUser(Long userId);
|
||||||
|
List<CommonFileListVo> selectCommonFileByUser(Long userId);
|
||||||
|
}
|
@ -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<FilePermission> {
|
||||||
|
|
||||||
|
}
|
@ -2,10 +2,6 @@ package com.qiwenshare.file.api;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
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<FileBean> {
|
public interface IFileService extends IService<FileBean> {
|
||||||
|
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.qiwenshare.file.api;
|
package com.qiwenshare.file.api;
|
||||||
|
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
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.DownloadFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
|
||||||
import com.qiwenshare.file.dto.file.PreviewDTO;
|
import com.qiwenshare.file.dto.file.PreviewDTO;
|
||||||
|
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
||||||
import com.qiwenshare.file.vo.file.UploadFileVo;
|
import com.qiwenshare.file.vo.file.UploadFileVo;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.qiwenshare.file.api;
|
package com.qiwenshare.file.api;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.qiwenshare.file.domain.OperationLogBean;
|
import com.qiwenshare.file.domain.OperationLogBean;
|
||||||
|
@ -2,20 +2,17 @@ package com.qiwenshare.file.api;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.domain.UserFile;
|
||||||
import com.qiwenshare.file.vo.file.FileListVo;
|
import com.qiwenshare.file.vo.file.FileListVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public interface IUserFileService extends IService<UserFile> {
|
public interface IUserFileService extends IService<UserFile> {
|
||||||
List<UserFile> selectUserFileByNameAndPath(String fileName, String filePath, Long userId);
|
List<UserFile> selectUserFileByNameAndPath(String fileName, String filePath, Long userId);
|
||||||
boolean isDirExist(String fileName, String filePath, long userId);
|
boolean isDirExist(String fileName, String filePath, long userId);
|
||||||
List<UserFile> selectSameUserFile(String fileName, String filePath, String extendName, Long userId);
|
List<UserFile> selectSameUserFile(String fileName, String filePath, String extendName, Long userId);
|
||||||
void replaceUserFilePath(String filePath, String oldFilePath, Long userId);
|
void replaceUserFilePath(String filePath, String oldFilePath, Long userId);
|
||||||
IPage<FileListVo> userFileList(String filePath, Long beginCount, Long pageCount);
|
IPage<FileListVo> userFileList(Long userId, String filePath, Long beginCount, Long pageCount);
|
||||||
void updateFilepathByFilepath(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
void updateFilepathByFilepath(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
||||||
void userFileCopy(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
void userFileCopy(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
||||||
|
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
package com.qiwenshare.file.api;
|
package com.qiwenshare.file.api;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.qiwenshare.file.domain.ShareFile;
|
|
||||||
import com.qiwenshare.file.domain.UserLoginInfo;
|
import com.qiwenshare.file.domain.UserLoginInfo;
|
||||||
import com.qiwenshare.file.vo.share.ShareFileListVO;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface IUserLoginInfoService extends IService<UserLoginInfo> {
|
public interface IUserLoginInfoService extends IService<UserLoginInfo> {
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@ package com.qiwenshare.file.api;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.file.domain.Role;
|
import com.qiwenshare.file.domain.user.Role;
|
||||||
import com.qiwenshare.file.domain.UserBean;
|
import com.qiwenshare.file.domain.user.UserBean;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -12,7 +12,6 @@ public interface IUserService extends IService<UserBean> {
|
|||||||
|
|
||||||
Long getUserIdByToken(String token);
|
Long getUserIdByToken(String token);
|
||||||
|
|
||||||
UserBean selectUserByopenid(String openid);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户注册
|
* 用户注册
|
||||||
|
@ -3,7 +3,6 @@ package com.qiwenshare.file.component;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
import com.qiwenshare.common.util.DateUtil;
|
||||||
import com.qiwenshare.file.api.IFileService;
|
|
||||||
import com.qiwenshare.file.api.IFiletransferService;
|
import com.qiwenshare.file.api.IFiletransferService;
|
||||||
import com.qiwenshare.file.api.IRecoveryFileService;
|
import com.qiwenshare.file.api.IRecoveryFileService;
|
||||||
import com.qiwenshare.file.api.IUserFileService;
|
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.domain.UserFile;
|
||||||
import com.qiwenshare.file.mapper.FileMapper;
|
import com.qiwenshare.file.mapper.FileMapper;
|
||||||
import com.qiwenshare.file.mapper.UserFileMapper;
|
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||||
import com.qiwenshare.file.util.QiwenFileUtil;
|
|
||||||
import com.qiwenshare.ufop.factory.UFOPFactory;
|
import com.qiwenshare.ufop.factory.UFOPFactory;
|
||||||
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
||||||
import com.qiwenshare.ufop.util.UFOPUtils;
|
import com.qiwenshare.ufop.util.UFOPUtils;
|
||||||
|
@ -135,9 +135,13 @@ public class FileDealComp {
|
|||||||
userFile.setFilePath(parentFilePath + FileConstant.pathSeparator);
|
userFile.setFilePath(parentFilePath + FileConstant.pathSeparator);
|
||||||
userFile.setDeleteFlag(0);
|
userFile.setDeleteFlag(0);
|
||||||
userFile.setIsDir(1);
|
userFile.setIsDir(1);
|
||||||
|
userFile.setExtendName("");
|
||||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||||
|
try {
|
||||||
userFileMapper.insert(userFile);
|
userFileMapper.insert(userFile);
|
||||||
|
} catch (Exception e) {
|
||||||
|
//ignore
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ package com.qiwenshare.file.component;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.qiwenshare.common.constant.RegexConstant;
|
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 com.qiwenshare.file.mapper.UserMapper;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.qiwenshare.file.config.security.filter;
|
package com.qiwenshare.file.config.security.filter;
|
||||||
|
|
||||||
import com.qiwenshare.file.advice.QiwenException;
|
import com.qiwenshare.common.exception.QiwenException;
|
||||||
import com.qiwenshare.file.mapper.SysParamMapper;
|
|
||||||
import com.qiwenshare.file.service.SysParamService;
|
import com.qiwenshare.file.service.SysParamService;
|
||||||
import com.qiwenshare.file.service.UserService;
|
import com.qiwenshare.file.service.UserService;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -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<? extends GrantedAuthority> authorities;
|
|
||||||
|
|
||||||
public JwtUser() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public JwtUser(Long userId, String username, String password, Integer available, Collection<? extends GrantedAuthority> authorities) {
|
|
||||||
this.userId = userId;
|
|
||||||
this.username = username;
|
|
||||||
this.password = password;
|
|
||||||
this.available = available;
|
|
||||||
this.authorities = authorities;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Collection<? extends GrantedAuthority> 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);
|
|
||||||
}
|
|
||||||
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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<String> commonFile( @RequestBody CommonFileDTO commonFileDTO) {
|
||||||
|
CommonFile commonFile = new CommonFile();
|
||||||
|
commonFile.setUserFileId(commonFileDTO.getUserFileId());
|
||||||
|
commonFileService.save(commonFile);
|
||||||
|
|
||||||
|
// List<Long> list = JSON.parseArray(commonFileDTO.getCommonUserIds(), Long.class);
|
||||||
|
List<FilePermission> 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<List<CommonFileUser>> commonFileUser() {
|
||||||
|
|
||||||
|
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||||
|
List<CommonFileUser> list = commonFileService.selectCommonFileUser(sessionUserBean.getUserId());
|
||||||
|
return RestResult.success().data(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "获取共享用户文件列表", description = "用来做前台列表展示", tags = {"file"})
|
||||||
|
@RequestMapping(value = "/getCommonFileByUser", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public RestResult<CommonFileListVo> 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<CommonFileListVo> commonFileVo = commonFileService.selectCommonFileByUser(userId);
|
||||||
|
|
||||||
|
return RestResult.success().data(commonFileVo);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "获取共享用户文件列表", description = "用来做前台列表展示", tags = {"file"})
|
||||||
|
@RequestMapping(value = "/commonFileList", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public RestResult<FileListVo> 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<FileListVo> fileList = userFileService.userFileList(userFile.getUserId(), filePath, currentPage, pageCount);
|
||||||
|
|
||||||
|
return RestResult.success().data(fileList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -4,20 +4,20 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
|
import com.qiwenshare.common.exception.QiwenException;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
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.IFileService;
|
||||||
import com.qiwenshare.file.api.IUserFileService;
|
import com.qiwenshare.file.api.IUserFileService;
|
||||||
import com.qiwenshare.file.api.IUserService;
|
import com.qiwenshare.file.api.IUserService;
|
||||||
import com.qiwenshare.file.component.FileDealComp;
|
import com.qiwenshare.file.component.FileDealComp;
|
||||||
import com.qiwenshare.file.config.es.FileSearch;
|
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.domain.FileBean;
|
||||||
import com.qiwenshare.file.util.TreeNode;
|
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.dto.file.*;
|
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.file.vo.file.FileListVo;
|
||||||
import com.qiwenshare.ufop.factory.UFOPFactory;
|
import com.qiwenshare.ufop.factory.UFOPFactory;
|
||||||
import com.qiwenshare.ufop.operation.download.domain.DownloadFile;
|
import com.qiwenshare.ufop.operation.download.domain.DownloadFile;
|
||||||
@ -196,7 +196,7 @@ public class FileController {
|
|||||||
@Parameter(description = "页面数量", required = true) long pageCount){
|
@Parameter(description = "页面数量", required = true) long pageCount){
|
||||||
|
|
||||||
|
|
||||||
IPage<FileListVo> fileList = userFileService.userFileList(filePath, currentPage, pageCount);
|
IPage<FileListVo> fileList = userFileService.userFileList(null, filePath, currentPage, pageCount);
|
||||||
|
|
||||||
|
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
@ -3,21 +3,21 @@ package com.qiwenshare.file.controller;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
|
||||||
import com.qiwenshare.common.util.MimeUtils;
|
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.api.*;
|
||||||
import com.qiwenshare.file.component.FileDealComp;
|
import com.qiwenshare.file.component.FileDealComp;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
import com.qiwenshare.file.domain.FileBean;
|
||||||
import com.qiwenshare.file.domain.*;
|
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.DownloadFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.PreviewDTO;
|
import com.qiwenshare.file.dto.file.PreviewDTO;
|
||||||
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
||||||
import com.qiwenshare.file.mapper.ImageMapper;
|
import com.qiwenshare.file.mapper.ImageMapper;
|
||||||
import com.qiwenshare.file.service.StorageService;
|
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.file.vo.file.UploadFileVo;
|
||||||
import com.qiwenshare.ufop.constant.UploadFileStatusEnum;
|
|
||||||
import com.qiwenshare.ufop.factory.UFOPFactory;
|
import com.qiwenshare.ufop.factory.UFOPFactory;
|
||||||
import com.qiwenshare.ufop.operation.download.Downloader;
|
import com.qiwenshare.ufop.operation.download.Downloader;
|
||||||
import com.qiwenshare.ufop.operation.download.domain.DownloadFile;
|
import com.qiwenshare.ufop.operation.download.domain.DownloadFile;
|
||||||
@ -37,9 +37,7 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Tag(name = "filetransfer", description = "该接口为文件传输接口,主要用来做文件的上传、下载和预览")
|
@Tag(name = "filetransfer", description = "该接口为文件传输接口,主要用来做文件的上传、下载和预览")
|
||||||
|
@ -7,18 +7,18 @@ import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
|
|||||||
import com.qiwenshare.common.exception.NotLoginException;
|
import com.qiwenshare.common.exception.NotLoginException;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
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.IFileService;
|
||||||
import com.qiwenshare.file.api.IUserFileService;
|
import com.qiwenshare.file.api.IUserFileService;
|
||||||
import com.qiwenshare.file.api.IUserService;
|
import com.qiwenshare.file.api.IUserService;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
import com.qiwenshare.file.domain.FileBean;
|
||||||
import com.qiwenshare.file.util.FileModel;
|
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.dto.file.CreateOfficeFileDTO;
|
import com.qiwenshare.file.dto.file.CreateOfficeFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.EditOfficeFileDTO;
|
import com.qiwenshare.file.dto.file.EditOfficeFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.PreviewOfficeFileDTO;
|
import com.qiwenshare.file.dto.file.PreviewOfficeFileDTO;
|
||||||
import com.qiwenshare.file.helper.ConfigManager;
|
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.factory.UFOPFactory;
|
||||||
import com.qiwenshare.ufop.operation.copy.Copier;
|
import com.qiwenshare.ufop.operation.copy.Copier;
|
||||||
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
||||||
|
@ -3,14 +3,14 @@ package com.qiwenshare.file.controller;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
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.api.*;
|
||||||
import com.qiwenshare.file.component.AsyncTaskComp;
|
import com.qiwenshare.file.component.AsyncTaskComp;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
|
||||||
import com.qiwenshare.file.domain.RecoveryFile;
|
import com.qiwenshare.file.domain.RecoveryFile;
|
||||||
import com.qiwenshare.file.dto.file.DeleteRecoveryFileDTO;
|
import com.qiwenshare.file.dto.file.DeleteRecoveryFileDTO;
|
||||||
import com.qiwenshare.file.dto.recoveryfile.BatchDeleteRecoveryFileDTO;
|
import com.qiwenshare.file.dto.recoveryfile.BatchDeleteRecoveryFileDTO;
|
||||||
import com.qiwenshare.file.dto.recoveryfile.RestoreFileDTO;
|
import com.qiwenshare.file.dto.recoveryfile.RestoreFileDTO;
|
||||||
import com.qiwenshare.file.util.SessionUtil;
|
|
||||||
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
||||||
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;
|
||||||
|
@ -7,16 +7,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
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.IShareFileService;
|
||||||
import com.qiwenshare.file.api.IShareService;
|
import com.qiwenshare.file.api.IShareService;
|
||||||
import com.qiwenshare.file.api.IUserFileService;
|
import com.qiwenshare.file.api.IUserFileService;
|
||||||
import com.qiwenshare.file.component.FileDealComp;
|
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.Share;
|
||||||
import com.qiwenshare.file.domain.ShareFile;
|
import com.qiwenshare.file.domain.ShareFile;
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.dto.sharefile.*;
|
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.ShareFileListVO;
|
||||||
import com.qiwenshare.file.vo.share.ShareFileVO;
|
import com.qiwenshare.file.vo.share.ShareFileVO;
|
||||||
import com.qiwenshare.file.vo.share.ShareListVO;
|
import com.qiwenshare.file.vo.share.ShareListVO;
|
||||||
|
@ -6,14 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.qiwenshare.common.anno.MyLog;
|
import com.qiwenshare.common.anno.MyLog;
|
||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
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.IUserLoginInfoService;
|
||||||
import com.qiwenshare.file.api.IUserService;
|
import com.qiwenshare.file.api.IUserService;
|
||||||
import com.qiwenshare.file.component.JwtComp;
|
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.UserLoginInfo;
|
||||||
|
import com.qiwenshare.file.domain.user.UserBean;
|
||||||
import com.qiwenshare.file.dto.user.RegisterDTO;
|
import com.qiwenshare.file.dto.user.RegisterDTO;
|
||||||
import com.qiwenshare.file.util.SessionUtil;
|
|
||||||
import com.qiwenshare.file.vo.user.UserLoginVo;
|
import com.qiwenshare.file.vo.user.UserLoginVo;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
30
src/main/java/com/qiwenshare/file/domain/CommonFile.java
Normal file
30
src/main/java/com/qiwenshare/file/domain/CommonFile.java
Normal file
@ -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;
|
||||||
|
}
|
33
src/main/java/com/qiwenshare/file/domain/FilePermission.java
Normal file
33
src/main/java/com/qiwenshare/file/domain/FilePermission.java
Normal file
@ -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;
|
||||||
|
|
||||||
|
}
|
@ -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.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限实体类
|
* 权限实体类
|
@ -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.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
@ -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.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
@ -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.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.websocket.Session;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户基础信息类
|
* 用户基础信息类
|
||||||
@ -16,9 +13,7 @@ import java.util.List;
|
|||||||
* @author ma116
|
* @author ma116
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Table(name = "user", uniqueConstraints = {
|
@Table(name = "user")
|
||||||
@UniqueConstraint(name = "openIdIndex", columnNames = {"openId"})
|
|
||||||
})
|
|
||||||
@Entity
|
@Entity
|
||||||
@TableName("user")
|
@TableName("user")
|
||||||
public class UserBean {
|
public class UserBean {
|
||||||
@ -29,21 +24,12 @@ public class UserBean {
|
|||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(30) comment 'openId'")
|
|
||||||
private String openId;
|
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(30) comment '用户名'")
|
@Column(columnDefinition = "varchar(30) comment '用户名'")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(30) comment '真实名'")
|
|
||||||
private String realname;
|
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(35) comment '密码'")
|
@Column(columnDefinition = "varchar(35) comment '密码'")
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(35) comment 'qq密码'")
|
|
||||||
private String qqPassword;
|
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(15) comment '手机号'")
|
@Column(columnDefinition = "varchar(15) comment '手机号'")
|
||||||
private String telephone;
|
private String telephone;
|
||||||
|
|
||||||
@ -53,7 +39,6 @@ public class UserBean {
|
|||||||
@Column(columnDefinition = "varchar(3) comment '性别'")
|
@Column(columnDefinition = "varchar(3) comment '性别'")
|
||||||
private String sex;
|
private String sex;
|
||||||
|
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(30) comment '生日'")
|
@Column(columnDefinition = "varchar(30) comment '生日'")
|
||||||
private String birthday;
|
private String birthday;
|
||||||
|
|
||||||
@ -76,7 +61,7 @@ public class UserBean {
|
|||||||
private String intro;
|
private String intro;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(20) comment '盐'")
|
@Column(columnDefinition = "varchar(20) comment '盐'")
|
||||||
private String salt;//加密密码的盐
|
private String salt;
|
||||||
|
|
||||||
@Column(columnDefinition = "varchar(100) comment '头像'")
|
@Column(columnDefinition = "varchar(100) comment '头像'")
|
||||||
private String imageUrl;
|
private String imageUrl;
|
||||||
@ -95,14 +80,4 @@ public class UserBean {
|
|||||||
private Long modifyUserId;
|
private Long modifyUserId;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 角色列表
|
|
||||||
*/
|
|
||||||
// @ManyToMany(fetch = FetchType.EAGER)//立即从数据库中进行加载数据
|
|
||||||
// @JoinTable(name = "user_role",
|
|
||||||
// joinColumns = {@JoinColumn(name = "userId")},
|
|
||||||
// inverseJoinColumns = {@JoinColumn(name = "roleid")})
|
|
||||||
// @TableField(exist = false)
|
|
||||||
// private List<Role> roles;
|
|
||||||
|
|
||||||
}
|
}
|
@ -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.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
@ -7,12 +7,6 @@ import lombok.Data;
|
|||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
||||||
/**
|
|
||||||
* @author MAC
|
|
||||||
* @version 1.0
|
|
||||||
* @description: TODO
|
|
||||||
* @date 2021/12/30 16:14
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
@Table(name = "user_role")
|
@Table(name = "user_role")
|
||||||
@Entity
|
@Entity
|
||||||
@ -21,10 +15,7 @@ public class UserRole {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
private Long id;
|
private Long userRoleId;
|
||||||
@Column(columnDefinition="bigint(20) comment '用户id'")
|
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
@Column(columnDefinition="bigint(20) comment '角色id'")
|
|
||||||
private Long roleId;
|
private Long roleId;
|
||||||
}
|
}
|
@ -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;
|
||||||
|
}
|
@ -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<CommonFile> {
|
||||||
|
List<CommonFileUser> selectCommonFileUser(@Param("userId") Long userId);
|
||||||
|
List<CommonFileListVo> selectCommonFileByUser(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
}
|
@ -3,7 +3,6 @@ package com.qiwenshare.file.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
import com.qiwenshare.file.domain.FileBean;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -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<FilePermission> {
|
||||||
|
|
||||||
|
}
|
@ -1,12 +1,9 @@
|
|||||||
package com.qiwenshare.file.mapper;
|
package com.qiwenshare.file.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.qiwenshare.file.domain.OperationLogBean;
|
import com.qiwenshare.file.domain.OperationLogBean;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface OperationLogMapper extends BaseMapper<OperationLogBean> {
|
public interface OperationLogMapper extends BaseMapper<OperationLogBean> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
package com.qiwenshare.file.mapper;
|
package com.qiwenshare.file.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
|
||||||
import com.qiwenshare.file.domain.Share;
|
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 com.qiwenshare.file.vo.share.ShareListVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -2,11 +2,8 @@ package com.qiwenshare.file.mapper;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
|
||||||
import com.qiwenshare.file.domain.StorageBean;
|
import com.qiwenshare.file.domain.StorageBean;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface StorageMapper extends BaseMapper<StorageBean> {
|
public interface StorageMapper extends BaseMapper<StorageBean> {
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,15 +3,10 @@ package com.qiwenshare.file.mapper;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
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.domain.UserFile;
|
||||||
import com.qiwenshare.file.vo.file.FileListVo;
|
import com.qiwenshare.file.vo.file.FileListVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public interface UserFileMapper extends BaseMapper<UserFile> {
|
public interface UserFileMapper extends BaseMapper<UserFile> {
|
||||||
void replaceFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("userId") Long userId);
|
void replaceFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package com.qiwenshare.file.mapper;
|
package com.qiwenshare.file.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.qiwenshare.file.domain.user.Role;
|
||||||
import com.qiwenshare.file.domain.Role;
|
import com.qiwenshare.file.domain.user.UserBean;
|
||||||
import com.qiwenshare.file.domain.UserBean;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -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<CommonFileMapper, CommonFile> implements ICommonFileService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CommonFileMapper commonFileMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CommonFileUser> selectCommonFileUser(Long userId) {
|
||||||
|
return commonFileMapper.selectCommonFileUser(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CommonFileListVo> selectCommonFileByUser(Long userId) {
|
||||||
|
return commonFileMapper.selectCommonFileByUser(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -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<FilePermissionMapper, FilePermission> implements IFilePermissionService {
|
||||||
|
|
||||||
|
}
|
@ -2,8 +2,8 @@ package com.qiwenshare.file.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.qiwenshare.common.exception.QiwenException;
|
||||||
import com.qiwenshare.common.operation.FileOperation;
|
import com.qiwenshare.common.operation.FileOperation;
|
||||||
import com.qiwenshare.file.advice.QiwenException;
|
|
||||||
import com.qiwenshare.file.api.IFileService;
|
import com.qiwenshare.file.api.IFileService;
|
||||||
import com.qiwenshare.file.component.AsyncTaskComp;
|
import com.qiwenshare.file.component.AsyncTaskComp;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
import com.qiwenshare.file.domain.FileBean;
|
||||||
|
@ -6,16 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
import com.qiwenshare.common.util.DateUtil;
|
||||||
import com.qiwenshare.common.util.MimeUtils;
|
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.api.IFiletransferService;
|
||||||
import com.qiwenshare.file.component.FileDealComp;
|
import com.qiwenshare.file.component.FileDealComp;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
|
||||||
import com.qiwenshare.file.domain.*;
|
import com.qiwenshare.file.domain.*;
|
||||||
import com.qiwenshare.file.dto.file.DownloadFileDTO;
|
import com.qiwenshare.file.dto.file.DownloadFileDTO;
|
||||||
import com.qiwenshare.file.dto.file.PreviewDTO;
|
import com.qiwenshare.file.dto.file.PreviewDTO;
|
||||||
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
import com.qiwenshare.file.dto.file.UploadFileDTO;
|
||||||
import com.qiwenshare.file.mapper.*;
|
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.file.vo.file.UploadFileVo;
|
||||||
import com.qiwenshare.ufop.constant.StorageTypeEnum;
|
import com.qiwenshare.ufop.constant.StorageTypeEnum;
|
||||||
import com.qiwenshare.ufop.constant.UploadFileStatusEnum;
|
import com.qiwenshare.ufop.constant.UploadFileStatusEnum;
|
||||||
@ -165,8 +164,13 @@ public class FiletransferService implements IFiletransferService {
|
|||||||
log.error("上传失败,请检查storageType是否配置正确");
|
log.error("上传失败,请检查storageType是否配置正确");
|
||||||
throw new UploadException("上传失败");
|
throw new UploadException("上传失败");
|
||||||
}
|
}
|
||||||
|
List<UploadFileResult> uploadFileResultList;
|
||||||
List<UploadFileResult> uploadFileResultList = uploader.upload(request, uploadFile);
|
try {
|
||||||
|
uploadFileResultList = uploader.upload(request, uploadFile);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("上传失败,请检查UFOP连接配置是否正确");
|
||||||
|
throw new UploadException("上传失败");
|
||||||
|
}
|
||||||
for (int i = 0; i < uploadFileResultList.size(); i++){
|
for (int i = 0; i < uploadFileResultList.size(); i++){
|
||||||
UploadFileResult uploadFileResult = uploadFileResultList.get(i);
|
UploadFileResult uploadFileResult = uploadFileResultList.get(i);
|
||||||
FileBean fileBean = new FileBean();
|
FileBean fileBean = new FileBean();
|
||||||
@ -383,7 +387,7 @@ public class FiletransferService implements IFiletransferService {
|
|||||||
}
|
}
|
||||||
PreviewFile previewFile = new PreviewFile();
|
PreviewFile previewFile = new PreviewFile();
|
||||||
previewFile.setFileUrl(fileBean.getFileUrl());
|
previewFile.setFileUrl(fileBean.getFileUrl());
|
||||||
previewFile.setFileSize(fileBean.getFileSize());
|
// previewFile.setFileSize(fileBean.getFileSize());
|
||||||
try {
|
try {
|
||||||
if ("true".equals(previewDTO.getIsMin())) {
|
if ("true".equals(previewDTO.getIsMin())) {
|
||||||
previewer.imageThumbnailPreview(httpServletResponse, previewFile);
|
previewer.imageThumbnailPreview(httpServletResponse, previewFile);
|
||||||
@ -415,7 +419,7 @@ public class FiletransferService implements IFiletransferService {
|
|||||||
}
|
}
|
||||||
PreviewFile previewFile = new PreviewFile();
|
PreviewFile previewFile = new PreviewFile();
|
||||||
previewFile.setFileUrl(pictureFile.getFileUrl());
|
previewFile.setFileUrl(pictureFile.getFileUrl());
|
||||||
previewFile.setFileSize(pictureFile.getFileSize());
|
// previewFile.setFileSize(pictureFile.getFileSize());
|
||||||
try {
|
try {
|
||||||
|
|
||||||
String mime= MimeUtils.getMime(pictureFile.getExtendName());
|
String mime= MimeUtils.getMime(pictureFile.getExtendName());
|
||||||
|
@ -3,7 +3,6 @@ package com.qiwenshare.file.service;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
import com.qiwenshare.file.api.IOperationLogService;
|
import com.qiwenshare.file.api.IOperationLogService;
|
||||||
import com.qiwenshare.file.domain.OperationLogBean;
|
import com.qiwenshare.file.domain.OperationLogBean;
|
||||||
import com.qiwenshare.file.mapper.OperationLogMapper;
|
import com.qiwenshare.file.mapper.OperationLogMapper;
|
||||||
|
@ -5,10 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.qiwenshare.file.api.IRecoveryFileService;
|
import com.qiwenshare.file.api.IRecoveryFileService;
|
||||||
import com.qiwenshare.file.component.FileDealComp;
|
import com.qiwenshare.file.component.FileDealComp;
|
||||||
import com.qiwenshare.file.domain.FileBean;
|
|
||||||
import com.qiwenshare.file.domain.RecoveryFile;
|
import com.qiwenshare.file.domain.RecoveryFile;
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.mapper.FileMapper;
|
|
||||||
import com.qiwenshare.file.mapper.RecoveryFileMapper;
|
import com.qiwenshare.file.mapper.RecoveryFileMapper;
|
||||||
import com.qiwenshare.file.mapper.UserFileMapper;
|
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||||
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
||||||
@ -18,8 +16,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.Executor;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
@ -2,23 +2,17 @@ package com.qiwenshare.file.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.qiwenshare.file.api.IShareService;
|
|
||||||
import com.qiwenshare.file.api.IStorageService;
|
import com.qiwenshare.file.api.IStorageService;
|
||||||
import com.qiwenshare.file.domain.Share;
|
|
||||||
import com.qiwenshare.file.domain.StorageBean;
|
import com.qiwenshare.file.domain.StorageBean;
|
||||||
import com.qiwenshare.file.domain.SysParam;
|
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.StorageMapper;
|
||||||
import com.qiwenshare.file.mapper.SysParamMapper;
|
import com.qiwenshare.file.mapper.SysParamMapper;
|
||||||
import com.qiwenshare.file.mapper.UserFileMapper;
|
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||||
import com.qiwenshare.file.vo.share.ShareListVO;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
@ -3,9 +3,7 @@ package com.qiwenshare.file.service;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.qiwenshare.file.api.ISysParamService;
|
import com.qiwenshare.file.api.ISysParamService;
|
||||||
import com.qiwenshare.file.domain.StorageBean;
|
|
||||||
import com.qiwenshare.file.domain.SysParam;
|
import com.qiwenshare.file.domain.SysParam;
|
||||||
import com.qiwenshare.file.mapper.StorageMapper;
|
|
||||||
import com.qiwenshare.file.mapper.SysParamMapper;
|
import com.qiwenshare.file.mapper.SysParamMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -8,15 +8,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.qiwenshare.common.constant.FileConstant;
|
import com.qiwenshare.common.constant.FileConstant;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
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.api.IUserFileService;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
|
||||||
import com.qiwenshare.file.domain.RecoveryFile;
|
import com.qiwenshare.file.domain.RecoveryFile;
|
||||||
import com.qiwenshare.file.domain.UserFile;
|
import com.qiwenshare.file.domain.UserFile;
|
||||||
import com.qiwenshare.file.mapper.FileMapper;
|
import com.qiwenshare.file.mapper.FileMapper;
|
||||||
import com.qiwenshare.file.mapper.FileTypeMapper;
|
import com.qiwenshare.file.mapper.FileTypeMapper;
|
||||||
import com.qiwenshare.file.mapper.RecoveryFileMapper;
|
import com.qiwenshare.file.mapper.RecoveryFileMapper;
|
||||||
import com.qiwenshare.file.mapper.UserFileMapper;
|
import com.qiwenshare.file.mapper.UserFileMapper;
|
||||||
import com.qiwenshare.file.util.SessionUtil;
|
|
||||||
import com.qiwenshare.file.vo.file.FileListVo;
|
import com.qiwenshare.file.vo.file.FileListVo;
|
||||||
import com.qiwenshare.ufop.util.UFOPUtils;
|
import com.qiwenshare.ufop.util.UFOPUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -24,7 +24,6 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
@ -88,12 +87,16 @@ public class UserFileService extends ServiceImpl<UserFileMapper, UserFile> impl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<FileListVo> userFileList(String filePath, Long currentPage, Long pageCount) {
|
public IPage<FileListVo> userFileList(Long userId, String filePath, Long currentPage, Long pageCount) {
|
||||||
Page<FileListVo> page = new Page<>(currentPage, pageCount);
|
Page<FileListVo> page = new Page<>(currentPage, pageCount);
|
||||||
UserFile userFile = new UserFile();
|
UserFile userFile = new UserFile();
|
||||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||||
|
if (userId == null) {
|
||||||
|
userFile.setUserId(sessionUserBean.getUserId());
|
||||||
|
} else {
|
||||||
|
userFile.setUserId(userId);
|
||||||
|
}
|
||||||
|
|
||||||
userFile.setUserId(sessionUserBean.getUserId());
|
|
||||||
userFile.setFilePath(UFOPUtils.urlDecode(filePath));
|
userFile.setFilePath(UFOPUtils.urlDecode(filePath));
|
||||||
|
|
||||||
return userFileMapper.selectPageVo(page, userFile, null);
|
return userFileMapper.selectPageVo(page, userFile, null);
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
package com.qiwenshare.file.service;
|
package com.qiwenshare.file.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.qiwenshare.file.api.IShareService;
|
|
||||||
import com.qiwenshare.file.api.IUserLoginInfoService;
|
import com.qiwenshare.file.api.IUserLoginInfoService;
|
||||||
import com.qiwenshare.file.domain.Share;
|
|
||||||
import com.qiwenshare.file.domain.UserLoginInfo;
|
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.mapper.UserLoginInfoMapper;
|
||||||
import com.qiwenshare.file.vo.share.ShareListVO;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -6,13 +6,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.qiwenshare.common.result.RestResult;
|
import com.qiwenshare.common.result.RestResult;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
import com.qiwenshare.common.util.DateUtil;
|
||||||
import com.qiwenshare.common.util.PasswordUtil;
|
import com.qiwenshare.common.util.PasswordUtil;
|
||||||
|
import com.qiwenshare.common.util.security.JwtUser;
|
||||||
import com.qiwenshare.file.api.IUserService;
|
import com.qiwenshare.file.api.IUserService;
|
||||||
import com.qiwenshare.file.component.JwtComp;
|
import com.qiwenshare.file.component.JwtComp;
|
||||||
import com.qiwenshare.file.component.UserDealComp;
|
import com.qiwenshare.file.component.UserDealComp;
|
||||||
import com.qiwenshare.file.config.security.user.JwtUser;
|
|
||||||
import com.qiwenshare.file.controller.UserController;
|
import com.qiwenshare.file.controller.UserController;
|
||||||
import com.qiwenshare.file.domain.Role;
|
import com.qiwenshare.file.domain.user.Role;
|
||||||
import com.qiwenshare.file.domain.UserBean;
|
import com.qiwenshare.file.domain.user.UserBean;
|
||||||
import com.qiwenshare.file.mapper.UserMapper;
|
import com.qiwenshare.file.mapper.UserMapper;
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -71,14 +71,6 @@ public class UserService extends ServiceImpl<UserMapper, UserBean> implements IU
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserBean selectUserByopenid(String openid) {
|
|
||||||
LambdaQueryWrapper<UserBean> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
lambdaQueryWrapper.eq(UserBean::getOpenId, openid);
|
|
||||||
return userMapper.selectOne(lambdaQueryWrapper);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RestResult<String> registerUser(UserBean userBean) {
|
public RestResult<String> registerUser(UserBean userBean) {
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@ package com.qiwenshare.file.util;
|
|||||||
import com.qiwenshare.common.util.CollectUtil;
|
import com.qiwenshare.common.util.CollectUtil;
|
||||||
import com.qiwenshare.common.util.DateUtil;
|
import com.qiwenshare.common.util.DateUtil;
|
||||||
import com.qiwenshare.file.domain.OperationLogBean;
|
import com.qiwenshare.file.domain.OperationLogBean;
|
||||||
import com.qiwenshare.file.domain.UserBean;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
@ -12,9 +12,6 @@ public class FileListVo {
|
|||||||
|
|
||||||
private Long fileSize;
|
private Long fileSize;
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
private Integer isOSS;
|
|
||||||
|
|
||||||
private Integer storageType;
|
private Integer storageType;
|
||||||
|
|
||||||
private Integer pointCount;
|
private Integer pointCount;
|
||||||
|
@ -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.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.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.converter=ConvertService.ashx
|
||||||
files.docservice.url.command=coauthoring/CommandService.ashx
|
files.docservice.url.command=coauthoring/CommandService.ashx
|
||||||
files.docservice.url.api=web-apps/apps/api/documents/api.js
|
files.docservice.url.api=web-apps/apps/api/documents/api.js
|
||||||
|
23
src/main/resources/mapper/CommonFileMapper.xml
Normal file
23
src/main/resources/mapper/CommonFileMapper.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
|
<mapper namespace="com.qiwenshare.file.mapper.CommonFileMapper">
|
||||||
|
|
||||||
|
<select id="selectCommonFileUser" parameterType="java.lang.Long" resultType="com.qiwenshare.file.vo.commonfile.CommonFileUser">
|
||||||
|
SELECT c.userId, (SELECT username FROM user WHERE user.userId = c.userId) username FROM commonfile a
|
||||||
|
LEFT JOIN filepermission b ON a.commonFileId = b.commonFileId
|
||||||
|
LEFT JOIN userfile c ON c.userFileId = a.userFileId
|
||||||
|
WHERE b.userId = #{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCommonFileByUser" parameterType="java.lang.Long" resultType="com.qiwenshare.file.vo.commonfile.CommonFileListVo">
|
||||||
|
SELECT * FROM commonfile a
|
||||||
|
LEFT JOIN userfile b ON b.userFileId = a.userFileId
|
||||||
|
WHERE userId = #{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -26,6 +26,7 @@
|
|||||||
extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4))
|
extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4))
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
|
and a.isDir = 0
|
||||||
</if>
|
</if>
|
||||||
<if test="userFile.userId != null">
|
<if test="userFile.userId != null">
|
||||||
and a.userId = #{userFile.userId}
|
and a.userId = #{userFile.userId}
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
<mapper namespace="com.qiwenshare.file.mapper.UserMapper">
|
<mapper namespace="com.qiwenshare.file.mapper.UserMapper">
|
||||||
|
|
||||||
<insert id="insertUser" parameterType="com.qiwenshare.file.domain.UserBean" useGeneratedKeys="true" keyProperty="userId">
|
<insert id="insertUser" parameterType="com.qiwenshare.file.domain.user.UserBean" useGeneratedKeys="true" keyProperty="userId">
|
||||||
INSERT INTO user (username, salt, PASSWORD, qqPassword, telephone, sex, openId, imageUrl, registerTime, available)
|
INSERT INTO user (username, salt, PASSWORD, qqPassword, telephone, sex, imageUrl, registerTime, available)
|
||||||
VALUES (#{username},#{salt}, #{password}, #{qqPassword}, #{telephone}, #{sex}, #{openId}, #{imageUrl}, #{registerTime}, 1);
|
VALUES (#{username},#{salt}, #{password}, #{qqPassword}, #{telephone}, #{sex}, #{imageUrl}, #{registerTime}, 1);
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertUserRole" parameterType="Long">
|
<insert id="insertUserRole" parameterType="Long">
|
||||||
@ -16,7 +16,7 @@
|
|||||||
VALUES (#{param1}, #{param2});
|
VALUES (#{param1}, #{param2});
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="selectRoleListByUserId" resultType="com.qiwenshare.file.domain.Role">
|
<select id="selectRoleListByUserId" resultType="com.qiwenshare.file.domain.user.Role">
|
||||||
select b.*
|
select b.*
|
||||||
from user_role a
|
from user_role a
|
||||||
left join role b on b.roleId = a.roleId
|
left join role b on b.roleId = a.roleId
|
||||||
@ -30,7 +30,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectUserByTelephoneAndPassword" parameterType="java.lang.String"
|
<select id="selectUserByTelephoneAndPassword" parameterType="java.lang.String"
|
||||||
resultType="com.qiwenshare.file.domain.UserBean">
|
resultType="com.qiwenshare.file.domain.user.UserBean">
|
||||||
select userId
|
select userId
|
||||||
from user
|
from user
|
||||||
where telephone = #{telephone}
|
where telephone = #{telephone}
|
||||||
|
Loading…
Reference in New Issue
Block a user