#AI
Junjie
11 小时以前 53fa1addcd22557f6541092a151a3064779d3f93
src/main/java/com/zy/ai/controller/WcsDiagnosisController.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.ai.entity.DeviceConfigsData;
import com.zy.ai.entity.DeviceRealTimeData;
import com.zy.ai.entity.ChatCompletionRequest;
import com.zy.ai.entity.WcsDiagnosisRequest;
import com.zy.ai.entity.WcsDiagnosisResponse;
import com.zy.ai.log.AiLogAppender;
import com.zy.ai.service.WcsDiagnosisService;
import com.core.annotations.ManagerAuth;
import com.zy.common.web.BaseController;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasCrnpService;
@@ -33,7 +36,7 @@
@RestController
@RequestMapping("/ai/diagnose")
@RequiredArgsConstructor
public class WcsDiagnosisController {
public class WcsDiagnosisController extends BaseController {
    @Autowired
    private WcsDiagnosisService wcsDiagnosisService;
@@ -178,7 +181,9 @@
    }
    @GetMapping("/askStream")
    public SseEmitter askStream(@RequestParam("prompt") String prompt) {
    public SseEmitter askStream(@RequestParam("prompt") String prompt,
                                @RequestParam(value = "chatId", required = false) String chatId,
                                @RequestParam(value = "reset", required = false, defaultValue = "false") boolean reset) {
        SseEmitter emitter = new SseEmitter(0L);
        new Thread(() -> {
            try {
@@ -237,7 +242,7 @@
                request.setDeviceRealtimeData(deviceRealTimeDataList);
                request.setDeviceConfigs(deviceConfigsDataList);
                wcsDiagnosisService.askStream(request, prompt, emitter);
                wcsDiagnosisService.askStream(request, prompt, chatId, reset, emitter);
            } catch (Exception e) {
                emitter.completeWithError(e);
            }
@@ -245,6 +250,21 @@
        return emitter;
    }
    @GetMapping("/chats")
    public List<Map<String, Object>> listChats() {
        return wcsDiagnosisService.listChats();
    }
    @DeleteMapping("/chats/{chatId}")
    public Boolean deleteChat(@PathVariable("chatId") String chatId) {
        return wcsDiagnosisService.deleteChat(chatId);
    }
    @GetMapping("/chats/{chatId}/history")
    public List<ChatCompletionRequest.Message> getChatHistory(@PathVariable("chatId") String chatId) {
        return wcsDiagnosisService.getChatHistory(chatId);
    }
    /**
     * POST /api/ai/diagnose/wcs
     */