#
Junjie
1 天以前 caf3bdd9bbb629c8bc6f1a19b3ccdf441bf7650c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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();
    }
}