feat(文件): 文件分类由硬编码修改为数据库配置
This commit is contained in:
parent
b91a85392b
commit
97756a90fe
@ -74,12 +74,19 @@
|
||||
| 存储容量显示 | 可实时显示文件存储占用情况及总存储容量 |
|
||||
|
||||
## 源码地址
|
||||
|
||||
### 前后台项目代码
|
||||
| 项目名称 | 源码地址 |
|
||||
| ------------ | -------------------------------------------------------------------------------------------- |
|
||||
| 奇文网盘前端 | [https://gitee.com/qiwen-cloud/qiwen-file-web](https://gitee.com/qiwen-cloud/qiwen-file-web) |
|
||||
| 奇文网盘后台 | [https://gitee.com/qiwen-cloud/qiwen-file](https://gitee.com/qiwen-cloud/qiwen-file) |
|
||||
|
||||
### 后台项目依赖
|
||||
| 项目名称 | 源码地址 |
|
||||
| ------------ | -------------------------------------------------------------------------------------------- |
|
||||
| 奇文社区统一依赖管理(父pom) | [https://gitee.com/qiwen-cloud/qiwenshare](https://gitee.com/qiwen-cloud/qiwenshare) |
|
||||
| 奇文社区公共模块 | [https://gitee.com/qiwen-cloud/qiwen-common](https://gitee.com/qiwen-cloud/qiwen-common) |
|
||||
| 统一文件操作平台(UFOP) | [https://gitee.com/qiwen-cloud/ufop-spring-boot-starter](https://gitee.com/qiwen-cloud/ufop-spring-boot-starter) |
|
||||
|
||||
## 网络拓扑图
|
||||
|
||||

|
||||
|
11
pom.xml
11
pom.xml
@ -109,6 +109,17 @@
|
||||
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.inversoft</groupId>
|
||||
<artifactId>prime-jwt</artifactId>
|
||||
<version>1.3.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.11.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.qiwenshare.file;
|
||||
|
||||
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@ -8,12 +7,6 @@ import org.springframework.boot.web.server.ConfigurableWebServerFactory;
|
||||
import org.springframework.boot.web.server.ErrorPage;
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.data.redis.serializer.GenericToStringSerializer;
|
||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
@ -1,5 +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.FileBean;
|
||||
import com.qiwenshare.file.domain.UserBean;
|
||||
@ -18,7 +19,7 @@ public interface IUserFileService extends IService<UserFile> {
|
||||
void updateFilepathByFilepath(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
||||
void userFileCopy(String oldfilePath, String newfilePath, String fileName, String extendName, long userId);
|
||||
|
||||
List<FileListVo> selectFileByExtendName(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
IPage<FileListVo> getFileByFileType(Integer fileTypeId, Long currentPage, Long pageCount, long userId);
|
||||
Long selectCountByExtendName(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
List<FileListVo> selectFileNotInExtendNames(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
Long selectCountNotInExtendNames(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
|
@ -45,6 +45,8 @@ public class FileDealComp {
|
||||
IShareFileService shareFileService;
|
||||
@Resource
|
||||
IUserFileService userFileService;
|
||||
@Resource
|
||||
UFOPFactory ufopFactory;
|
||||
|
||||
@Resource
|
||||
private IElasticSearchService elasticSearchService;
|
||||
@ -269,7 +271,7 @@ public class FileDealComp {
|
||||
// readFile.setFileUrl(fileSearch.getFileUrl());
|
||||
// String content = reader.read(readFile);
|
||||
// //全文搜索
|
||||
// // fileSearch.setContent(content);
|
||||
// fileSearch.setContent(content);
|
||||
//
|
||||
// }
|
||||
elasticSearchService.save(fileSearch);
|
||||
|
26
src/main/java/com/qiwenshare/file/constant/FileType.java
Normal file
26
src/main/java/com/qiwenshare/file/constant/FileType.java
Normal file
@ -0,0 +1,26 @@
|
||||
/**
|
||||
*
|
||||
* (c) Copyright Ascensio System SIA 2021
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.qiwenshare.file.constant;
|
||||
|
||||
public enum FileType
|
||||
{
|
||||
Word,
|
||||
Cell,
|
||||
Slide
|
||||
}
|
28
src/main/java/com/qiwenshare/file/constant/FileTypeEnum.java
Normal file
28
src/main/java/com/qiwenshare/file/constant/FileTypeEnum.java
Normal file
@ -0,0 +1,28 @@
|
||||
package com.qiwenshare.file.constant;
|
||||
|
||||
public enum FileTypeEnum {
|
||||
TOTAL(0, "全部"),
|
||||
PICTURE(1, "图片"),
|
||||
DOCUMENT(2, "文档"),
|
||||
VIDEO(3, "视频"),
|
||||
MUSIC(4, "音乐"),
|
||||
OTHER(5, "其他"),
|
||||
SHARE(6, "分享"),
|
||||
RECYCLE(7, "回收站");
|
||||
|
||||
|
||||
private int type;
|
||||
private String desc;
|
||||
FileTypeEnum(int type, String desc) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
}
|
@ -3,10 +3,10 @@ package com.qiwenshare.file.controller;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.NotLoginException;
|
||||
import com.qiwenshare.common.result.RestResult;
|
||||
import com.qiwenshare.common.result.ResultCodeEnum;
|
||||
import com.qiwenshare.common.util.DateUtil;
|
||||
import com.qiwenshare.file.advice.QiwenException;
|
||||
import com.qiwenshare.file.api.IFileService;
|
||||
@ -18,9 +18,6 @@ import com.qiwenshare.file.domain.FileBean;
|
||||
import com.qiwenshare.file.domain.TreeNode;
|
||||
import com.qiwenshare.file.domain.UserBean;
|
||||
import com.qiwenshare.file.domain.UserFile;
|
||||
import com.qiwenshare.file.dto.file.BatchMoveFileDTO;
|
||||
import com.qiwenshare.file.dto.file.CopyFileDTO;
|
||||
import com.qiwenshare.file.dto.file.MoveFileDTO;
|
||||
import com.qiwenshare.file.dto.file.*;
|
||||
import com.qiwenshare.file.util.SessionUtil;
|
||||
import com.qiwenshare.file.vo.file.FileListVo;
|
||||
@ -35,7 +32,9 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.eclipse.jetty.util.StringUtil;
|
||||
import org.elasticsearch.index.query.*;
|
||||
import org.elasticsearch.index.query.DisMaxQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@ -142,6 +141,7 @@ public class FileController {
|
||||
|
||||
QueryBuilder q2 = QueryBuilders.boolQuery()
|
||||
.must(QueryBuilders.wildcardQuery("fileName", "*" + searchFileDTO.getFileName() + "*"))
|
||||
.must(QueryBuilders.wildcardQuery("content", "*" + searchFileDTO.getFileName() + "*"))
|
||||
.must(QueryBuilders.termQuery("userId", sessionUserBean.getUserId())).boost(2f); //模糊匹配
|
||||
|
||||
disMaxQueryBuilder.add(q1);
|
||||
@ -388,8 +388,8 @@ public class FileController {
|
||||
@RequestMapping(value = "/selectfilebyfiletype", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public RestResult<List<Map<String, Object>>> selectFileByFileType(@Parameter(description = "文件类型", required = true) int fileType,
|
||||
@Parameter(description = "当前页", required = true) long currentPage,
|
||||
@Parameter(description = "页面数量", required = true) long pageCount) {
|
||||
@Parameter(description = "当前页", required = true) @RequestParam(defaultValue = "1") long currentPage,
|
||||
@Parameter(description = "页面数量", required = true) @RequestParam(defaultValue = "10") long pageCount) {
|
||||
|
||||
UserBean sessionUserBean = (UserBean) SessionUtil.getSession();
|
||||
if (sessionUserBean == null) {
|
||||
@ -397,34 +397,10 @@ public class FileController {
|
||||
}
|
||||
long userId = sessionUserBean.getUserId();
|
||||
|
||||
List<FileListVo> fileList = new ArrayList<>();
|
||||
Long beginCount = 0L;
|
||||
if (pageCount == 0 || currentPage == 0) {
|
||||
beginCount = 0L;
|
||||
pageCount = 10L;
|
||||
} else {
|
||||
beginCount = (currentPage - 1) * pageCount;
|
||||
}
|
||||
|
||||
Long total = 0L;
|
||||
if (fileType == UFOPUtils.OTHER_TYPE) {
|
||||
|
||||
List<String> arrList = new ArrayList<>();
|
||||
arrList.addAll(Arrays.asList(UFOPUtils.DOC_FILE));
|
||||
arrList.addAll(Arrays.asList(UFOPUtils.IMG_FILE));
|
||||
arrList.addAll(Arrays.asList(UFOPUtils.VIDEO_FILE));
|
||||
arrList.addAll(Arrays.asList(UFOPUtils.MUSIC_FILE));
|
||||
|
||||
fileList = userFileService.selectFileNotInExtendNames(arrList,beginCount, pageCount, userId);
|
||||
total = userFileService.selectCountNotInExtendNames(arrList,beginCount, pageCount, userId);
|
||||
} else {
|
||||
fileList = userFileService.selectFileByExtendName(UFOPUtils.getFileExtendsByType(fileType), beginCount, pageCount,userId);
|
||||
total = userFileService.selectCountByExtendName(UFOPUtils.getFileExtendsByType(fileType), beginCount, pageCount,userId);
|
||||
}
|
||||
|
||||
IPage<FileListVo> result = userFileService.getFileByFileType(fileType, currentPage, pageCount, userId);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("list",fileList);
|
||||
map.put("total", total);
|
||||
map.put("list", result.getRecords());
|
||||
map.put("total", result.getTotal());
|
||||
return RestResult.success().data(map);
|
||||
|
||||
}
|
||||
@ -512,7 +488,6 @@ public class FileController {
|
||||
fileService.updateById(fileBean);
|
||||
} catch (Exception e) {
|
||||
throw new QiwenException(999999, "修改文件异常");
|
||||
// log.error(e.getMessage());
|
||||
} finally {
|
||||
try {
|
||||
byteArrayInputStream.close();
|
||||
|
@ -0,0 +1,28 @@
|
||||
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 2021/12/23 19:48
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "fileclassification")
|
||||
@Entity
|
||||
@TableName("fileclassification")
|
||||
public class FileClassification {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@TableId(type = IdType.AUTO)
|
||||
@Column(columnDefinition="bigint(20)")
|
||||
private Long fileClassificationId;
|
||||
private Integer fileTypeId;
|
||||
private String fileExtendName;
|
||||
}
|
29
src/main/java/com/qiwenshare/file/domain/FileExtend.java
Normal file
29
src/main/java/com/qiwenshare/file/domain/FileExtend.java
Normal file
@ -0,0 +1,29 @@
|
||||
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 2021/12/20 20:16
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "fileextend")
|
||||
@Entity
|
||||
@TableName("fileextend")
|
||||
public class FileExtend {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||
@TableId(type = IdType.AUTO)
|
||||
private String fileExtendName;
|
||||
|
||||
private String fileExtendDesc;
|
||||
|
||||
private String fileExtendImgUrl;
|
||||
}
|
@ -1,26 +1,27 @@
|
||||
/**
|
||||
*
|
||||
* (c) Copyright Ascensio System SIA 2021
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.qiwenshare.file.domain;
|
||||
|
||||
public enum FileType
|
||||
{
|
||||
Word,
|
||||
Cell,
|
||||
Slide
|
||||
}
|
||||
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 2021/12/23 22:11
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "filetype")
|
||||
@Entity
|
||||
@TableName("filetype")
|
||||
public class FileType {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Integer fileTypeId;
|
||||
private String fileTypeName;
|
||||
private Integer orderNum;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ package com.qiwenshare.file.helper;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.qiwenshare.file.domain.FileType;
|
||||
import com.qiwenshare.file.constant.FileType;
|
||||
import org.primeframework.jwt.Signer;
|
||||
import org.primeframework.jwt.Verifier;
|
||||
import org.primeframework.jwt.domain.JWT;
|
||||
|
@ -20,7 +20,7 @@ package com.qiwenshare.file.helper;
|
||||
|
||||
|
||||
|
||||
import com.qiwenshare.file.domain.FileType;
|
||||
import com.qiwenshare.file.constant.FileType;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
|
@ -12,14 +12,6 @@ public interface FileMapper extends BaseMapper<FileBean> {
|
||||
|
||||
void batchInsertFile(List<FileBean> fileBeanList);
|
||||
|
||||
void incPointCountByPathAndName(@Param("oldFilePath") String oldFilePath,
|
||||
@Param("fileName") String fileName,
|
||||
@Param("extendName") String extendName,
|
||||
@Param("userId") long userId);
|
||||
|
||||
void incPointCountByByFilepath(@Param("oldFilePath") String oldFilePath,
|
||||
@Param("userId") long userId);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
13
src/main/java/com/qiwenshare/file/mapper/FileTypeMapper.java
Normal file
13
src/main/java/com/qiwenshare/file/mapper/FileTypeMapper.java
Normal file
@ -0,0 +1,13 @@
|
||||
package com.qiwenshare.file.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.qiwenshare.file.domain.FileType;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface FileTypeMapper extends BaseMapper<FileType> {
|
||||
List<String> selectExtendNameByFileType(@Param("fileTypeId") Integer fileTypeId);
|
||||
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
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;
|
||||
@ -27,7 +29,7 @@ public interface UserFileMapper extends BaseMapper<UserFile> {
|
||||
@Param("newFilePath") String newfilePath,
|
||||
@Param("userId") long userId);
|
||||
|
||||
List<FileListVo> selectFileByExtendName(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
IPage<FileListVo> selectFileByExtendName(Page<?> page, List<String> fileNameList, long userId);
|
||||
Long selectCountByExtendName(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
List<FileListVo> selectFileNotInExtendNames(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
Long selectCountNotInExtendNames(List<String> fileNameList, Long beginCount, Long pageCount, long userId);
|
||||
|
@ -53,23 +53,6 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
@Resource
|
||||
FileDealComp fileDealComp;
|
||||
|
||||
// @Override
|
||||
// public void increaseFilePointCount(Long fileId) {
|
||||
// FileBean fileBean = fileMapper.selectById(fileId);
|
||||
// if (fileBean == null) {
|
||||
// log.error("文件不存在,fileId : {}", fileId );
|
||||
// return;
|
||||
// }
|
||||
// fileBean.setPointCount(fileBean.getPointCount()+1);
|
||||
// fileMapper.updateById(fileBean);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void decreaseFilePointCount(Long fileId) {
|
||||
// FileBean fileBean = fileMapper.selectById(fileId);
|
||||
// fileBean.setPointCount(fileBean.getPointCount()-1);
|
||||
// fileMapper.updateById(fileBean);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public Long getFilePointCount(Long fileId) {
|
||||
@ -154,7 +137,6 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
|
||||
List<FileBean> list = fileMapper.selectByMap(param);
|
||||
if (list != null && !list.isEmpty()) { //文件已存在
|
||||
// increaseFilePointCount(list.get(0).getFileId());
|
||||
saveUserFile.setFileId(list.get(0).getFileId());
|
||||
} else { //文件不存在
|
||||
fileInputStream1 = new FileInputStream(currentFile);
|
||||
@ -163,7 +145,6 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
String saveFileUrl = ufopFactory.getCopier().copy(fileInputStream1, createFile);
|
||||
tempFileBean.setFileSize(currentFile.length());
|
||||
tempFileBean.setFileUrl(saveFileUrl);
|
||||
// tempFileBean.setPointCount(1);
|
||||
tempFileBean.setStorageType(storageType);
|
||||
tempFileBean.setIdentifier(md5Str);
|
||||
fileMapper.insert(tempFileBean);
|
||||
@ -211,9 +192,6 @@ public class FileService extends ServiceImpl<FileMapper, FileBean> implements IF
|
||||
saveUserFile.setDeleteFlag(0);
|
||||
|
||||
if (unzipMode == 1) {
|
||||
// String destFilePath = "/" + userFile.getFilePath() + saveUserFile.getFilePath();
|
||||
// saveUserFile.setFilePath(destFilePath);
|
||||
|
||||
saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(userFile.getFilePath() + userFile.getFileName() + "/" + entryName.replace(currentFile.getName(), "")).replace("\\", "/"));
|
||||
} else if(unzipMode == 2) {
|
||||
saveUserFile.setFilePath(UFOPUtils.pathSplitFormat(filePath + entryName.replace(currentFile.getName(), "")).replace("\\", "/"));
|
||||
|
@ -3,6 +3,8 @@ package com.qiwenshare.file.service;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
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.common.constant.FileConstant;
|
||||
import com.qiwenshare.common.util.DateUtil;
|
||||
@ -10,6 +12,7 @@ import com.qiwenshare.file.api.IUserFileService;
|
||||
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.vo.file.FileListVo;
|
||||
@ -18,6 +21,7 @@ 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;
|
||||
@ -33,6 +37,8 @@ public class UserFileService extends ServiceImpl<UserFileMapper, UserFile> impl
|
||||
FileMapper fileMapper;
|
||||
@Resource
|
||||
RecoveryFileMapper recoveryFileMapper;
|
||||
@Resource
|
||||
FileTypeMapper fileTypeMapper;
|
||||
|
||||
public static Executor executor = Executors.newFixedThreadPool(20);
|
||||
|
||||
@ -116,7 +122,7 @@ public class UserFileService extends ServiceImpl<UserFileMapper, UserFile> impl
|
||||
}
|
||||
|
||||
userFileMapper.batchInsertByPathAndName(oldfilePath, newfilePath, fileName, extendName, userId);
|
||||
fileMapper.incPointCountByPathAndName(newfilePath, fileName, extendName, userId);
|
||||
|
||||
|
||||
//移动子目录
|
||||
oldfilePath = oldfilePath + fileName + "/";
|
||||
@ -129,15 +135,21 @@ public class UserFileService extends ServiceImpl<UserFileMapper, UserFile> impl
|
||||
|
||||
if (extendName == null) { //为null说明是目录,则需要移动子目录
|
||||
userFileMapper.batchInsertByFilepath(oldfilePath, newfilePath, userId);
|
||||
fileMapper.incPointCountByByFilepath(oldfilePath, userId);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<FileListVo> selectFileByExtendName(List<String> fileNameList, Long beginCount, Long pageCount, long userId) {
|
||||
return userFileMapper.selectFileByExtendName(fileNameList, beginCount, pageCount, userId);
|
||||
public IPage<FileListVo> getFileByFileType(Integer fileTypeId, Long currentPage, Long pageCount, long userId) {
|
||||
Page<FileListVo> page = new Page<>(currentPage, pageCount);
|
||||
|
||||
List<String> extendNameList = fileTypeMapper.selectExtendNameByFileType(fileTypeId);
|
||||
if (extendNameList != null && extendNameList.isEmpty()) {
|
||||
return page;
|
||||
}
|
||||
return userFileMapper.selectFileByExtendName(page, extendNameList, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,4 +3,165 @@ insert ignore into user (userId, username, telephone, salt, password, available)
|
||||
INSERT ignore INTO `role` (`roleid`, `available`, `description`, `roleName`, `createTime`, `createUserId`, `modifyTime`, `modifyUserId`) VALUES (1, 1, '超级管理员', '超级管理员', NULL, NULL, '2021-11-10 20:46:06', NULL);
|
||||
INSERT ignore INTO `role` (`roleid`, `available`, `description`, `roleName`, `createTime`, `createUserId`, `modifyTime`, `modifyUserId`) VALUES (2, 1, '普通用户', '普通用户', NULL, NULL, NULL, NULL);
|
||||
|
||||
insert ignore into sysparam (sysParamId, sysParamKey, sysParamValue, sysParamDesc) values (1, 'totalStorageSize', '1024', '总存储大小(单位M)');
|
||||
insert ignore into sysparam (sysParamId, sysParamKey, sysParamValue, sysParamDesc) values (1, 'totalStorageSize', '1024', '总存储大小(单位M)');
|
||||
|
||||
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (0, '全部');
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (1, '图片');
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (2, '文档');
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (3, '视频');
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (4, '音乐');
|
||||
INSERT INTO `filetype` (`fileTypeId`, `fileTypeName`) VALUES (5, '其他');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('bmp');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('jpg');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('png');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('tif');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('gif');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('jpeg');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('doc');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('docx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('docm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('dot');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('dotx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('dotm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('odt');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('fodt');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ott');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('rtf');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('txt');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('html');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('htm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mht');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xml');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('pdf');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('djvu');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('fb2');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('epub');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xps');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xls');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xlsx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xlsm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xlt');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xltx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('xltm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ods');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('fods');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ots');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('csv');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('pps');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ppsx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ppsm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ppt');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('pptx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('pptm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('pot');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('potx');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('potm');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('odp');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('fodp');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('otp');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('hlp');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('wps');
|
||||
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('avi');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mp4');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mpg');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mov');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('swf');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('wav');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('aif');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('au');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mp3');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('ram');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('wma');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('mmf');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('amr');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('aac');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('flac');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('java');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('js');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('css');
|
||||
INSERT INTO `fileextend` (`fileExtendName`) VALUES ('json');
|
||||
|
||||
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (1, 1, 'bmp');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (2, 1, 'jpg');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (3, 1, 'png');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (4, 1, 'tif');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (5, 1, 'gif');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (6, 1, 'jpeg');
|
||||
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (7, 2, 'doc');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (8, 2, 'docx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (9, 2, 'docm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (10, 2, 'dot');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (11, 2, 'dotx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (12, 2, 'dotm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (13, 2, 'odt');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (14, 2, 'fodt');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (15, 2, 'ott');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (16, 2, 'rtf');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (17, 2, 'txt');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (18, 2, 'html');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (19, 2, 'htm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (20, 2, 'mht');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (21, 2, 'xml');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (22, 2, 'pdf');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (23, 2, 'djvu');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (24, 2, 'fb2');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (25, 2, 'epub');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (26, 2, 'xps');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (27, 2, 'xls');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (28, 2, 'xlsx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (29, 2, 'xlsm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (30, 2, 'xlt');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (31, 2, 'xltx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (32, 2, 'xltm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (33, 2, 'ods');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (34, 2, 'fods');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (35, 2, 'ots');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (36, 2, 'csv');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (37, 2, 'pps');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (38, 2, 'ppsx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (39, 2, 'ppsm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (40, 2, 'ppt');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (41, 2, 'pptx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (42, 2, 'pptm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (43, 2, 'pot');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (44, 2, 'potx');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (45, 2, 'potm');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (46, 2, 'odp');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (47, 2, 'fodp');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (48, 2, 'otp');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (49, 2, 'hlp');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (50, 2, 'wps');
|
||||
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (51, 2, 'java');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (52, 2, 'js');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (53, 2, 'css');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (54, 2, 'json');
|
||||
|
||||
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (55, 3, 'avi');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (56, 3, 'mp4');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (57, 3, 'mpg');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (58, 3, 'mov');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (59, 3, 'swf');
|
||||
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (60, 4, 'wav');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (61, 4, 'aif');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (62, 4, 'au');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (63, 4, 'mp3');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (64, 4, 'ram');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (65, 4, 'wma');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (66, 4, 'mmf');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (67, 4, 'amr');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (68, 4, 'aac');
|
||||
INSERT INTO `fileclassification` (`fileClassificationId`, `fileTypeId`, `fileExtendName`) VALUES (69, 4, 'flac');
|
||||
|
||||
|
||||
|
@ -17,40 +17,5 @@
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="incPointCountByPathAndName">
|
||||
update file
|
||||
set pointCount = pointCount + 1
|
||||
where fileId in (
|
||||
select fileId from userfile
|
||||
<where>
|
||||
<if test="userId != 0">
|
||||
and userId = #{userId}
|
||||
</if>
|
||||
<if test="fileName != null">
|
||||
and fileName = #{fileName}
|
||||
</if>
|
||||
<if test="oldFilePath != null">
|
||||
and filePath = #{oldFilePath}
|
||||
</if>
|
||||
<if test="extendName != null">
|
||||
and extendName = #{extendName}
|
||||
</if>
|
||||
and isDir = 0
|
||||
</where>
|
||||
)
|
||||
</update>
|
||||
|
||||
<update id="incPointCountByByFilepath">
|
||||
update file
|
||||
set pointCount = pointCount + 1
|
||||
where fileId in (
|
||||
select fileId from userfile
|
||||
where
|
||||
filePath like N'${oldFilePath}%'
|
||||
and userId = #{userId}
|
||||
and isDir = 0
|
||||
|
||||
)
|
||||
</update>
|
||||
|
||||
</mapper>
|
24
src/main/resources/mapper/FileTypeMapper.xml
Normal file
24
src/main/resources/mapper/FileTypeMapper.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?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.FileTypeMapper">
|
||||
|
||||
<select id="selectExtendNameByFileType" parameterType="java.lang.String" resultType="java.lang.String">
|
||||
select fileExtendName from fileclassification
|
||||
<where>
|
||||
<choose>
|
||||
<when test="fileTypeId != 5">
|
||||
fileTypeId = #{fileTypeId}
|
||||
</when>
|
||||
<otherwise>
|
||||
fileTypeId not in (1,2,3,4)
|
||||
</otherwise>
|
||||
|
||||
</choose>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -60,8 +60,13 @@
|
||||
<select id="selectFileByExtendName" parameterType="com.qiwenshare.file.domain.UserFile" resultType="com.qiwenshare.file.vo.file.FileListVo">
|
||||
select * from userfile
|
||||
left join image on userfile.fileId = image.fileId
|
||||
<include refid="selectByExtendName"></include>
|
||||
limit #{beginCount}, #{pageCount}
|
||||
left join file on file.fileId = userfile.fileId
|
||||
where extendName in
|
||||
<foreach collection="fileNameList" open="(" close=")" separator="," item="fileName" >
|
||||
#{fileName}
|
||||
</foreach>
|
||||
and userId = #{userId}
|
||||
and deleteFlag = 0
|
||||
</select>
|
||||
|
||||
<select id="selectCountByExtendName" parameterType="com.qiwenshare.file.domain.UserFile" resultType="java.lang.Long">
|
||||
|
Loading…
Reference in New Issue
Block a user