Procházet zdrojové kódy

接口联调修改

S0025136190 před 9 měsíci
rodič
revize
9d9e29ae23

+ 48 - 5
takai-admin/src/main/java/com/takai/web/controller/bigmodel/BigModelController.java

@@ -1,6 +1,7 @@
 package com.takai.web.controller.bigmodel;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.github.pagehelper.PageHelper;
 import com.takai.bigmodel.domain.dto.DialogReqDTO;
 import com.takai.bigmodel.domain.dto.DialogRespDTO;
 import com.takai.bigmodel.domain.dto.QuestionDTO;
@@ -12,10 +13,13 @@ import com.takai.common.core.controller.BaseController;
 import com.takai.common.core.domain.AjaxResult;
 import com.takai.common.core.domain.BaseEntity;
 import com.takai.common.core.domain.entity.Prompt;
+import com.takai.common.core.page.PageDomain;
 import com.takai.common.core.page.TableDataInfo;
+import com.takai.common.core.page.TableSupport;
 import com.takai.common.enums.BusinessType;
 import com.takai.common.utils.poi.ExcelUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
@@ -463,12 +467,51 @@ public class BigModelController extends BaseController {
         return success(bigModelService.getKnowledgeList());
     }
 
-//    @GetMapping("/dialog/list/{pageNum}/{pageSize}")
-//    public TableDataInfo<BaseEntity> list() {
-//        startPage();
-//        List<DialogRespDTO> list = bigModelService.selectDialogListByAppId("1803686113584558081");
-//        return getDataTable(list);
+    /**
+     * 应用聊天数据
+     * @param appId
+     * @return
+     */
+//    @PostMapping("/dialog/{appId}")
+//    public TableDataInfo list(@PathVariable String appId, @RequestBody PageParams params) {
+//        List<Object> s = bigModelService.selectDialogListByAppId(appId);
+//        PageHelper.startPage(params.getPageNumber(), params.getPageSize(), "").setReasonable(true);
+//        List<Object> list = bigModelService.selectDialogListByAppId(appId);
+//        return getDataTableResultTotal(list, Long.valueOf(s.size()));
 //    }
 
+    /**
+     * 获取所有应用聊天列表
+     * @return
+     */
+//    @PostMapping("/allDialog")
+//    public TableDataInfo allList(@RequestBody PageParams params) {
+//        List<Object> s = bigModelService.selectDialogListByAppId(null);
+//        PageHelper.startPage(params.getPageNumber(), params.getPageSize(), "").setReasonable(true);
+//        List<Object> list = bigModelService.selectDialogListByAppId(null);
+//        return getDataTableResultTotal(list, Long.valueOf(s.size()));
+//    }
+
+    /**
+     * 获取聊天列表
+     * @param params
+     * @return
+     */
+    @PostMapping("/chatHistory/list")
+    public TableDataInfo dataExportList(@RequestBody PageParams params){
+        if(StringUtils.isNotBlank(params.getAppId())){
+            //获取应用聊天列表
+            List<Object> s = bigModelService.selectDialogListByAppId(params.getAppId());
+            PageHelper.startPage(params.getPageNumber(), params.getPageSize(), "").setReasonable(true);
+            List<Object> list = bigModelService.selectDialogListByAppId(params.getAppId());
+            return getDataTableResultTotal(list, Long.valueOf(s.size()));
+        }else{
+            //获取所有列表
+            List<Object> s = bigModelService.selectDialogListByAppId(null);
+            PageHelper.startPage(params.getPageNumber(), params.getPageSize(), "").setReasonable(true);
+            List<Object> list = bigModelService.selectDialogListByAppId(null);
+            return getDataTableResultTotal(list, Long.valueOf(s.size()));
+        }
+    }
 
 }

+ 10 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/entity/CompletionsParams.java

