feat(文件共享): 文件共享功能开发

This commit is contained in:
MAC 2022-01-22 23:41:45 +08:00
parent 477f336b69
commit 6683f3e6e1
61 changed files with 453 additions and 302 deletions

View File

@ -6,11 +6,11 @@
<parent>
<groupId>com.qiwenshare</groupId>
<artifactId>qiwenshare</artifactId>
<version>1.1.3</version>
<version>1.1.4</version>
</parent>
<artifactId>qiwen-file</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.1.4-SNAPSHOT</version>
<name>qiwen-file</name>
<description>pan.qiwenshare.com</description>
<packaging>jar</packaging>

View File

@ -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;

View File

@ -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() + '}';
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -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> {
}

View File

@ -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<FileBean> {

View File

@ -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;

View File

@ -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;

View File

@ -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<UserFile> {
List<UserFile> selectUserFileByNameAndPath(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);
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 userFileCopy(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);

View File

@ -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<UserLoginInfo> {

View File

@ -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<UserBean> {
Long getUserIdByToken(String token);
UserBean selectUserByopenid(String openid);
/**
* 用户注册

View File

@ -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;

View File

@ -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
}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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<FileListVo> fileList = userFileService.userFileList(filePath, currentPage, pageCount);
IPage<FileListVo> fileList = userFileService.userFileList(null, filePath, currentPage, pageCount);
Map<String, Object> map = new HashMap<>();

View File

@ -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 = "该接口为文件传输接口,主要用来做文件的上传、下载和预览")

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View 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;
}

View 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;
}

View File

@ -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;
/**
* 权限实体类

View File

@ -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;

View File

@ -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;

View File

@ -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<Role> roles;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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> {
}

View File

@ -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<OperationLogBean> {
}

View File

@ -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;

View File

@ -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<StorageBean> {

View File

@ -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<UserFile> {
void replaceFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("userId") Long userId);

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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 {
}

View File

@ -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;

View File

@ -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<UploadFileResult> uploadFileResultList = uploader.upload(request, uploadFile);
List<UploadFileResult> 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());

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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<UserFileMapper, UserFile> impl
}
@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);
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);

View File

@ -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;

View File

@ -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<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
public RestResult<String> registerUser(UserBean userBean) {

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -12,9 +12,6 @@ public class FileListVo {
private Long fileSize;
@Deprecated
private Integer isOSS;
private Integer storageType;
private Integer pointCount;

View File

@ -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

View 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>

View File

@ -26,6 +26,7 @@
extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4))
</otherwise>
</choose>
and a.isDir = 0
</if>
<if test="userFile.userId != null">
and a.userId = #{userFile.userId}

View File

@ -6,9 +6,9 @@
<mapper namespace="com.qiwenshare.file.mapper.UserMapper">
<insert id="insertUser" parameterType="com.qiwenshare.file.domain.UserBean" useGeneratedKeys="true" keyProperty="userId">
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 id="insertUser" parameterType="com.qiwenshare.file.domain.user.UserBean" useGeneratedKeys="true" keyProperty="userId">
INSERT INTO user (username, salt, PASSWORD, qqPassword, telephone, sex, imageUrl, registerTime, available)
VALUES (#{username},#{salt}, #{password}, #{qqPassword}, #{telephone}, #{sex}, #{imageUrl}, #{registerTime}, 1);
</insert>
<insert id="insertUserRole" parameterType="Long">
@ -16,7 +16,7 @@
VALUES (#{param1}, #{param2});
</insert>
<select id="selectRoleListByUserId" resultType="com.qiwenshare.file.domain.Role">
<select id="selectRoleListByUserId" resultType="com.qiwenshare.file.domain.user.Role">
select b.*
from user_role a
left join role b on b.roleId = a.roleId
@ -30,7 +30,7 @@
</select>
<select id="selectUserByTelephoneAndPassword" parameterType="java.lang.String"
resultType="com.qiwenshare.file.domain.UserBean">
resultType="com.qiwenshare.file.domain.user.UserBean">
select userId
from user
where telephone = #{telephone}