新增项目创建/更新时,添加项目目录
This commit is contained in:
@@ -46,4 +46,5 @@ public interface AiCloudDocService extends IService<AiCloudDoc> {
|
|||||||
*/
|
*/
|
||||||
List<AiCloudDoc> getSelfAndChildren(Integer docId);
|
List<AiCloudDoc> getSelfAndChildren(Integer docId);
|
||||||
|
|
||||||
|
Boolean createDocDirectories(Integer companyId, Integer userId, Integer projectId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ public interface AiCloudFileService extends IService<AiCloudFile> {
|
|||||||
String getFileExtension(String filename);
|
String getFileExtension(String filename);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取公司知识库ID
|
* 获取知识库ID
|
||||||
*
|
*
|
||||||
* @param docId 文档ID
|
* @param docId 文档ID
|
||||||
* @return 知识库ID
|
* @return 知识库ID
|
||||||
*/
|
*/
|
||||||
String getCompanyKbId(Integer docId);
|
String getKbId(Integer docId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提交文档到知识库
|
* 提交文档到知识库
|
||||||
|
|||||||
@@ -1,16 +1,38 @@
|
|||||||
package com.gxwebsoft.ai.service.impl;
|
package com.gxwebsoft.ai.service.impl;
|
||||||
|
|
||||||
|
import com.aliyun.bailian20231229.Client;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.gxwebsoft.ai.mapper.AiCloudDocMapper;
|
import com.gxwebsoft.ai.mapper.AiCloudDocMapper;
|
||||||
import com.gxwebsoft.ai.service.AiCloudDocService;
|
import com.gxwebsoft.ai.service.AiCloudDocService;
|
||||||
|
import com.gxwebsoft.ai.util.AiCloudDataCenterUtil;
|
||||||
|
import com.gxwebsoft.ai.config.KnowledgeBaseConfig;
|
||||||
import com.gxwebsoft.ai.entity.AiCloudDoc;
|
import com.gxwebsoft.ai.entity.AiCloudDoc;
|
||||||
|
import com.gxwebsoft.ai.factory.KnowledgeBaseClientFactory;
|
||||||
import com.gxwebsoft.ai.param.AiCloudDocParam;
|
import com.gxwebsoft.ai.param.AiCloudDocParam;
|
||||||
import com.gxwebsoft.common.core.web.PageParam;
|
import com.gxwebsoft.common.core.web.PageParam;
|
||||||
import com.gxwebsoft.common.core.web.PageResult;
|
import com.gxwebsoft.common.core.web.PageResult;
|
||||||
|
import com.gxwebsoft.common.system.entity.Dict;
|
||||||
|
import com.gxwebsoft.common.system.entity.DictData;
|
||||||
|
import com.gxwebsoft.common.system.param.DictDataParam;
|
||||||
|
import com.gxwebsoft.common.system.service.DictDataService;
|
||||||
|
import com.gxwebsoft.common.system.service.DictService;
|
||||||
|
import com.gxwebsoft.oa.entity.OaCompany;
|
||||||
|
import com.gxwebsoft.oa.service.OaCompanyService;
|
||||||
|
import com.gxwebsoft.pwl.entity.PwlProject;
|
||||||
|
import com.gxwebsoft.pwl.service.PwlProjectService;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21,6 +43,24 @@ import java.util.stream.Collectors;
|
|||||||
@Service
|
@Service
|
||||||
public class AiCloudDocServiceImpl extends ServiceImpl<AiCloudDocMapper, AiCloudDoc> implements AiCloudDocService {
|
public class AiCloudDocServiceImpl extends ServiceImpl<AiCloudDocMapper, AiCloudDoc> implements AiCloudDocService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KnowledgeBaseConfig config;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KnowledgeBaseClientFactory clientFactory;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DictService dictService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DictDataService dictDataService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PwlProjectService pwlProjectService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OaCompanyService oaCompanyService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<AiCloudDoc> pageRel(AiCloudDocParam param) {
|
public PageResult<AiCloudDoc> pageRel(AiCloudDocParam param) {
|
||||||
PageParam<AiCloudDoc, AiCloudDocParam> page = new PageParam<>(param);
|
PageParam<AiCloudDoc, AiCloudDocParam> page = new PageParam<>(param);
|
||||||
@@ -87,4 +127,138 @@ public class AiCloudDocServiceImpl extends ServiceImpl<AiCloudDocMapper, AiCloud
|
|||||||
getChildrenRecursive(allDocs, child.getId(), result);
|
getChildrenRecursive(allDocs, child.getId(), result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean createDocDirectories(Integer companyId, Integer userId, Integer projectId) {
|
||||||
|
if (companyId == null && projectId != null && projectId > 0) {
|
||||||
|
PwlProject project = pwlProjectService.getById(projectId);
|
||||||
|
if (project != null) {
|
||||||
|
companyId = project.getCompanyId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
OaCompany oaCompany = oaCompanyService.getById(companyId);
|
||||||
|
if (oaCompany == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String categoryId = getDocCategoryId(companyId, oaCompany.getCompanyName(), projectId);
|
||||||
|
if (StrUtil.isBlank(categoryId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1. 查询或创建顶级目录(避免重复)
|
||||||
|
AiCloudDoc topDirectory = this.getOne(new LambdaQueryWrapper<AiCloudDoc>()
|
||||||
|
.eq(AiCloudDoc::getCompanyId, companyId)
|
||||||
|
.eq(AiCloudDoc::getProjectId, projectId)
|
||||||
|
.eq(AiCloudDoc::getParentId, 0));
|
||||||
|
if (topDirectory == null) {
|
||||||
|
topDirectory = new AiCloudDoc();
|
||||||
|
topDirectory.setCategoryId(categoryId);
|
||||||
|
topDirectory.setProjectId(projectId);
|
||||||
|
topDirectory.setCompanyId(oaCompany.getCompanyId());
|
||||||
|
topDirectory.setParentId(0);
|
||||||
|
topDirectory.setName(oaCompany.getCompanyName());
|
||||||
|
topDirectory.setSortNumber(0);
|
||||||
|
topDirectory.setStatus(0);
|
||||||
|
topDirectory.setDeleted(0);
|
||||||
|
topDirectory.setUserId(userId);
|
||||||
|
topDirectory.setTenantId(oaCompany.getTenantId());
|
||||||
|
topDirectory.setCreateTime(LocalDateTime.now());
|
||||||
|
topDirectory.setUpdateTime(LocalDateTime.now());
|
||||||
|
this.save(topDirectory);
|
||||||
|
}
|
||||||
|
Integer topDirId = topDirectory.getId();
|
||||||
|
|
||||||
|
// 2. 获取目录名称列表(优先字典)
|
||||||
|
List<String> directoryNames = getDirectoryNames();
|
||||||
|
|
||||||
|
// 3. 查询已存在的子目录,只添加不存在的名称
|
||||||
|
Set<String> existingNames = this.list(new LambdaQueryWrapper<AiCloudDoc>()
|
||||||
|
.eq(AiCloudDoc::getParentId, topDirId)
|
||||||
|
.eq(AiCloudDoc::getCompanyId, companyId)
|
||||||
|
.eq(AiCloudDoc::getProjectId, projectId))
|
||||||
|
.stream()
|
||||||
|
.map(AiCloudDoc::getName)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
List<AiCloudDoc> newDirectories = new ArrayList<>();
|
||||||
|
for (int i = 0; i < directoryNames.size(); i++) {
|
||||||
|
String name = directoryNames.get(i);
|
||||||
|
if (!existingNames.contains(name)) {
|
||||||
|
AiCloudDoc doc = new AiCloudDoc();
|
||||||
|
doc.setCategoryId(categoryId);
|
||||||
|
doc.setProjectId(projectId);
|
||||||
|
doc.setCompanyId(oaCompany.getCompanyId());
|
||||||
|
doc.setParentId(topDirId);
|
||||||
|
doc.setName(name);
|
||||||
|
doc.setSortNumber(i + 1);
|
||||||
|
doc.setStatus(0);
|
||||||
|
doc.setDeleted(0);
|
||||||
|
doc.setUserId(userId);
|
||||||
|
doc.setTenantId(oaCompany.getTenantId());
|
||||||
|
doc.setCreateTime(LocalDateTime.now());
|
||||||
|
doc.setUpdateTime(LocalDateTime.now());
|
||||||
|
newDirectories.add(doc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!newDirectories.isEmpty()) {
|
||||||
|
return this.saveBatch(newDirectories);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取字典读取逻辑
|
||||||
|
private List<String> getDirectoryNames() {
|
||||||
|
List<String> defaultNames = Arrays.asList(
|
||||||
|
"1.基本情况", "2.企业领导人员任职情况", "3.任期内年度总结报告", "4.公司章程及议事规则",
|
||||||
|
"5.领导班子分工", "6.任期内会议纪要与会议记录", "7.内部控制制度", "8.企业发展规划及战略",
|
||||||
|
"9.目标责任", "10-11.重大经济事项决策及执行(项目)", "12.固定资产、资产处置资料",
|
||||||
|
"13.财务数据", "14.以前年度审计"
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getDictCode, "documentCategory"));
|
||||||
|
if (dict != null) {
|
||||||
|
DictDataParam param = new DictDataParam();
|
||||||
|
param.setDictId(dict.getDictId());
|
||||||
|
List<DictData> dictDataList = dictDataService.listRel(param);
|
||||||
|
if (CollectionUtil.isNotEmpty(dictDataList)) {
|
||||||
|
return dictDataList.stream()
|
||||||
|
.map(DictData::getDictDataCode)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
// 忽略异常,使用默认列表
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return defaultNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修正获取 categoryId 的逻辑,避免空指针
|
||||||
|
private String getDocCategoryId(Integer companyId, String companyName, Integer projectId) {
|
||||||
|
// 查询公司顶级目录(projectId=0, parentId=0)
|
||||||
|
AiCloudDoc docTop = this.getOne(new LambdaQueryWrapper<AiCloudDoc>()
|
||||||
|
.eq(AiCloudDoc::getCompanyId, companyId)
|
||||||
|
.eq(AiCloudDoc::getProjectId, 0)
|
||||||
|
.eq(AiCloudDoc::getParentId, 0));
|
||||||
|
if (docTop != null) {
|
||||||
|
return docTop.getCategoryId();
|
||||||
|
}
|
||||||
|
// 如果是项目目录,公司顶级目录必须已存在,否则返回空
|
||||||
|
if (projectId != null && projectId > 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
// 否则为公司创建新的远程分类
|
||||||
|
String workspaceId = config.getWorkspaceId();
|
||||||
|
String topCategoryId = config.getTopCategoryId();
|
||||||
|
try {
|
||||||
|
Client client = clientFactory.createClient();
|
||||||
|
return AiCloudDataCenterUtil.addCategory(client, workspaceId, topCategoryId, companyName)
|
||||||
|
.getBody().getData().getCategoryId();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ import com.gxwebsoft.common.core.web.PageParam;
|
|||||||
import com.gxwebsoft.common.core.web.PageResult;
|
import com.gxwebsoft.common.core.web.PageResult;
|
||||||
import com.gxwebsoft.oa.entity.OaCompany;
|
import com.gxwebsoft.oa.entity.OaCompany;
|
||||||
import com.gxwebsoft.oa.service.OaCompanyService;
|
import com.gxwebsoft.oa.service.OaCompanyService;
|
||||||
|
import com.gxwebsoft.pwl.entity.PwlProject;
|
||||||
|
import com.gxwebsoft.pwl.service.PwlProjectService;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -53,6 +55,9 @@ public class AiCloudFileServiceImpl extends ServiceImpl<AiCloudFileMapper, AiClo
|
|||||||
@Resource
|
@Resource
|
||||||
private AiCloudDocService aiCloudDocService;
|
private AiCloudDocService aiCloudDocService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PwlProjectService pwlProjectService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
private OaCompanyService oaCompanyService;
|
private OaCompanyService oaCompanyService;
|
||||||
@@ -168,7 +173,7 @@ public class AiCloudFileServiceImpl extends ServiceImpl<AiCloudFileMapper, AiClo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getCompanyKbId(Integer docId) {
|
public String getKbId(Integer docId) {
|
||||||
if (docId == null) {
|
if (docId == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@@ -176,6 +181,12 @@ public class AiCloudFileServiceImpl extends ServiceImpl<AiCloudFileMapper, AiClo
|
|||||||
if (aiCloudDoc == null || aiCloudDoc.getCompanyId() == null) {
|
if (aiCloudDoc == null || aiCloudDoc.getCompanyId() == null) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
//优先判断目录是否为项目资料库
|
||||||
|
if (aiCloudDoc.getProjectId() != null && aiCloudDoc.getProjectId() > 0) {
|
||||||
|
PwlProject project = pwlProjectService.getById(aiCloudDoc.getProjectId());
|
||||||
|
return project != null && project.getKbId() != null ? project.getKbId() : "";
|
||||||
|
}
|
||||||
|
//不为项目资料库则为公司库
|
||||||
OaCompany oaCompany = oaCompanyService.getById(aiCloudDoc.getCompanyId());
|
OaCompany oaCompany = oaCompanyService.getById(aiCloudDoc.getCompanyId());
|
||||||
return oaCompany != null && oaCompany.getKbId() != null ? oaCompany.getKbId() : "";
|
return oaCompany != null && oaCompany.getKbId() != null ? oaCompany.getKbId() : "";
|
||||||
}
|
}
|
||||||
@@ -185,7 +196,7 @@ public class AiCloudFileServiceImpl extends ServiceImpl<AiCloudFileMapper, AiClo
|
|||||||
if (docId == null || fileIds == null || fileIds.isEmpty()) {
|
if (docId == null || fileIds == null || fileIds.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String kbId = getCompanyKbId(docId);
|
String kbId = getKbId(docId);
|
||||||
if (kbId == null || kbId.isEmpty()) {
|
if (kbId == null || kbId.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -210,7 +221,7 @@ public class AiCloudFileServiceImpl extends ServiceImpl<AiCloudFileMapper, AiClo
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 同时删除默认知识库文件
|
// 同时删除默认知识库文件
|
||||||
String kbId = getCompanyKbId(aiCloudFile.getDocId());
|
String kbId = getKbId(aiCloudFile.getDocId());
|
||||||
if (!kbId.isEmpty()) {
|
if (!kbId.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
String workspaceId = config.getWorkspaceId();
|
String workspaceId = config.getWorkspaceId();
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.gxwebsoft.common.core.web.PageResult;
|
|||||||
import com.gxwebsoft.common.core.web.PageParam;
|
import com.gxwebsoft.common.core.web.PageParam;
|
||||||
import com.gxwebsoft.common.core.web.BatchParam;
|
import com.gxwebsoft.common.core.web.BatchParam;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.gxwebsoft.ai.service.AiCloudDocService;
|
||||||
import com.gxwebsoft.ai.service.KnowledgeBaseService;
|
import com.gxwebsoft.ai.service.KnowledgeBaseService;
|
||||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -40,6 +41,9 @@ public class OaCompanyController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private KnowledgeBaseService knowledgeBaseService;
|
private KnowledgeBaseService knowledgeBaseService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AiCloudDocService aiCloudDocService;
|
||||||
|
|
||||||
@Operation(summary = "分页查询企业信息")
|
@Operation(summary = "分页查询企业信息")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public ApiResult<PageResult<OaCompany>> page(OaCompanyParam param) {
|
public ApiResult<PageResult<OaCompany>> page(OaCompanyParam param) {
|
||||||
@@ -82,8 +86,9 @@ public class OaCompanyController extends BaseController {
|
|||||||
// 绑定知识库
|
// 绑定知识库
|
||||||
oaCompany.setKbId(kbId);
|
oaCompany.setKbId(kbId);
|
||||||
oaCompanyService.updateById(oaCompany);
|
oaCompanyService.updateById(oaCompany);
|
||||||
// 初始化11个目录 - 调用Service层方法
|
// 初始化公司库目录,创建阿里云文件管理目录
|
||||||
oaCompanyService.initCompanyDocDirectories(oaCompany, getLoginUserId());
|
// oaCompanyService.initCompanyDocDirectories(oaCompany, getLoginUserId());
|
||||||
|
aiCloudDocService.createDocDirectories(oaCompany.getCompanyId(), getLoginUserId(), 0);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return fail("添加失败:"+e.getMessage());
|
return fail("添加失败:"+e.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ public class OaCompanyServiceImpl extends ServiceImpl<OaCompanyMapper, OaCompany
|
|||||||
return param.getOne(baseMapper.selectListRel(param));
|
return param.getOne(baseMapper.selectListRel(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 弃用,改用aiCloudDocService.createDocDirectories,后续删除
|
||||||
@Override
|
@Override
|
||||||
public void initCompanyDocDirectories(OaCompany oaCompany, Integer userId) {
|
public void initCompanyDocDirectories(OaCompany oaCompany, Integer userId) {
|
||||||
String workspaceId = config.getWorkspaceId();
|
String workspaceId = config.getWorkspaceId();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import cn.hutool.core.util.RandomUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.gxwebsoft.ai.service.AiCloudDocService;
|
||||||
import com.gxwebsoft.ai.service.KnowledgeBaseService;
|
import com.gxwebsoft.ai.service.KnowledgeBaseService;
|
||||||
import com.gxwebsoft.cms.entity.CmsArticle;
|
import com.gxwebsoft.cms.entity.CmsArticle;
|
||||||
import com.gxwebsoft.cms.entity.CmsArticleContent;
|
import com.gxwebsoft.cms.entity.CmsArticleContent;
|
||||||
@@ -60,6 +61,9 @@ public class PwlProjectController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private KnowledgeBaseService knowledgeBaseService;
|
private KnowledgeBaseService knowledgeBaseService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AiCloudDocService aiCloudDocService;
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('pwl:pwlProject:list')")
|
@PreAuthorize("hasAuthority('pwl:pwlProject:list')")
|
||||||
@Operation(summary = "分页查询卫兰的项目项目系统")
|
@Operation(summary = "分页查询卫兰的项目项目系统")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@@ -118,6 +122,8 @@ public class PwlProjectController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pwlProjectService.save(pwlProject)) {
|
if (pwlProjectService.save(pwlProject)) {
|
||||||
|
aiCloudDocService.createDocDirectories(pwlProject.getCompanyId(), getLoginUserId(), pwlProject.getId());
|
||||||
|
createKbId(pwlProject);
|
||||||
createAnalysisLib(pwlProject);
|
createAnalysisLib(pwlProject);
|
||||||
createProjectLib(pwlProject);
|
createProjectLib(pwlProject);
|
||||||
pwlProjectService.updateById(pwlProject);
|
pwlProjectService.updateById(pwlProject);
|
||||||
@@ -126,6 +132,21 @@ public class PwlProjectController extends BaseController {
|
|||||||
return fail("添加失败");
|
return fail("添加失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//创建项目资料库
|
||||||
|
private void createKbId(PwlProject pwlProject) {
|
||||||
|
if(StrUtil.isEmpty(pwlProject.getCode())) {
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
String name = "项目-"+pwlProject.getName();
|
||||||
|
String code = "PID-" + StrUtil.padPre(pwlProject.getId().toString(), 11, '0');
|
||||||
|
String kbId = knowledgeBaseService.createKnowledgeBase(name, code);
|
||||||
|
pwlProject.setKbId(kbId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//创建材料分析库
|
//创建材料分析库
|
||||||
private void createAnalysisLib(PwlProject pwlProject) {
|
private void createAnalysisLib(PwlProject pwlProject) {
|
||||||
if(StrUtil.isEmpty(pwlProject.getCode())) {
|
if(StrUtil.isEmpty(pwlProject.getCode())) {
|
||||||
@@ -173,6 +194,10 @@ public class PwlProjectController extends BaseController {
|
|||||||
if(StrUtil.isEmpty(pwlProject.getProjectLibrary())) {
|
if(StrUtil.isEmpty(pwlProject.getProjectLibrary())) {
|
||||||
createProjectLib(pwlProject);
|
createProjectLib(pwlProject);
|
||||||
}
|
}
|
||||||
|
if(StrUtil.isEmpty(pwlProject.getKbId())) {
|
||||||
|
aiCloudDocService.createDocDirectories(pwlProject.getCompanyId(), getLoginUserId(), pwlProject.getId());
|
||||||
|
createKbId(pwlProject);
|
||||||
|
}
|
||||||
if (pwlProjectService.updateById(pwlProject)) {
|
if (pwlProjectService.updateById(pwlProject)) {
|
||||||
return success("修改成功");
|
return success("修改成功");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user