新增AI云文档目录表、AI云文件表
This commit is contained in:
@@ -1,14 +1,25 @@
|
||||
package com.gxwebsoft.oa.service.impl;
|
||||
|
||||
import com.aliyun.bailian20231229.Client;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gxwebsoft.oa.mapper.OaCompanyMapper;
|
||||
import com.gxwebsoft.oa.service.OaCompanyService;
|
||||
import com.gxwebsoft.oa.entity.OaCompany;
|
||||
import com.gxwebsoft.oa.param.OaCompanyParam;
|
||||
import com.gxwebsoft.ai.config.KnowledgeBaseConfig;
|
||||
import com.gxwebsoft.ai.entity.AiCloudDoc;
|
||||
import com.gxwebsoft.ai.factory.KnowledgeBaseClientFactory;
|
||||
import com.gxwebsoft.ai.service.AiCloudDocService;
|
||||
import com.gxwebsoft.ai.util.AiCloudDataCenterUtil;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -20,6 +31,15 @@ import java.util.List;
|
||||
@Service
|
||||
public class OaCompanyServiceImpl extends ServiceImpl<OaCompanyMapper, OaCompany> implements OaCompanyService {
|
||||
|
||||
@Autowired
|
||||
private AiCloudDocService aiCloudDocService;
|
||||
|
||||
@Autowired
|
||||
private KnowledgeBaseConfig config;
|
||||
|
||||
@Autowired
|
||||
private KnowledgeBaseClientFactory clientFactory;
|
||||
|
||||
@Override
|
||||
public PageResult<OaCompany> pageRel(OaCompanyParam param) {
|
||||
PageParam<OaCompany, OaCompanyParam> page = new PageParam<>(param);
|
||||
@@ -44,4 +64,43 @@ public class OaCompanyServiceImpl extends ServiceImpl<OaCompanyMapper, OaCompany
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initCompanyDocDirectories(OaCompany oaCompany, Integer userId) {
|
||||
String workspaceId = config.getWorkspaceId();
|
||||
String topCategoryId = config.getTopCategoryId();
|
||||
String categoryId = "";
|
||||
try {
|
||||
Client client = clientFactory.createClient();
|
||||
categoryId = AiCloudDataCenterUtil.addCategory(client, workspaceId, topCategoryId, oaCompany.getCompanyName()).getBody().getData().getCategoryId();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
List<String> directoryNames = Arrays.asList(
|
||||
"贯彻决策部署", "单位发展战略执行", "三重一大执行", "目标完成", "财务管理",
|
||||
"国资管理", "重大投资情况", "治理结构", "人员编制", "廉政情况", "历史审计问题"
|
||||
);
|
||||
|
||||
List<AiCloudDoc> directories = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < directoryNames.size(); i++) {
|
||||
AiCloudDoc doc = new AiCloudDoc();
|
||||
doc.setCategoryId(categoryId);
|
||||
doc.setCompanyId(oaCompany.getCompanyId());
|
||||
doc.setParentId(0); // 顶级目录
|
||||
doc.setName(directoryNames.get(i));
|
||||
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());
|
||||
|
||||
directories.add(doc);
|
||||
}
|
||||
|
||||
// 批量保存目录
|
||||
aiCloudDocService.saveBatch(directories);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user