package com.qmth.ops.api.controller.admin; import com.qmth.boot.core.ai.model.llm.LlmAppType; import com.qmth.ops.api.constants.OpsApiConstants; import com.qmth.ops.api.security.AdminSession; import com.qmth.ops.api.security.Permission; import com.qmth.ops.biz.domain.LlmPromptTemplate; import com.qmth.ops.biz.service.LlmPromptTemplateService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @RestController @RequestMapping(OpsApiConstants.ADMIN_URI_PREFIX + "/llm/prompt_template") public class LlmPromptController { @Resource private LlmPromptTemplateService llmPromptTemplateService; @PostMapping("/list") public List getPromptTemplate(@RequestParam Long supplierId, @RequestParam LlmAppType appType) { return llmPromptTemplateService.findBySupplierAndAppType(supplierId, appType); } @PostMapping("/insert") public LlmPromptTemplate insertPromptTemplate(@RequestAttribute AdminSession adminSession, LlmPromptTemplate template) { adminSession.hasPermission(Permission.LLM_SUPPLIER_INSERT); llmPromptTemplateService.insert(template); return template; } @PostMapping("/update") public LlmPromptTemplate updatePromptTemplate(@RequestAttribute AdminSession adminSession, LlmPromptTemplate template) { adminSession.hasPermission(Permission.LLM_SUPPLIER_EDIT); llmPromptTemplateService.update(template); return llmPromptTemplateService.findById(template.getId()); } @PostMapping("/delete") public Long deletePromptTemplate(@RequestAttribute AdminSession adminSession, @RequestParam Long id) { adminSession.hasPermission(Permission.LLM_SUPPLIER_EDIT); llmPromptTemplateService.delete(llmPromptTemplateService.findById(id)); return id; } }