zhou zhou
10 小时以前 80a6d9236ade191a5de0975abe4de5a6e7e63915
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
package com.vincent.rsf.server.ai.controller;
 
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.ai.dto.AiPromptPreviewRequest;
import com.vincent.rsf.server.ai.service.AiConfigOpsService;
import com.vincent.rsf.server.system.controller.BaseController;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
@RequiredArgsConstructor
public class AiConfigOpsController extends BaseController {
 
    private final AiConfigOpsService aiConfigOpsService;
 
    @PreAuthorize("hasAnyAuthority('system:aiParam:list','system:aiPrompt:list','system:aiMcpMount:list')")
    @GetMapping("/ai/config/summary")
    public R getSummary(@RequestParam(value = "promptCode", required = false) String promptCode) {
        return R.ok().add(aiConfigOpsService.getSummary(promptCode, getTenantId()));
    }
 
    @PreAuthorize("hasAnyAuthority('system:aiPrompt:list','system:aiPrompt:save','system:aiPrompt:update')")
    @PostMapping("/ai/config/prompt/render-preview")
    public R renderPromptPreview(@RequestBody AiPromptPreviewRequest request) {
        return R.ok().add(aiConfigOpsService.renderPromptPreview(request, getTenantId()));
    }
}