feat: 提交校园智能助手后端工程源码(Spring Boot 2.7.18 + 平台 starter + JPA + Nacos)
build / build-push (push) Successful in 40s
build / build-push (push) Successful in 40s
- com.yunhai.agent,端口 8093,context-path /agent,制品 target/agent.jar;与 NoticeService 同构 - CAS 单点登录 + 三层角色权限(学生/教师/管理员/访客)+ 会话与工具调用审计落库 - DeepSeek 大模型编排 + 7 个业务模块工具(请假/公告/宿舍/活动/作业/资源库/教师发展) - 浏览器代执行协议(服务端挂起 → 前端用登录态代调 → toolResult 续跑)+ 调用失败深链兜底 - 登出修复:服务端真正 session.invalidate() + 前端两步登出 + logout-guard - 保留 projman 注入的 .gitea/workflows/build.yml 与 docker/Dockerfile;docker/application-prod.yml、run-app.sh 随工程入库
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.yunhai.agent.tool;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 「信息不全」时下发给前端的补全表单。
|
||||
*
|
||||
* <p>设计意图:用户说「我要请假」时,与其让大模型自由发挥去追问(格式、必填项都不稳定),
|
||||
* 不如由后端从工具定义里**确定性地**推导出还缺哪些字段,连同中文名、格式示例、下拉选项
|
||||
* 一起交给前端渲染成表单 —— 用户填完即提交,链路最短、最准确。
|
||||
*/
|
||||
@Data
|
||||
public class FormRequest {
|
||||
|
||||
/** 目标工具名,如 leave.submit */
|
||||
private String tool;
|
||||
|
||||
/** 表单标题,如「提交请假申请」 */
|
||||
private String title;
|
||||
|
||||
/** 引导语,如「这些信息填好我就直接帮你提交」 */
|
||||
private String description;
|
||||
|
||||
private String module;
|
||||
|
||||
/** 是否写操作(前端据此做「提交」的视觉强调与二次确认) */
|
||||
private boolean write;
|
||||
|
||||
/** 提交成功后建议跳转的路由 */
|
||||
private String landingPath;
|
||||
|
||||
/** 待补全的字段(只含缺失的必填项;已由用户说出的参数放在 preset 里回显) */
|
||||
private List<FormField> fields = new ArrayList<>();
|
||||
|
||||
/** 已经从对话里确定的参数(表单里以只读方式回显,用户可确认后提交;提交时原样带上) */
|
||||
private Map<String, Object> preset = new LinkedHashMap<>();
|
||||
|
||||
/**
|
||||
* 上述 preset 的「可读版」:[{name,label,text}],其中 text 已按字典翻译成中文
|
||||
* (如 leaveType=1 → 病假)。前端直接展示,不用自己维护中文映射。
|
||||
*/
|
||||
private List<Map<String, String>> recognized = new ArrayList<>();
|
||||
|
||||
/** 缺失字段的中文名,用于生成「还差:开始时间、事由」这类话术 */
|
||||
private List<String> missing = new ArrayList<>();
|
||||
|
||||
/** 补充提示(可选),如「时间格式为 2026-10-11 08:00:00」 */
|
||||
private String hint;
|
||||
}
|
||||
Reference in New Issue
Block a user