Sfoglia il codice sorgente

接口联调代码修改

S0025136190 11 mesi fa
parent
commit
013e02d173

+ 24 - 9
takai-admin/src/main/java/com/takai/web/controller/bigmodel/BigModelController.java

@@ -1,5 +1,6 @@
 package com.takai.web.controller.bigmodel;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.takai.bigmodel.domain.dto.AsyncCompletions;
 import com.takai.bigmodel.domain.dto.AsyncResult;
 import com.takai.bigmodel.domain.dto.DialogReqDTO;
@@ -25,6 +26,7 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -98,7 +100,7 @@ public class BigModelController extends BaseController {
     @GetMapping("/dialog/detail/{dialogId}")
     public AjaxResult dialogDetail(@PathVariable String dialogId)
     {
-        DialogRespDTO detail = bigModelService.getDialogDetail(dialogId);
+        List<DialogRespDTO> detail = bigModelService.getDialogDetail(dialogId);
         return success(detail);
     }
 
@@ -159,8 +161,8 @@ public class BigModelController extends BaseController {
     @GetMapping("/slice_info/{requestId}")
     public AjaxResult sliceInfo(@PathVariable String requestId)
     {
-        String json = bigModelService.getSliceInfo(requestId);
-        return success(json);
+        List<Map<String, Object>> json = bigModelService.getSliceInfo(requestId);
+        return AjaxResult.success(json);
     }
 
     /**
@@ -201,12 +203,25 @@ public class BigModelController extends BaseController {
      */
     @GetMapping("/presets")
     public AjaxResult presets(){
-        Map<String, String> map = new HashMap();
-        map.put("123", "预设问题1");
-        map.put("456", "预设问题2");
-        map.put("789", "预设问题3");
-        map.put("100", "预设问题4");
-        return success(map);
+        List<String> list = new ArrayList();
+        list.add("预设问题1");
+        list.add("预设问题2");
+        list.add("预设问题3");
+        list.add("预设问题4");
+        return success(list);
+    }
+
+    /**
+     * 首页
+     * @return
+     */
+    @GetMapping("/index")
+    public AjaxResult index(){
+        // 问答应用总数
+
+        // 知识库总数
+
+        return success();
     }
 
 }

+ 1 - 1
takai-bigmodel/src/main/java/com/takai/bigmodel/mapper/DialogMapper.java

@@ -52,7 +52,7 @@ public interface DialogMapper
      */
     public void insertDialogDetail(DialogDetailReqDTO dialogId);
 
-    DialogRespDTO selectDialogDetail(String dialogId);
+    List<DialogRespDTO> selectDialogDetail(String dialogId);
 
     int delDialog(String id);
 

+ 3 - 2
takai-bigmodel/src/main/java/com/takai/bigmodel/service/IBigModelService.java

@@ -1,5 +1,6 @@
 package com.takai.bigmodel.service;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.takai.bigmodel.domain.dto.AsyncCompletions;
 import com.takai.bigmodel.domain.dto.AsyncResult;
 import com.takai.bigmodel.domain.dto.DialogReqDTO;
@@ -65,11 +66,11 @@ public interface IBigModelService
 
     List<Object> getDialogList(String appId);
 
-    DialogRespDTO getDialogDetail(String dialogId);
+    List<DialogRespDTO> getDialogDetail(String dialogId);
 
     SseEmitter getCompletions(CompletionsParams params);
 
-    String getSliceInfo(String requestId);
+    List<Map<String, Object>> getSliceInfo(String requestId);
 
     AsyncCompletions getAsyncCompletions(CompletionsParams params);
 

+ 43 - 16
takai-bigmodel/src/main/java/com/takai/bigmodel/service/impl/BigModelServiceImpl.java

@@ -519,17 +519,24 @@ public class BigModelServiceImpl implements IBigModelService
 
     @Override
     public void saveDialog(DialogReqDTO dialogReqDTO) {
-        //String dialogId = dialogReqDTO.getId();
-        //String id = dialogMapper.selectDialogById(dialogId);
-//        if(id == null) {
-//            String i = dialogMapper.insertDialog(dialogReqDTO);
-//        }
-        String uuid = IdUtils.fastSimpleUUID();
-        dialogReqDTO.setId(uuid);
-        dialogMapper.insertDialog(dialogReqDTO);
+        String dialogId = null;
+        String id = null;
+        if(com.takai.common.utils.StringUtils.isNotEmpty(dialogReqDTO.getId())){
+            id = dialogMapper.selectDialogById(dialogReqDTO.getId());
+        }
+
+        if(id == null){
+            String uuid = IdUtils.fastSimpleUUID();
+            dialogReqDTO.setId(uuid);
+            dialogMapper.insertDialog(dialogReqDTO);
+            dialogId = uuid;
+        }else{
+            dialogId = dialogReqDTO.getId();
+        }
+
         for(DialogDetailReqDTO dto  : dialogReqDTO.getMessages()) {
-            dto.setDialogId(uuid);
-            String detailId = dialogMapper.selectDialogDetailById(uuid);
+            dto.setDialogId(dialogId);
+            String detailId = dialogMapper.selectDialogDetailById(dto.getId());
             if(detailId == null) {
                 String detailUuid = IdUtils.fastSimpleUUID();
                 dto.setId(detailUuid);
@@ -568,8 +575,8 @@ public class BigModelServiceImpl implements IBigModelService
     }
 
     @Override
-    public DialogRespDTO getDialogDetail(String dialogId) {
-        DialogRespDTO detail = dialogMapper.selectDialogDetail(dialogId);
+    public List<DialogRespDTO> getDialogDetail(String dialogId) {
+        List<DialogRespDTO> detail = dialogMapper.selectDialogDetail(dialogId);
         return detail;
     }
 
@@ -655,20 +662,40 @@ public class BigModelServiceImpl implements IBigModelService
     }
 
     @Override
-    public String getSliceInfo(String requestId) {
-        String body = null;
+    public List<Map<String, Object>> getSliceInfo(String requestId) {
+        List<Map<String, Object>> list = new ArrayList();
         String url = bigModelConfig.getBaseurl() + bigModelConfig.getSliceInfo().replace("{request_id}",requestId);
         Request request = buildGetRequest(url);
         OkHttpClient client = buildOkHttpClient();
         try {
             Response response = client.newCall(request).execute();
             if(response.isSuccessful()) {
-                body = response.body().string();
+                String body = response.body().string();
+                boolean status = isJsonObject(body);
+                if(!status){
+                    return list;
+                }else{
+                    JSONObject jsonObj = JSON.parseObject(body);
+                    JSONObject jb = jsonObj.getJSONObject("data");
+                    JSONArray array = jb.getJSONArray("document_slices");
+                    if(array != null){
+                        for(int i=0; i<array.size(); i++){
+                            Map<String, Object> map = new HashMap();
+                            JSONObject detailObj = array.getJSONObject(i);
+                            JSONObject docObj = detailObj.getJSONObject("document");
+                            String name = String.valueOf(docObj.get("name"));
+                            String urlStr = String.valueOf(docObj.get("url"));
+                            map.put("name", name);
+                            map.put("url", urlStr);
+                            list.add(map);
+                        }
+                    }
+                }
             }
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-        return body;
+        return list;
     }
 
     @Override

+ 6 - 6
takai-bigmodel/src/main/resources/mapper/bm/DialogMapper.xml

@@ -105,14 +105,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			d.knowledge_id as knowledgeId,
 			d.user_id as userId,
 			d.dialog_name,
+			d.create_time,
 			dd.id as did,
 			dd.type,
 			dd.content,
-			dd.dialog_id,
-			dd.create_time
+			dd.dialog_id
 		from dialog d
 		left join dialog_detail dd on d.id = dd.dialog_id
 		where dd.dialog_id = #{dialogId}
+		ORDER BY dd.create_time asc, dd.type desc
 	</select>
 
 	<delete id="delDialog" parameterType="String">
@@ -129,7 +130,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<select id="selectDialogExport"  resultMap="DialogResult">
 		select
-			max(d.id) as id,
+			d.id,
 			d.app_id as appId,
 			d.knowledge_id as knowledgeId,
 			d.user_id as userId,
@@ -141,9 +142,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			dd.dialog_id
 		from dialog d
 		left join dialog_detail dd on d.id = dd.dialog_id
-		where d.id = #{id}
-		GROUP BY d.app_id,d.create_time
-		ORDER BY d.create_time desc
+		where dd.dialog_id = #{id}
+		ORDER BY dd.create_time asc, dd.type desc
 	</select>
 	
 </mapper>