@@ -6,6 +6,8 @@ public class CompletionsParams {
 
     private static final long serialVersionUID = 1L;
 
+    private String appId;
+
     /**
      * 要调用的模型编码
      */
@@ -155,4 +157,12 @@ public class CompletionsParams {
     public void setUser_id(String user_id) {
         this.user_id = user_id;
     }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
 }

+ 10 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/entity/PageParams.java

@@ -6,6 +6,8 @@ public class PageParams {
 
     private Integer pageSize;
 
+    private String appId;
+
     public Integer getPageNumber() {
         return pageNumber;
     }
@@ -21,4 +23,12 @@ public class PageParams {
     public void setPageSize(Integer pageSize) {
         this.pageSize = pageSize;
     }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
 }

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

@@ -63,4 +63,6 @@ public interface DialogMapper
     List<DialogRespDTO> selectDialogExport(String appId);
 
     List<DialogRespDTO> selectDialogListByAppId(String appId);
+
+    List<DialogRespDTO> selectDialog(String appId);
 }

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

@@ -127,6 +127,6 @@ public interface IBigModelService
 
     JSONObject getModelList();
 
-    List<DialogRespDTO> selectDialogListByAppId(String appId);
+    List<Object> selectDialogListByAppId(String appId);
 
 }

+ 30 - 3
takai-bigmodel/src/main/java/com/takai/bigmodel/service/impl/BigModelServiceImpl.java

@@ -748,8 +748,10 @@ public class BigModelServiceImpl implements IBigModelService
     @Override
     public List<String> getAsyncCompletions(CompletionsParams params) {
         log.info("---question---", params.getMessages());
+        BmApplication bmApplication = BmApplication.builder().appId(params.getAppId()).build();
+        BmApplication resultApplication = bmApplicationMapper.selectTargetApplication(bmApplication);
         PromptObject vo = new PromptObject();
-        vo.setContent(QUESTION);
+        vo.setContent(resultApplication == null ? null : resultApplication.getPrompt());
         vo.setRole(USER_STR);
         params.getMessages().add(vo);
         String url = bigModelConfig.getAsyncCompletions();
@@ -1759,8 +1761,13 @@ public class BigModelServiceImpl implements IBigModelService
     }
 
     @Override
-    public List<DialogRespDTO> selectDialogListByAppId(String appId) {
-        return dialogMapper.selectDialogListByAppId(appId);
+    public List<Object> selectDialogListByAppId(String appId) {
+        List<DialogRespDTO> list = dialogMapper.selectDialog(appId);
+        List<Object> result = setDialogList(list);
+        return result;
+//        List<DialogRespDTO> list = dialogMapper.selectDialogListByAppId(appId);
+//        List<Object> result = setDialogList(list);
+//        return result;
     }
 
     private Request buildGetRequest(String url) {
@@ -1847,4 +1854,24 @@ public class BigModelServiceImpl implements IBigModelService
         }
     }
 
+    private List<Object> setDialogList(List<DialogRespDTO> list) {
+        //根据时间分组降序排序
+        NavigableMap<LocalDateTime, List<DialogRespDTO>> groupList = list.stream().collect(Collectors.groupingBy(DialogRespDTO::getCreate_time, TreeMap::new, Collectors.toList())).descendingMap();
+        List<Object> obj = new ArrayList();
+        if(!groupList.isEmpty()){
+            for(Map.Entry<LocalDateTime, List<DialogRespDTO>> entry: groupList.entrySet()){
+                List<DialogRespDTO> aList = entry.getValue();
+                List<DialogRespDTO> detailList = dialogMapper.selectDialogExport(aList.get(0).getId());
+                Map<String, Object> map = new HashMap();
+                map.put("dialog_name", aList.get(0).getDialog_name());
+                map.put("length", detailList.size());
+                map.put("create_time", aList.get(0).getCreate_time());
+                map.put("did", aList.get(0).getDid());
+                map.put("id", aList.get(0).getId());
+                obj.add(map);
+            }
+        }
+        return obj;
+    }
+
 }

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

