package com.zy.ai.utils; import com.alibaba.fastjson.JSON; import com.zy.ai.entity.WcsDiagnosisRequest; import org.springframework.stereotype.Component; @Component public class AiUtils { public WcsDiagnosisRequest makeAiRequest(int logLimit, String alarmMessage) { WcsDiagnosisRequest request = new WcsDiagnosisRequest(); request.setAlarmMessage(alarmMessage); request.setLogLimit(logLimit); return request; } public String buildDiagnosisUserContentMcp(WcsDiagnosisRequest request) { StringBuilder sb = new StringBuilder(); if (request == null) { return ""; } if (request.getAlarmMessage() != null && !request.getAlarmMessage().isEmpty()) { sb.append("【问题描述】\n"); sb.append(request.getAlarmMessage()).append("\n\n"); } if (request.getCraneNo() != null) { sb.append("【诊断范围】\n"); sb.append("当前重点关注堆垛机:").append(request.getCraneNo()).append("\n\n"); } if (request.getLogLimit() != null && request.getLogLimit() > 0) { sb.append("【查询建议】\n"); sb.append("如需日志,请优先查询最近 ").append(request.getLogLimit()).append(" 行。\n\n"); } if (request.getExtraContext() != null && !request.getExtraContext().isEmpty()) { sb.append("【额外上下文 extraContext】\n"); sb.append(JSON.toJSONString(request.getExtraContext(), true)).append("\n\n"); } sb.append("请先通过 MCP 工具获取任务、设备、日志和配置等实时数据,再基于事实分析。\n"); return sb.toString(); } }