新增从字典数据获取目录列表(暂存-本地无法测试)

This commit is contained in:
2026-05-11 15:56:22 +08:00
parent 035bf8499c
commit 3494e6a256

View File

@@ -11,6 +11,11 @@ import cn.hutool.core.util.StrUtil;
import com.gxwebsoft.oa.entity.OaCompany;
import com.gxwebsoft.oa.param.OaCompanyParam;
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.DictService;
import com.gxwebsoft.common.system.service.DictDataService;
import com.gxwebsoft.ai.config.KnowledgeBaseConfig;
import com.gxwebsoft.ai.entity.AiCloudDoc;
import com.gxwebsoft.ai.entity.AiCloudFile;
@@ -53,6 +58,12 @@ public class OaCompanyServiceImpl extends ServiceImpl<OaCompanyMapper, OaCompany
@Autowired
private KnowledgeBaseClientFactory clientFactory;
@Autowired
private DictService dictService;
@Autowired
private DictDataService dictDataService;
@Override
public PageResult<OaCompany> pageRel(OaCompanyParam param) {
@@ -117,6 +128,25 @@ public class OaCompanyServiceImpl extends ServiceImpl<OaCompanyMapper, OaCompany
"13.财务数据", "14.以前年度审计"
);
// 从字典数据获取目录列表
try {
// 根据dictCode获取dict
Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getDictCode, "documentCategory"));
if (dict != null) {
// 根据dictId获取所有字典数据
DictDataParam param = new DictDataParam();
param.setDictId(dict.getDictId());
List<DictData> dictDataList = dictDataService.listRel(param);
// 提取dictDataCode作为目录名称
directoryNames = dictDataList.stream()
.map(DictData::getDictDataCode)
.collect(Collectors.toList());
}
} catch (Exception e) {
e.printStackTrace();
// 如果获取字典数据失败,使用默认列表
}
List<AiCloudDoc> directories = new ArrayList<>();
for (int i = 0; i < directoryNames.size(); i++) {
AiCloudDoc doc = new AiCloudDoc();