1.ai知识库

This commit is contained in:
2026-04-10 16:11:01 +08:00
parent 72160d47b0
commit 1f8e36eb1c
4 changed files with 57 additions and 1 deletions

View File

@@ -10,7 +10,13 @@ import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAs
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportPageReqVO; import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportPageReqVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportRespVO; import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportRespVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportSaveReqVO; import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.AiAssistantReportSaveReqVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.DifyKbInfoRespVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.DifyKbSyncLogPageReqVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.DifyKbSyncLogRespVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.DifyKbSyncReqVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.DifyKbSyncRespVO;
import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.ReportCountByDateVO; import cn.iocoder.yudao.module.ydoyun.controller.admin.aiassistantreport.vo.ReportCountByDateVO;
import cn.iocoder.yudao.module.ydoyun.service.aiassistantdifykb.AiAssistantDifyKbService;
import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.AiAssistantReportDetailService; import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.AiAssistantReportDetailService;
import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.AiAssistantReportService; import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.AiAssistantReportService;
import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.DailyReportDifyParseService; import cn.iocoder.yudao.module.ydoyun.service.aiassistantreport.DailyReportDifyParseService;
@@ -38,6 +44,7 @@ public class AiAssistantReportController {
private final AiAssistantReportService aiAssistantReportService; private final AiAssistantReportService aiAssistantReportService;
private final AiAssistantReportDetailService aiAssistantReportDetailService; private final AiAssistantReportDetailService aiAssistantReportDetailService;
private final DailyReportDifyParseService dailyReportDifyParseService; private final DailyReportDifyParseService dailyReportDifyParseService;
private final AiAssistantDifyKbService aiAssistantDifyKbService;
@PostMapping("/save") @PostMapping("/save")
@Operation(summary = "保存报告单据") @Operation(summary = "保存报告单据")
@@ -118,4 +125,23 @@ public class AiAssistantReportController {
@Valid @RequestBody AiAssistantReportDifyParseReqVO reqVO) { @Valid @RequestBody AiAssistantReportDifyParseReqVO reqVO) {
return success(dailyReportDifyParseService.parseReportToDiagnosisRows(reqVO.getText())); return success(dailyReportDifyParseService.parseReportToDiagnosisRows(reqVO.getText()));
} }
@PostMapping("/dify-knowledge/sync")
@Operation(summary = "将当前租户、当前模块下全部店长历史汇报聚合同步到 Dify 知识库")
public CommonResult<DifyKbSyncRespVO> syncDifyKnowledge(@Valid @RequestBody DifyKbSyncReqVO reqVO) {
return success(aiAssistantDifyKbService.syncToDify(reqVO));
}
@GetMapping("/dify-knowledge/info")
@Operation(summary = "查询当前租户某模块已绑定的 Dify 知识库元数据")
public CommonResult<DifyKbInfoRespVO> getDifyKbInfo(
@Parameter(description = "模块编码") @RequestParam(value = "moduleCode", required = false) String moduleCode) {
return success(aiAssistantDifyKbService.getKbInfo(moduleCode));
}
@GetMapping("/dify-knowledge/sync-logs")
@Operation(summary = "Dify 知识库同步记录分页")
public CommonResult<PageResult<DifyKbSyncLogRespVO>> getDifyKbSyncLogs(@Valid DifyKbSyncLogPageReqVO reqVO) {
return success(aiAssistantDifyKbService.getSyncLogPage(reqVO));
}
} }

View File

@@ -38,6 +38,16 @@ public interface AiAssistantReportMapper extends BaseMapperX<AiAssistantReportDO
.orderByDesc(AiAssistantReportDO::getCreateTime)); .orderByDesc(AiAssistantReportDO::getCreateTime));
} }
/**
* 当前租户下某模块(页面)全部店长的历史汇报,用于 Dify 知识库聚合
*/
default List<AiAssistantReportDO> selectListByModuleCodeAllReporters(String moduleCode) {
return selectList(new LambdaQueryWrapperX<AiAssistantReportDO>()
.eq(AiAssistantReportDO::getModuleCode, moduleCode)
.orderByDesc(AiAssistantReportDO::getReportTime)
.orderByDesc(AiAssistantReportDO::getId));
}
/** /**
* 同一报告人、同一模块编码、同一报告日期的唯一一条(用于 upsert * 同一报告人、同一模块编码、同一报告日期的唯一一条(用于 upsert
*/ */

View File

@@ -266,3 +266,11 @@ justauth:
type: REDIS type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟 timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
# 衣朵云Dify 知识库 Dataset APIdataset- 密钥,勿与 app- 混用)
# base-url 与控制台「知识库 API」文档中的 Service 根地址一致(示例多为 :8888/v1
ydoyun:
dify:
knowledge:
base-url: http://118.253.178.8:8888/v1
api-key: dataset-3x6sAy0cDvYuK1fLK3NHkUhI

View File

@@ -382,4 +382,16 @@ ydoyun:
daily-report-parse: daily-report-parse:
base-url: http://118.253.178.8:5001/v1 base-url: http://118.253.178.8:5001/v1
api-key: app-aaqeCTv9ywLOIl4WvhD3P9xS api-key: app-aaqeCTv9ywLOIl4WvhD3P9xS
# 每日汇报:知识库 Service API路径前缀 /v1与官方文档「知识库 API」一致
# base-url 须与控制台「API」页展示的 Service API 根地址一致(常见为控制台域名或 Nginx 端口 + /v1如 :8888/v1
# 若与对话应用 API如 :5001/v1不是同一入口请勿混用端口。
# api-key知识库「API」页的 Dataset 密钥dataset- 开头),勿用 app- 对话密钥。
knowledge:
base-url: http://118.253.178.8:8888/v1
api-key: dataset-your-knowledge-api-key
# 浏览器访问 Dify 控制台根地址(无尾斜杠)。拼接:{console-base-url}/datasets/{datasetId}/documents/{documentId}
# 注意:控制台走 /console/api 会话鉴权,与 dataset- 的 Service API 不同;须用「同一工作空间」账号登录网页,否则会 403。
console-base-url: http://118.253.178.8:8888
# 新建知识库权限only_me 易导致「已登录但无权限」;建议 all_team_members同空间成员可在网页查看
dataset-permission: all_team_members