From 46910fbfcf4e67cffad92ec9b94db676b4b9fcf4 Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Tue, 12 Mar 2024 22:33:42 +0800 Subject: [PATCH] (improvement)(Headless) Add chat-api to text2sql and query data (#809) Co-authored-by: jolunoluo --- .../rest/api/ChatQueryApiController.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 headless/server/src/main/java/com/tencent/supersonic/headless/server/rest/api/ChatQueryApiController.java diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/rest/api/ChatQueryApiController.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/rest/api/ChatQueryApiController.java new file mode 100644 index 000000000..7f8163d08 --- /dev/null +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/rest/api/ChatQueryApiController.java @@ -0,0 +1,53 @@ +package com.tencent.supersonic.headless.server.rest.api; + +import com.tencent.supersonic.auth.api.authentication.utils.UserHolder; +import com.tencent.supersonic.headless.api.pojo.request.ExecuteQueryReq; +import com.tencent.supersonic.headless.api.pojo.request.QueryReq; +import com.tencent.supersonic.headless.server.service.ChatQueryService; +import com.tencent.supersonic.headless.server.service.SearchService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@RestController +@RequestMapping("/api/semantic/query") +@Slf4j +public class ChatQueryApiController { + + @Autowired + private ChatQueryService chatQueryService; + + @Autowired + private SearchService searchService; + + @PostMapping("/chat/search") + public Object search(@RequestBody QueryReq queryReq, + HttpServletRequest request, + HttpServletResponse response) throws Exception { + queryReq.setUser(UserHolder.findUser(request, response)); + return searchService.search(queryReq); + } + + @PostMapping("/chat/parse") + public Object parse(@RequestBody QueryReq queryReq, + HttpServletRequest request, + HttpServletResponse response) throws Exception { + queryReq.setUser(UserHolder.findUser(request, response)); + return chatQueryService.performParsing(queryReq); + } + + @PostMapping("/chat/execute") + public Object execute(@RequestBody ExecuteQueryReq executeQueryReq, + HttpServletRequest request, + HttpServletResponse response) throws Exception { + executeQueryReq.setUser(UserHolder.findUser(request, response)); + return chatQueryService.performExecution(executeQueryReq); + } + +}