Merge remote-tracking branch 'origin/main'

# Conflicts:
#	bonus-business/src/main/java/com/bonus/business/service/impl/DocumentScreenImpl.java
This commit is contained in:
liang.chao 2025-11-10 10:16:02 +08:00
commit f0f96e1673
2 changed files with 280 additions and 263 deletions

View File

@ -36,138 +36,133 @@ public class DocumentScreenImpl implements DocumentScreenService {
private MinioUtil minioUtil;
protected String dataIds = ",companyDocument,myDocument,myShare,otherShare,share,";
protected String dataIds=",companyDocument,myDocument,myShare,otherShare,share,";
protected String day = DateUtils.getCurrentDay();
protected String day= DateUtils.getCurrentDay();
protected String month = DateUtils.getCurrentMonth();
protected String month=DateUtils.getCurrentMonth();
protected String year = DateUtils.getCurrentYear();
protected String separator = "/";
protected String year=DateUtils.getCurrentYear();
protected String separator="/";
/**
* 查询文档中心树
*
* @param vo
* @return
*/
@Override
public AjaxResult getDocumentTree(DocumentTreeVo vo) {
try {
String userId = SecurityUtils.getUserId().toString();
try{
String userId= SecurityUtils.getUserId().toString();
vo.setUserId(userId);
// 是否是管理员
boolean administrator = SecurityUtils.hasRole("administrator");
boolean admin = SecurityUtils.hasRole("admin");
boolean administrator=SecurityUtils.hasRole("administrator");
boolean admin=SecurityUtils.hasRole("admin");
//管理员
if (administrator || admin) {
if(administrator || admin){
vo.setIsAdmin("1");
}
List<DocumentTreeVo> allList = mapper.getPublicFolderList(vo);
List<DocumentTreeVo> allList=mapper.getPublicFolderList(vo);
List<DocumentTreeVo> childeList = mapper.getUserFolderList(vo);
List<DocumentTreeVo> childeList=mapper.getUserFolderList(vo);
//查询 子节点集合
TreeBuild treeBuild1 = new TreeBuild(childeList);
List<DocumentTreeVo> childeList2 = treeBuild1.buildTree1("0", vo.getIsAdmin());
List<DocumentTreeVo> childeList2=treeBuild1.buildTree1("0",vo.getIsAdmin());
allList.addAll(childeList2);
//查询 子节点集合
TreeBuild treeBuild = new TreeBuild(allList);
List<DocumentTreeVo> list = treeBuild.buildTree("0");
List<DocumentTreeVo> list=treeBuild.buildTree("0");
return AjaxResult.success(list);
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.success(new ArrayList<>());
}
/**
* 新建文件夹
*
* @param vo
* @return
*/
@Override
public AjaxResult addDocument(TbDocumentFolder vo) {
try {
String userId = SecurityUtils.getUserId().toString();
try{
String userId=SecurityUtils.getUserId().toString();
vo.setCreateUser(userId);
vo.setUpdateUser(userId);
vo.setUserId(userId);
vo.setId(StringUtils.randomUUID());
//类型
String type = vo.getType();
String type=vo.getType();
vo.setFileType("0");
// 如果上级节点是public 数据 parentId设置为新的起点 0
if ("1".equals(type)) {
if("1".equals(type)){
vo.setPublicFolderId(vo.getParentId());
vo.setParentId("0");
}else {
vo.setParentId(vo.getParentId().split("_")[2]);
}
vo.setParentIds(vo.getParentIds() + vo.getParentId() + ",");
vo.setParentIds(vo.getParentIds()+vo.getParentId()+",");
/**
* 查询文件夹名称是否重复
*/
Integer num = mapper.getDocumentByNum(vo);
if (num != null && num > 0) {
Integer num= mapper.getDocumentByNum(vo);
if(num!=null && num>0){
return AjaxResult.error("文件夹名称已存在");
}
Integer num2 = mapper.addDocumentCompany(vo);
if ("1".equals(type)) {
Integer num2= mapper.addDocumentCompany(vo);
if("1".equals(type)){
vo.setAuthType("4");
//创建的都是4
vo.setDataType("1");
Integer num3 = mapper.addDocumentRealUser(vo);
if (num3 != null && num3 > 0) {
Integer num3= mapper.addDocumentRealUser(vo);
if(num3!=null && num3>0){
return AjaxResult.success("添加成功");
} else {
}else{
return AjaxResult.error("添加失败");
}
}
if (num2 != null && num2 > 0) {
if(num2!=null && num2>0){
return AjaxResult.success("添加成功");
}
return AjaxResult.success("添加成功");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("添加失败");
}
/**
* 导入文件
*
* @param file
* @param vo
* @return
*/
@Override
public AjaxResult importFile(MultipartFile[] file, TbUserFiles vo) {
try {
if (file == null || file.length == 0) {
try{
if(file==null ||file.length==0){
return AjaxResult.error("请上传附件");
}
if (StringUtils.isEmpty(vo.getFolderId())) {
if(StringUtils.isEmpty(vo.getFolderId())){
return AjaxResult.error("选择文件夹");
}
if (StringUtils.isEmpty(vo.getType())) {
if(StringUtils.isEmpty(vo.getType())){
return AjaxResult.error("文件夹类型不能为空");
}
/* if ("2".equals(vo.getType())) {
if("2".equals(vo.getType())){
vo.setId(vo.getId().split("_")[2]);
}*/
}
vo.setUploadUser(SecurityUtils.getUserId().toString());
vo.setCreateUser(SecurityUtils.getUserId().toString());
String repeatType = vo.getRepeatType();
String repeatType=vo.getRepeatType();
//创建文件
List<TbUserFiles> list = mapper.getDocumentFileList(vo);
List<MultipartFile> fileList = new ArrayList<>(file.length);
List<TbUserFiles> delete = new ArrayList<>();
List<TbUserFiles> list=mapper.getDocumentFileList(vo);
List<MultipartFile> fileList=new ArrayList<>(file.length);
List<TbUserFiles> delete=new ArrayList<>();
//是否覆盖之前的数据
if ("1".equals(repeatType)) {
if("1".equals(repeatType)){
//跳过
for (MultipartFile multipartFile : file) {
String originFileName = multipartFile.getOriginalFilename();
@ -183,7 +178,7 @@ public class DocumentScreenImpl implements DocumentScreenService {
fileList.add(multipartFile);
}
}
} else {
}else{
//覆盖
for (MultipartFile multipartFile : file) {
String originFileName = multipartFile.getOriginalFilename();
@ -203,69 +198,67 @@ public class DocumentScreenImpl implements DocumentScreenService {
service.delFile(tbUserFiles.getFilePath());
}
//删除文件
if (delete.size() > 0){
mapper.deleteCompanyFile(delete);
}
AjaxResult result = uploadFile(fileList, vo);
mapper.deleteCompanyFile(delete);
AjaxResult result=uploadFile(fileList,vo);
// 文件上传
if (result.isError()) {
if(result.isError()){
return result;
}
return AjaxResult.success("上传成功");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("文件上传失败");
}
/**
*
* @param vo
* @return
*/
@Override
public List<TbFolderFileVo> getFileFolderList(TbFolderFileVo vo) {
try {
List<TbFolderFileVo> list = mapper.getFileFolderList(vo);
try{
List<TbFolderFileVo> list=mapper.getFileFolderList(vo);
//进行数据查看进行插入数据
int num = mapper.getLookNum(vo);
int num=mapper.getLookNum(vo);
num++;
vo.setReadNum(num + "");
vo.setReadNum(num+"");
mapper.updateLookNum(vo);
return list;
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return Collections.emptyList();
}
/**
* 移动文件/文件夹
*
* @param vo
* @return
*/
@Override
public AjaxResult moveFile(TbFolderFileVo vo) {
try {
try{
//父节点更新
vo.setParentIds(vo.getParentIds().replace("," + vo.getParentId() + ",", "," + vo.getNewParentId() + ","));
String userId = SecurityUtils.getUserId().toString();
vo.setParentIds(vo.getParentIds().replace(","+vo.getParentId()+",",","+vo.getNewParentId()+","));
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if ("1".equals(vo.getType())) {
return AjaxResult.success("当前文件件不允许移动");
} else {
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件件不允许移动");
}else{
//
vo.setId(vo.getId().split("_")[2]);
//如果是初始化节点
if ("0".equals(vo.getParentId())) {
TbFolderFileVo data = mapper.getDocumentRealData(vo);
if ("1".equals(data.getDataType())) {
return AjaxResult.success("共享及分享的文件夹不允许移动");
TbFolderFileVo data=mapper.getDocumentRealData(vo);
if("1".equals(data.getDataType())){
return AjaxResult.success("共享及分享的文件夹不允许移动");
}
mapper.deleteDocumentReal(data);
TbDocumentFolder documentFolder = getTbDocumentFolder(vo, data);
mapper.addDocumentRealUser(documentFolder);
} else {
}else{
/**
* 更新夫节点id
*/
@ -273,67 +266,69 @@ public class DocumentScreenImpl implements DocumentScreenService {
}
}
return AjaxResult.success("移动成功");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("移动失败");
}
/**
*
* @param vo
* @return
*/
@Override
public AjaxResult delete(TbFolderFileVo vo) {
try {
try{
//父节点更新
String userId = SecurityUtils.getUserId().toString();
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if ("1".equals(vo.getType())) {
return AjaxResult.success("当前文件夹不允许删除");
} else {
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件夹不允许删除");
}else{
//
vo.setId(vo.getId().split("_")[2]);
//如果是初始化节点
if ("0".equals(vo.getParentId())) {
TbFolderFileVo data = mapper.getDocumentRealData(vo);
if ("1".equals(data.getDataType())) {
return AjaxResult.success("共享及分享的文件夹不允许删除");
TbFolderFileVo data=mapper.getDocumentRealData(vo);
if("1".equals(data.getDataType())){
return AjaxResult.success("共享及分享的文件夹不允许删除");
}
mapper.deleteDocumentReal(data);
} else {
}else{
mapper.deleteDocumentParentId(vo);
}
}
return AjaxResult.success("删除成功");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("删除失败");
}
/**
*
* @param vo
* @return
*/
@Override
public AjaxResult share(TbFolderFileVo vo) {
try {
try{
//父节点更新
String userId = SecurityUtils.getUserId().toString();
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if ("1".equals(vo.getType())) {
return AjaxResult.success("当前文件夹没权限共享");
} else {
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件夹没权限共享");
}else{
//
vo.setId(vo.getId().split("_")[2]);
TbDocumentFolder documentFolder = new TbDocumentFolder();
String[] ids = vo.getUserIds().split(",");
TbDocumentFolder documentFolder=new TbDocumentFolder();
String[] ids=vo.getUserIds().split(",");
//共享文件夹创建
for (String id : ids) {
for(String id:ids){
documentFolder.setDataType("3");
documentFolder.setPublicFolderId("otherShare");
documentFolder.setUserId(id);
@ -350,33 +345,32 @@ public class DocumentScreenImpl implements DocumentScreenService {
documentFolder.setId(vo.getId());
documentFolder.setAuth(vo.getAuth());
documentFolder.setShareUserId(userId);
Integer num = mapper.addDocumentRealUser(documentFolder);
if (num != null && num > 0) {
Integer num= mapper.addDocumentRealUser(documentFolder);
if(num!=null && num>0){
return AjaxResult.success("共享成功");
}
}
return AjaxResult.success("共享失败");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("共享失败");
}
/**
* 文件夹重命名
*
* @param vo
* @return
*/
@Override
public AjaxResult updateName(TbFolderFileVo vo) {
try {
try{
//父节点更新
String userId = SecurityUtils.getUserId().toString();
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if ("1".equals(vo.getType())) {
return AjaxResult.success("当前文件夹没有权限重命名");
} else {
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件夹没有权限重命名");
}else{
//
vo.setId(vo.getId().split("_")[2]);
vo.setUpdateUser(userId);
@ -384,167 +378,169 @@ public class DocumentScreenImpl implements DocumentScreenService {
mapper.updateName(vo);
}
return AjaxResult.success("删除成功");
} catch (Exception e) {
log.error(e.toString(), e);
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("删除失败");
}
/**
* 添加副本
*
* @param vo
* @return
*/
@Override
public AjaxResult copy(TbFolderFileVo vo) {
try {
//父节点更新
String userId = SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if (dataIds.contains(vo.getToId())) {
return AjaxResult.success("目标文件夹不允许创建副本");
}
if ("1".equals(vo.getType())) {
return AjaxResult.success("当前文件夹不允许添加副本");
} else {
vo.setId(vo.getId().split("_")[2]);
//查询当前节点下全部信息
//重新添加头部信息
getTreeList(vo);
}
return AjaxResult.success("添加副本成功");
} catch (Exception e) {
log.error(e.toString(), e);
try{
//父节点更新
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if(dataIds.contains(vo.getToId())){
return AjaxResult.success("目标文件夹不允许创建副本");
}
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件夹不允许添加副本");
}else{
vo.setId(vo.getId().split("_")[2]);
//查询当前节点下全部信息
//重新添加头部信息
getTreeList(vo);
}
return AjaxResult.success("添加副本成功");
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("副本添加失败");
}
/**
* 文件打包下载
*
* @param response
* @param dto
*/
@Override
public void downLoad(HttpServletResponse response, TbFolderFileVo dto) {
try {
List<TbFolderFileVo> list = new ArrayList<>();
String ids = dto.getDownIds();
List<String> idList = Arrays.asList(ids.split(","));
List<TbFolderFileVo> treeList = mapper.getList(idList);
try{
List<TbFolderFileVo> list=new ArrayList<>();
String ids=dto.getDownIds();
List<String> idList= Arrays.asList(ids.split(","));
List<TbFolderFileVo> treeList=mapper.getList(idList);
for (TbFolderFileVo vo2 : treeList) {
String uuid = StringUtils.randomUUID();
String uuid=StringUtils.randomUUID();
vo2.setNewId(uuid);
List<TbFolderFileVo> childer = getChilderList(vo2, list);
List<TbFolderFileVo> childer= getChilderList(vo2,list);
vo2.setChild(childer);
}
//全部数据集合--treeList 需要创建文件夹及文件
//图片压缩包
List<UploadFileVo> fileVoList = new ArrayList<>();
String packageName = DateUtils.getYMDDate() + "下载压缩包.zip";
// String url=minioUtil.downloadFilesAsZip(null,fileVoList,packageName);
minioUtil.fileDownload("", response);
List<UploadFileVo> fileVoList=new ArrayList<>();
String packageName =DateUtils.getYMDDate()+ "下载压缩包.zip";
// String url=minioUtil.downloadFilesAsZip(null,fileVoList,packageName);
minioUtil.fileDownload("",response);
//删除指定文件
minioUtil.deleteObject("");
} catch (Exception e) {
log.error(e.getMessage(), e);
}catch (Exception e){
log.error(e.getMessage(),e);
}
}
/**
* 依据id 查询全部子节点数据
*
* @param vo
* @return
*/
private void getTreeList(TbFolderFileVo vo) {
//子数据集合
List<TbFolderFileVo> list = new ArrayList<>();
String ids = vo.getId();
List<String> idList = Arrays.asList(ids.split(","));
List<TbFolderFileVo> treeList = mapper.getList(idList);
List<TbFolderFileVo> list=new ArrayList<>();
String ids=vo.getId();
List<String> idList= Arrays.asList(ids.split(","));
List<TbFolderFileVo> treeList=mapper.getList(idList);
for (TbFolderFileVo vo2 : treeList) {
String uuid = StringUtils.randomUUID();
String uuid=StringUtils.randomUUID();
vo2.setNewId(uuid);
List<TbFolderFileVo> childer = getChilderList(vo2, list);
List<TbFolderFileVo> childer= getChilderList(vo2,list);
vo2.setChild(childer);
}
//第一节点直接存储到父节点
if ("1".equals(vo.getToType())) {
TbDocumentFolder tbDocumentFolder = new TbDocumentFolder();
for (TbFolderFileVo vo2 : treeList) {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId("0");
tbDocumentFolder.setParentIds("0,");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName() + "_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if ("1".equals(vo2.getFileType())) {
List<TbUserLabel> labList = mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
//添加关联数据
tbDocumentFolder.setAuthType("4");
tbDocumentFolder.setDataType("1");
mapper.addDocumentRealUser(tbDocumentFolder);
}
for (TbFolderFileVo vo2 : list) {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId(vo2.getNewParentId());
tbDocumentFolder.setParentIds(vo2.getParentIds() + vo2.getNewParentId() + ",");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName() + "_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if ("1".equals(vo2.getFileType())) {
List<TbUserLabel> labList = mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
}
if("1".equals(vo.getToType())){
TbDocumentFolder tbDocumentFolder=new TbDocumentFolder();
for (TbFolderFileVo vo2 : treeList) {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId("0");
tbDocumentFolder.setParentIds("0,");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName()+"_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if("1".equals(vo2.getFileType())){
List<TbUserLabel> labList=mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
//添加关联数据
tbDocumentFolder.setAuthType("4");
tbDocumentFolder.setDataType("1");
mapper.addDocumentRealUser(tbDocumentFolder);
}
for (TbFolderFileVo vo2 : list) {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId(vo2.getNewParentId());
tbDocumentFolder.setParentIds(vo2.getParentIds()+vo2.getNewParentId()+",");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName()+"_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if("1".equals(vo2.getFileType())){
List<TbUserLabel> labList=mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
}
} else {
}else{
//目标路径
String parentId = vo.getToId();
TbDocumentFolder tbDocumentFolder = new TbDocumentFolder();
String parentId=vo.getToId();
TbDocumentFolder tbDocumentFolder=new TbDocumentFolder();
for (TbFolderFileVo vo2 : treeList) {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId(parentId);
tbDocumentFolder.setParentIds(vo2.getParentIds() + parentId + ",");
tbDocumentFolder.setParentIds(vo2.getParentIds()+parentId+",");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName() + "_副本");
tbDocumentFolder.setFolderName(vo2.getName()+"_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if ("1".equals(vo2.getFileType())) {
List<TbUserLabel> labList = mapper.getLabelsList(vo2);
if("1".equals(vo2.getFileType())){
List<TbUserLabel> labList=mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
}
@ -552,19 +548,19 @@ public class DocumentScreenImpl implements DocumentScreenService {
tbDocumentFolder.setId(vo2.getNewId());
tbDocumentFolder.setLevel(vo2.getLevel());
tbDocumentFolder.setParentId(vo2.getNewParentId());
tbDocumentFolder.setParentIds(vo2.getParentIds() + vo2.getNewParentId() + ",");
tbDocumentFolder.setParentIds(vo2.getParentIds()+vo2.getNewParentId()+",");
tbDocumentFolder.setFileType(vo2.getFileType());
tbDocumentFolder.setRemark(vo2.getRemark());
tbDocumentFolder.setFilePath(vo2.getFilePath());
tbDocumentFolder.setFolderName(vo2.getName() + "_副本");
tbDocumentFolder.setFolderName(vo2.getName()+"_副本");
tbDocumentFolder.setFileSuffix(vo2.getFileSuffix());
tbDocumentFolder.setLabels(vo2.getLabName());
tbDocumentFolder.setCreateUser(vo2.getCreateUser());
tbDocumentFolder.setUpdateUser(vo2.getUpdateUser());
mapper.addDocumentCompany(tbDocumentFolder);
//如果文件 需要copy标签
if ("1".equals(vo2.getFileType())) {
List<TbUserLabel> labList = mapper.getLabelsList(vo2);
if("1".equals(vo2.getFileType())){
List<TbUserLabel> labList=mapper.getLabelsList(vo2);
mapper.addDocumentLabels(labList);
}
}
@ -574,26 +570,25 @@ public class DocumentScreenImpl implements DocumentScreenService {
/**
* 查询数据集合
*
* @param vo2
* @return
*/
private List<TbFolderFileVo> getChilderList(TbFolderFileVo vo2, List<TbFolderFileVo> list) {
List<TbFolderFileVo> childer = mapper.getChilderList(vo2);
if (childer != null && !childer.isEmpty()) {
list.addAll(childer);
for (TbFolderFileVo vo : childer) {
String uuid = StringUtils.randomUUID();
vo.setNewId(uuid);
getChilderList(vo, list);
List<TbFolderFileVo> childer= mapper.getChilderList(vo2);
if(childer!=null && !childer.isEmpty()){
list.addAll(childer);
for (TbFolderFileVo vo : childer) {
String uuid=StringUtils.randomUUID();
vo.setNewId(uuid);
getChilderList(vo,list);
}
vo2.setChild(childer);
}
vo2.setChild(childer);
}
return childer;
return childer;
}
private TbDocumentFolder getTbDocumentFolder(TbFolderFileVo vo, TbFolderFileVo data) {
TbDocumentFolder documentFolder = new TbDocumentFolder();
TbDocumentFolder documentFolder=new TbDocumentFolder();
documentFolder.setPublicFolderId(vo.getNewParentId());
documentFolder.setAuthType(data.getAuth());
documentFolder.setUserId(data.getUserId());
@ -606,51 +601,50 @@ public class DocumentScreenImpl implements DocumentScreenService {
/**
* 上传附件
*
* @param
* @return
*/
public AjaxResult uploadFile(List<MultipartFile> multipartFileList, TbUserFiles files) {
String type = files.getType();
String filePath = "document/file/" + files.getUploadUser() + separator +
year + separator + month + separator + day + separator;
TbDocumentFolder documentFolder = new TbDocumentFolder();
//文件类型
String documentId = StringUtils.randomUUID();
documentFolder.setFileType("1");
documentFolder.setId(documentId);
documentFolder.setPublicFolderId(documentFolder.getParentId());
if ("1".equals(type)) {
documentFolder.setParentId("0");
} else {
documentFolder.setParentId(files.getParentId());
}
documentFolder.setParentIds(documentFolder.getParentIds() + documentFolder.getParentId() + ",");
//
String[] ids = files.getLabelIds().split(",");
String[] name = files.getLabels().split(",");
List<TbUserLabel> list = new ArrayList<TbUserLabel>();
TbUserLabel vo = new TbUserLabel();
for (int i = 0; i < ids.length; i++) {
vo.setFileId(documentId);
vo.setLabelId(ids[i]);
vo.setLabelName(name[i]);
list.add(vo);
}
for (MultipartFile file : multipartFileList) {
public AjaxResult uploadFile(List<MultipartFile> multipartFileList,TbUserFiles files){
String type=files.getType();
String filePath = "document/file/"+files.getUploadUser() +separator +
year + separator + month + separator + day +separator ;
TbDocumentFolder documentFolder=new TbDocumentFolder();
//文件类型
String documentId=StringUtils.randomUUID();
documentFolder.setFileType("1");
documentFolder.setId(documentId);
documentFolder.setPublicFolderId(documentFolder.getParentId());
if("1".equals(type)){
documentFolder.setParentId("0");
}else{
documentFolder.setParentId(files.getParentId());
}
documentFolder.setParentIds(documentFolder.getParentIds()+documentFolder.getParentId()+",");
//
String[] ids=files.getLabelIds().split(",");
String[] name= files.getLabels().split(",");
List<TbUserLabel> list=new ArrayList<TbUserLabel>();
TbUserLabel vo=new TbUserLabel();
for (int i = 0; i <ids.length ; i++) {
vo.setFileId(documentId);
vo.setLabelId(ids[i]);
vo.setLabelName(name[i]);
list.add(vo);
}
for (MultipartFile file: multipartFileList) {
String uuid = StringUtils.randomUUID();
String originFileName = file.getOriginalFilename();
String suffix = StringUtils.substringAfterLast(originFileName, ".");
String suffix=StringUtils.substringAfterLast(originFileName, ".");
//产品 封面
filePath = filePath + uuid + "." + suffix;
String path = service.uploadFile(file, filePath);
if (path == null) {
return AjaxResult.error("文件上传失败");
filePath =filePath+uuid + "." + suffix;
String path=service.uploadFile(file, filePath);
if(path==null){
return AjaxResult.error("文件上传失败");
}
files.setDelFlag("0");
files.setDownTimes(0);
files.setSeeTimes(0);
files.setFileName(uuid + "." + suffix);
files.setFileName(uuid+"." + suffix);
files.setFilePath(filePath);
files.setBucketName(path);
files.setOriginalName(originFileName);
@ -664,32 +658,32 @@ public class DocumentScreenImpl implements DocumentScreenService {
documentFolder.setFolderName(originFileName);
documentFolder.setFileSuffix(suffix);
documentFolder.setFilePath(filePath);
String userId = SecurityUtils.getUserId().toString();
String userId=SecurityUtils.getUserId().toString();
documentFolder.setCreateUser(userId);
documentFolder.setUpdateUser(userId);
//新增文档
Integer num = mapper.addDocumentCompany(documentFolder);
Integer num=mapper.addDocumentCompany(documentFolder);
//新增文档标签
mapper.addDocumentLabels(list);
if ("1".equals(type)) {
if("1".equals(type)){
documentFolder.setAuthType("4");
//创建的都是4
documentFolder.setDataType("1");
Integer num3 = mapper.addDocumentRealUser(documentFolder);
if (num3 != null && num3 > 0) {
Integer num3= mapper.addDocumentRealUser(documentFolder);
if(num3!=null && num3>0){
return AjaxResult.success();
} else {
}else{
return AjaxResult.error("添加失败");
}
}
if (num != null && num > 0) {
if(num!=null && num>0){
return AjaxResult.success();
} else {
}else{
return AjaxResult.error("添加失败");
}
}
return AjaxResult.success();
return AjaxResult.success();
}
// 辅助方法字节转可读格式
@ -700,4 +694,19 @@ public class DocumentScreenImpl implements DocumentScreenService {
}
}

View File

@ -84,9 +84,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<!--文件夹名称是否存在-->
<select id="getDocumentByNum" resultType="java.lang.Integer">
select count(1)
<if test='type=="1" or type==1 '>
select count(1)
from tb_user_document_folder udf
left join tb_public_real_user tpr on tpr.user_folder_id=udf.id and tpr.data_type=1
where del_flag=0 and file_type=0 and udf.folder_name=#{folderName} AND tpr.public_folder_id=#{publicFolderId}
</if>
<if test='type=="2" or type==2 '>
select count(1)
from tb_user_document_folder
where del_flag=0 and file_type=0 and folder_name=#{folderName}
where del_flag=0 and file_type=0 and folder_name=#{folderName} AND parent_id=#{parentId}
</if>
</select>
<!--查询文件夹数据集合-->
<select id="getDocumentFileList" resultType="com.bonus.business.domain.TbUserFiles">