Compare commits

...

3 Commits

Author SHA1 Message Date
liang.chao d5997b427e 接口联调 2025-11-10 10:19:28 +08:00
liang.chao f0f96e1673 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	bonus-business/src/main/java/com/bonus/business/service/impl/DocumentScreenImpl.java
2025-11-10 10:16:02 +08:00
liang.chao a629a8ef96 接口联调 2025-11-10 10:15:19 +08:00
7 changed files with 152 additions and 128 deletions

View File

@ -17,7 +17,10 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 稳文档标签管理
@ -31,6 +34,7 @@ public class DockerLabelController extends BaseController {
/**
* 分页查询标签列表
*
* @param vo
* @return
*/
@ -42,8 +46,35 @@ public class DockerLabelController extends BaseController {
return getDataTable(list);
}
/**
* 分页查询标签列表
*
* @param vo
* @return
*/
@PreAuthorize("@ss.hasPermi('tb:label:select')")
@GetMapping("/listSelect")
public AjaxResult listSelect(TbFileLabel vo) {
List<TbFileLabel> list = service.selectLabelList(vo);
Map<String, List<Map<String, String>>> map = list.stream()
.collect(Collectors.groupingBy(
item -> item.getTypeName(),
Collectors.mapping(
item -> {
Map<String, String> m = new HashMap<>();
m.put("typeId", item.getTypeId().toString());
m.put("labelName", item.getLabelName());
return m;
},
Collectors.toList()
)
));
return AjaxResult.success(map);
}
/**
* 下拉选集合
*
* @param vo
* @return
*/
@ -55,6 +86,7 @@ public class DockerLabelController extends BaseController {
/**
* 新增文档标签
*
* @param vo
* @return
*/
@ -63,7 +95,7 @@ public class DockerLabelController extends BaseController {
@PostMapping("/addLabel")
public AjaxResult addLabel(@RequestBody TbFileLabel vo) {
try {
return service.addLabel(vo);
return service.addLabel(vo);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return error("系统异常,请联系管理员");
@ -72,6 +104,7 @@ public class DockerLabelController extends BaseController {
/**
* 修改文档标签
*
* @param vo
* @return
*/
@ -80,7 +113,7 @@ public class DockerLabelController extends BaseController {
@PostMapping("/updateLabel")
public AjaxResult updateLabel(@RequestBody TbFileLabel vo) {
try {
return service.updateLabel(vo);
return service.updateLabel(vo);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return error("系统异常,请联系管理员");
@ -89,6 +122,7 @@ public class DockerLabelController extends BaseController {
/**
* 删除文档标签
*
* @param vo
* @return
*/
@ -97,7 +131,7 @@ public class DockerLabelController extends BaseController {
@PostMapping("/delete")
public AjaxResult delete(@RequestBody TbFileLabel vo) {
try {
return service.delete(vo);
return service.delete(vo);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return error("系统异常,请联系管理员");

View File

@ -84,4 +84,6 @@ public class DocumentController extends BaseController {
return service.delDocument(vo);
}
}

View File

@ -35,9 +35,9 @@ public class DocumentScreenController extends BaseController {
@PreAuthorize("@ss.hasPermi('tb:document:list')")
@GetMapping("/list")
public TableDataInfo list(TbFolderFileVo vo) {
if("2".equals(vo.getType())){
/* if("2".equals(vo.getType())){
vo.setId(vo.getId().split("_")[2]);
}
}*/
startPage();
List<TbFolderFileVo> list = service.getFileFolderList(vo);
return getDataTable(list);

View File

@ -68,6 +68,10 @@ public class DocumentTreeVo {
* 数据类型
*/
private String datType;
/**
* 文件类型(0 文件夹 1文件)
*/
private Integer fileType;
}

View File

@ -48,7 +48,7 @@ public class TreeBuild {
// treeNode查询出的每一条数据节点
for (DocumentTreeVo treeNode : nodeList){
// 判断当前节点是否为根节点此处注意若parentId类型是String则要采用equals()方法判断
if (parentId.equals(treeNode.getParent()) ) {
if (parentId.equals(treeNode.getParentId()) ) {
if("1".equals(isAdmin) && "1".equals(treeNode.getDatType())){
// 添加
rootNodeList.add(treeNode);
@ -124,7 +124,7 @@ public class TreeBuild {
// nodeList所有节点集合所有数据
for (DocumentTreeVo treeNode : nodeList) {
// 判断当前节点的父节点ID是否等于根节点的ID即当前节点为其下的子节点
if (treeNode.getParent().equals(pNode.getExeId())) {
if (treeNode.getParentId().equals(pNode.getId())) {
// 再递归进行判断当前节点的情况调用自身方法
childTree.add(buildChildTree1(treeNode));
}
@ -134,4 +134,4 @@ public class TreeBuild {
return pNode;
}
}
}

View File

@ -101,7 +101,7 @@ public class DocumentScreenImpl implements DocumentScreenService {
}else {
vo.setParentId(vo.getParentId().split("_")[2]);
}
vo.setParentIds(vo.getParentIds()+vo.getParentId()+",");
vo.setParentIds(vo.getParentIds()+vo.getParentId()+",");
/**
* 查询文件夹名称是否重复
*/
@ -321,7 +321,7 @@ public class DocumentScreenImpl implements DocumentScreenService {
String userId=SecurityUtils.getUserId().toString();
vo.setUserId(userId);
if("1".equals(vo.getType())){
return AjaxResult.success("当前文件夹没权限共享");
return AjaxResult.success("当前文件夹没权限共享");
}else{
//
vo.setId(vo.getId().split("_")[2]);
@ -395,25 +395,25 @@ public class DocumentScreenImpl implements DocumentScreenService {
@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())){
//父节点更新
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{
}else{
vo.setId(vo.getId().split("_")[2]);
//查询当前节点下全部信息
//重新添加头部信息
getTreeList(vo);
vo.setId(vo.getId().split("_")[2]);
//查询当前节点下全部信息
//重新添加头部信息
getTreeList(vo);
}
return AjaxResult.success("添加副本成功");
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.success("添加副本成功");
}catch (Exception e){
log.error(e.toString(),e);
}
return AjaxResult.error("副本添加失败");
}
@ -444,7 +444,7 @@ public class DocumentScreenImpl implements DocumentScreenService {
//图片压缩包
List<UploadFileVo> fileVoList=new ArrayList<>();
String packageName =DateUtils.getYMDDate()+ "下载压缩包.zip";
// String url=minioUtil.downloadFilesAsZip(null,fileVoList,packageName);
// String url=minioUtil.downloadFilesAsZip(null,fileVoList,packageName);
minioUtil.fileDownload("",response);
//删除指定文件
minioUtil.deleteObject("");
@ -474,51 +474,51 @@ public class DocumentScreenImpl implements DocumentScreenService {
}
//第一节点直接存储到父节点
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);
}
}
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{
//目标路径
@ -574,17 +574,17 @@ public class DocumentScreenImpl implements DocumentScreenService {
* @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);
}
vo2.setChild(childer);
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);
}
return childer;
vo2.setChild(childer);
}
return childer;
}
private TbDocumentFolder getTbDocumentFolder(TbFolderFileVo vo, TbFolderFileVo data) {
@ -608,35 +608,35 @@ public class DocumentScreenImpl implements DocumentScreenService {
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);
}
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, ".");
//产品 封面
filePath =filePath+uuid + "." + suffix;
filePath =filePath+uuid + "." + suffix;
String path=service.uploadFile(file, filePath);
if(path==null){
return AjaxResult.error("文件上传失败");
@ -693,20 +693,4 @@ public class DocumentScreenImpl implements DocumentScreenService {
else return String.format("%.2f MB", bytes / (1024 * 1024.0));
}
}

View File

@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
)
</insert>
<insert id="addDocumentRealUser">
replace into tb_public_real_user(
replace into tb_public_real_user(
public_folder_id, user_id, user_folder_id,auth, share_user_id, data_type
)values (#{publicFolderId},#{userId},#{id},#{auth},#{shareUserId},#{dataType})
</insert>
@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id=#{id}
</update>
<select id="getPublicFolderList" resultType="com.bonus.business.domain.DocumentTreeVo">
select tpf.id,level,tpf.folder_name name,tpf.parent_id parentId,tpf.parent_ids parentIds,1 type
select tpf.id,level,tpf.folder_name name,tpf.parent_id parentId,tpf.parent_ids parentIds,file_type fileType,1 type
from tb_public_folder tpf
<if test='isAdmin!="1" or isAdmin!=1 '>
left join tb_public_folder_auth auth on auth.folder_id=tpf.id
@ -75,9 +75,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<!--查询用户文件夹结合-->
<select id="getUserFolderList" resultType="com.bonus.business.domain.DocumentTreeVo">
SELECT folder.id exeId ,folder.level,folder.folder_name name,folder.parent_id parent,2 type,folder.parent_ids parentIds,
folder.file_suffix,pru.user_id,pru.public_folder_id parentId,pru.auth ,pru.share_user_id,
concat(pru.public_folder_id,"_",pru.user_id,"_",folder.id) id
SELECT folder.id,folder.level,folder.folder_name name,folder.parent_id parentId,2 type,folder.parent_ids parentIds,
folder.file_suffix,pru.user_id,pru.auth ,pru.share_user_id,file_type fileType,
concat(pru.public_folder_id,"_",pru.user_id,"_",folder.id) exeId
from tb_user_document_folder folder
left join tb_public_real_user pru on folder.id=pru.user_folder_id
where folder.file_type=0
@ -189,4 +189,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE file_id=#{id}
</select>
</mapper>
</mapper>