@@ -45,20 +45,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<select id="selectDialogList"  resultMap="DialogResult">
 		select
-			max(d.id) as id,
-			d.app_id as appId,
-			d.knowledge_id as knowledgeId,
-			d.user_id as userId,
-			d.dialog_name,
-			date_format(d.create_time, '%Y-%m-%d') as create_time,
-			dd.id as did,
-		    dd.type,
-			dd.content,
-			dd.dialog_id
+		d.id as id,
+		d.app_id as appId,
+		d.dialog_name as dialog_name,
+		date_format(d.create_time, '%Y-%m-%d') as create_time
 		from dialog d
-		left join dialog_detail dd on d.id = dd.dialog_id
-		where d.app_id = #{appId}
-		GROUP BY d.app_id,d.create_time
+		<where>
+			<if test="appId != null">
+				d.app_id = #{appId}
+			</if>
+		</where>
+		GROUP BY d.id,d.app_id,d.dialog_name,d.create_time
 		ORDER BY d.create_time desc
 	</select>
  	
@@ -160,8 +157,29 @@ 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.app_id = #{appId}
+		<where>
+			<if test="appId != null">
+				d.app_id = #{appId}
+			</if>
+		</where>
 		ORDER BY dd.create_time asc, dd.type desc
 	</select>
+
+	<select id="selectDialog" resultMap="DialogResult">
+		select
+		d.id,
+		d.app_id as appId,
+		d.knowledge_id as knowledgeId,
+		d.user_id as userId,
+		d.dialog_name,
+		d.create_time
+		from dialog d
+		<where>
+			<if test="appId != null">
+				d.app_id = #{appId}
+			</if>
+		</where>
+		ORDER BY d.create_time asc
+	</select>
 	
 </mapper> 

+ 10 - 0
takai-common/src/main/java/com/takai/common/core/controller/BaseController.java

@@ -199,4 +199,14 @@ public class BaseController
     {
         return getLoginUser().getUsername();
     }
+
+    protected TableDataInfo getDataTableResultTotal(List<?> list, long total)
+    {
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setMsg("查询成功");
+        rspData.setRows(list);
+        rspData.setTotal(total);
+        return rspData;
+    }
 }

+ 0 - 7
takai-system/src/main/java/com/takai/system/mapper/PromptMapper.java

@@ -1,7 +0,0 @@
-package com.takai.system.mapper;
-
-public interface PromptMapper {
-
-    Prompt queryById(String appId);
-
-}

+ 0 - 18
takai-system/src/main/java/com/takai/system/service/IPromptService.java

@@ -1,18 +0,0 @@
-package com.takai.system.service;
-
-import java.util.List;
-
-public interface IPromptService {
-
-
-    Prompt queryById(String appId);
-
-
-    List<Prompt> queryList(Prompt bo);
-
-    Boolean insertByBo(Prompt bo);
-
-    Boolean updateByBo(Prompt bo);
-
-//    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
-}

+ 0 - 40
takai-system/src/main/java/com/takai/system/service/impl/PromptServiceImpl.java

@@ -1,40 +0,0 @@
-package com.takai.system.service.impl;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 【请填写功能名称】Service业务层处理
- *
- * @author Lion Li
- * @date 2025-02-06
- */
-@RequiredArgsConstructor
-@Service
-public class PromptServiceImpl implements IPromptService {
-
-    private final PromptMapper baseMapper;
-
-
-    @Override
-    public Prompt queryById(String appId) {
-        return baseMapper.queryById(appId);
-    }
-
-    @Override
-    public List<Prompt> queryList(Prompt bo) {
-        return null;
-    }
-
-    @Override
-    public Boolean insertByBo(Prompt bo) {
-        return null;
-    }
-
-    @Override
-    public Boolean updateByBo(Prompt bo) {
-        return null;
-    }
-}