|
|
@@ -1,6 +1,8 @@
|
|
|
package com.doc.biz.controller;
|
|
|
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
+import com.alibaba.fastjson2.JSONArray;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.doc.biz.domain.*;
|
|
|
import com.doc.biz.service.*;
|
|
|
import com.doc.biz.vo.MatchVO;
|
|
|
@@ -13,6 +15,8 @@ import com.doc.common.core.page.TableDataInfo;
|
|
|
import com.doc.common.enums.BusinessType;
|
|
|
import com.doc.common.enums.EventLevel;
|
|
|
import com.doc.common.utils.SecurityUtils;
|
|
|
+import com.doc.common.utils.StringUtils;
|
|
|
+import com.doc.common.utils.bean.BeanUtils;
|
|
|
import com.doc.common.utils.poi.ExcelUtil;
|
|
|
import io.swagger.annotations.*;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
@@ -46,6 +50,8 @@ public class DocDirController extends BaseController {
|
|
|
private IDocFavoriteService favoriteService;
|
|
|
@Resource
|
|
|
private IDocRecentService recentService;
|
|
|
+ @Resource
|
|
|
+ private IDocDirTemplateService dirTemplateService;
|
|
|
|
|
|
/**
|
|
|
* 获取顶层目录
|
|
|
@@ -308,6 +314,44 @@ public class DocDirController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 新建目录
|
|
|
+ */
|
|
|
+ @ApiOperation("根据模板新建目录")
|
|
|
+ @Log(title = "文档目录管理", businessType = BusinessType.INSERT)
|
|
|
+ @PostMapping("/tmpl/{tmplId}")
|
|
|
+ public AjaxResult tmpl(@PathVariable("tmplId") Long tmplId, @RequestBody DocDir docDir) {
|
|
|
+ AjaxResult result = add(docDir);
|
|
|
+ DocDirTemplate dirTemplate = dirTemplateService.selectDocDirTemplateByTmplId(tmplId);
|
|
|
+ String content = dirTemplate.getTmplContent();
|
|
|
+ if (StringUtils.isNotEmpty(content)) {
|
|
|
+ JSONArray jsonArray = JSONArray.parseArray(content);
|
|
|
+ children(jsonArray, docDir);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据模板新建目录
|
|
|
+ *
|
|
|
+ * @param jsonArray json数组
|
|
|
+ * @param dir 当前目录信息
|
|
|
+ */
|
|
|
+ private void children(JSONArray jsonArray, DocDir dir) {
|
|
|
+ for (int index = 0; index < jsonArray.size(); index++) {
|
|
|
+ JSONObject obj = jsonArray.getJSONObject(index);
|
|
|
+ String name = obj.getString("label");
|
|
|
+ DocDir newDir = new DocDir();
|
|
|
+ BeanUtils.copyProperties(dir, newDir);
|
|
|
+ newDir.setDirId(null);
|
|
|
+ newDir.setParentId(dir.getDirId());
|
|
|
+ newDir.setDirName(name);
|
|
|
+ docDirService.insertDocDir(newDir);
|
|
|
+ JSONArray arr = obj.getJSONArray("children");
|
|
|
+ children(arr, newDir);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 检查重名
|
|
|
*
|
|
|
* @param docDir 目录信息
|