ソースを参照

首页应用类型

S0025136190 5 ヶ月 前
コミット
c15f918805

+ 23 - 0
takai-admin/src/main/java/com/takai/web/controller/takaiai/TakaiAiController.java

@@ -10,10 +10,12 @@ import com.takai.bigmodel.domain.entity.PageParams;
 import com.takai.common.annotation.Log;
 import com.takai.common.core.controller.BaseController;
 import com.takai.common.core.domain.AjaxResult;
+import com.takai.common.core.domain.entity.SysDictData;
 import com.takai.common.core.page.TableDataInfo;
 import com.takai.ai.domain.dto.TakaiDialogRespDTO;
 import com.takai.common.enums.BusinessType;
 import com.takai.common.utils.poi.ExcelUtil;
+import com.takai.system.service.ISysDictDataService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +37,9 @@ public class TakaiAiController extends BaseController {
     @Autowired
     private ITakaiAiService takaiAisService;
 
+    @Autowired
+    private ISysDictDataService dictDataService;
+
     /**
      * 对话聊天
      *
@@ -541,6 +546,24 @@ public class TakaiAiController extends BaseController {
         return success(takaiAisService.searchSlice(id));
     }
 
+    @GetMapping(value = "/{dictType}")
+    public AjaxResult geDictInfo(@PathVariable String dictType)
+    {
+        SysDictData dictData = new SysDictData();
+        dictData.setDictType(dictType);
+        List<SysDictData> dictDataList = dictDataService.selectDictDataList(dictData);
+        return success(dictDataList);
+    }
+
+    @GetMapping("/appType")
+    public AjaxResult appType() {
+        SysDictData dictData = new SysDictData();
+        dictData.setDictType("app_type");
+        List<SysDictData> dictDataList = dictDataService.selectDictDataList(dictData);
+        List<Object> list = takaiAisService.searchAppTypeGroupList(dictDataList);
+        return success(list);
+    }
+
     @GetMapping("/test")
     public AjaxResult test() {
         TakaiMediaReplacement vo = takaiAisService.getTakaiMediaReplacement();

+ 25 - 2
takai-ai/src/main/java/com/takai/ai/domain/entity/TakaiApplication.java

@@ -52,8 +52,12 @@ public class TakaiApplication extends BaseEntity
     /** max_token */
     private Integer maxToken;
 
+    private String paramDesc;
+
     private String knowledgeInfo;
 
+    private Long typeId;
+
     public String getAppId() {
         return appId;
     }
@@ -158,6 +162,22 @@ public class TakaiApplication extends BaseEntity
         this.knowledgeInfo = knowledgeInfo;
     }
 
+    public String getParamDesc() {
+        return paramDesc;
+    }
+
+    public void setParamDesc(String paramDesc) {
+        this.paramDesc = paramDesc;
+    }
+
+    public Long getTypeId() {
+        return typeId;
+    }
+
+    public void setTypeId(Long typeId) {
+        this.typeId = typeId;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -172,12 +192,15 @@ public class TakaiApplication extends BaseEntity
             .append("model", getModel())
             .append("iconColor", getIconColor())
             .append("iconType", getIconType())
+            .append("maxToken", getMaxToken())
+            .append("paramDesc", getParamDesc())
+            .append("knowledgeInfo", getKnowledgeInfo())
+            .append("typeId", getTypeId())
+            .append("remark", getRemark())
             .append("createBy", getCreateBy())
             .append("createTime", getCreateTime())
             .append("updateBy", getUpdateBy())
             .append("updateTime", getUpdateTime())
-            .append("maxToken", getMaxToken())
-            .append("knowledgeInfo", getKnowledgeInfo())
             .toString();
     }
     @Override

+ 10 - 0
takai-ai/src/main/java/com/takai/ai/domain/entity/TakaiApplicationParams.java

@@ -32,6 +32,8 @@ public class TakaiApplicationParams {
 
     private List<String> questionList;
 
+    private Long typeId;
+
     public String getName() {
         return name;
     }
@@ -143,4 +145,12 @@ public class TakaiApplicationParams {
     public void setSlice_count(Integer slice_count) {
         this.slice_count = slice_count;
     }
+
+    public Long getTypeId() {
+        return typeId;
+    }
+
+    public void setTypeId(Long typeId) {
+        this.typeId = typeId;
+    }
 }

+ 4 - 0
takai-ai/src/main/java/com/takai/ai/service/ITakaiAiService.java

@@ -5,10 +5,12 @@ import com.takai.ai.domain.dto.TakaiDialogReqDTO;
 import com.takai.ai.domain.dto.TakaiDialogRespDTO;
 import com.takai.ai.domain.dto.TakaiQuestionDTO;
 import com.takai.ai.domain.entity.*;
+import com.takai.common.core.domain.entity.SysDictData;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 高井 业务层
@@ -96,4 +98,6 @@ public interface ITakaiAiService
 
     JSONObject searchSlice(String id);
 
+    List<Object>  searchAppTypeGroupList(List<SysDictData> dictDataList);
+
 }

+ 29 - 0
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -12,6 +12,7 @@ import com.takai.ai.utils.MinioUtil;
 import com.takai.ai.utils.SnowflakeDigitGenerator;
 import com.takai.common.annotation.DataSource;
 import com.takai.common.config.DeepseekConfig;
+import com.takai.common.core.domain.entity.SysDictData;
 import com.takai.common.core.redis.RedisCache;
 import com.takai.common.enums.DataSourceType;
 import com.takai.common.utils.StringUtils;
@@ -721,6 +722,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                 .prompt(params.getPrompt())
                 .knowledgeInfo(params.getKnowledge_info())
                 .sliceCount(params.getSlice_count())
+                .typeId(params.getTypeId())
                 .build();
         int i = takaiApplicationMapper.insertApplication(info);
         if (i > 0) {
@@ -757,6 +759,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                 .prompt(params.getPrompt())
                 .knowledgeInfo(params.getKnowledge_info())
                 .sliceCount(params.getSlice_count())
+                .typeId(params.getTypeId())
                 .build();
         int i = takaiApplicationMapper.updateApplication(info);
         if (1 > 0) {
@@ -1042,6 +1045,32 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
         return null;
     }
 
+    @Override
+    public List<Object> searchAppTypeGroupList(List<SysDictData> dictDataList) {
+        List<Object> result =  new ArrayList();
+        if (dictDataList!= null && dictDataList.size() > 0) {
+            for (SysDictData dictData : dictDataList){
+                Map<String, Object> map = new HashMap();
+                List<TakaiApplication> list = takaiApplicationMapper.selectApplicationList(TakaiApplication.builder().typeId(dictData.getDictCode()).build());
+                if(list!= null && list.size() > 0){
+                    map.put("title", dictData.getDictLabel());
+                    List<Object> appInfoList = new ArrayList();
+                    for (TakaiApplication application : list){
+                        Map<String, Object> infoMap = new HashMap();
+                        infoMap.put("title", application.getName());
+                        infoMap.put("appId", application.getAppId());
+                        infoMap.put("showMenu", "false");
+                        infoMap.put("chatMode", "LOCAL");
+                        appInfoList.add(infoMap);
+                    }
+                    map.put("children", appInfoList);
+                    result.add(map);
+                }
+            }
+        }
+        return result;
+    }
+
     private JSONObject analysisFile(List<UploadDocumentParams> result, TakaiDocumentSettings settings, String flag) {
         String url = deepseekConfig.getBaseurl() + deepseekConfig.getUploadKnowledge();
         JSONObject json = new JSONObject();

+ 11 - 4
takai-ai/src/main/resources/mapper/takaiai/TakaiApplicationMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.takai.ai.mapper.TakaiApplicationMapper">
-	
+
 	<resultMap type="com.takai.ai.domain.entity.TakaiApplication" id="BmApplicationResult">
 		<id property="appId"   column="appId"   />
 		<result property="name"  column="name"  />
@@ -18,16 +18,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="iconType"   column="icon_type"   />
 		<result property="maxToken" column="max_token" />
 		<result property="paramDesc"   column="param_desc"/>
+		<result property="knowledgeInfo" column="knowledge_info" />
+		<result property="typeId" column="type_id" />
 		<result property="remark"   column="remark"   />
 		<result property="createBy"   column="create_by"   />
 		<result property="createTime" column="create_time" />
 		<result property="updateBy"   column="update_by"   />
 		<result property="updateTime" column="update_time" />
-		<result property="knowledgeInfo" column="knowledge_info" />
 	</resultMap>
 	
 	<sql id="selectSql">
-        select appId, name, description, prompt, top_p, temperature, knowledge_ids, slice_count,model,icon_color,icon_type,max_token, create_by, create_time, remark, knowledge_info
+		select appId, name, description, prompt, top_p, temperature, knowledge_ids, slice_count,model,icon_color,icon_type,max_token, param_desc, knowledge_info, type_id, remark, create_by, create_time, update_by, update_time
 		from bm_application
     </sql>
 
@@ -37,8 +38,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		    <if test="appId != null and appId != ''">
 				AND appId = #{appId}
 			</if>
+			<if test="typeId != null and typeId != ''">
+				AND type_id = #{typeId}
+			</if>
 		</where>
-		order by create_time asc
+		order by create_time desc
 	</select>
 
 	<select id="selectTargetApplication" parameterType="BmApplication" resultMap="BmApplicationResult">
@@ -63,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="createBy != null and createBy != ''">create_by,</if>
 		    <if test="knowledgeInfo != null and knowledgeInfo != ''">knowledge_info,</if>
 		    <if test="maxToken != null and maxToken != ''">max_token,</if>
+		    <if test="typeId != null and typeId != ''">type_id,</if>
  			create_time
  		)values(
 			<if test="appId != null">#{appId},</if>
@@ -80,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
 		    <if test="knowledgeInfo != null and knowledgeInfo != ''">#{knowledgeInfo},</if>
 		    <if test="maxToken != null and maxToken != ''">#{maxToken},</if>
+		    <if test="typeId != null and typeId != ''">#{typeId},</if>
  			sysdate()
  		)
 	</insert>
@@ -101,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="remark != null">remark = #{remark},</if>
 			<if test="knowledgeInfo != null and knowledgeInfo != ''">knowledge_info = #{knowledgeInfo},</if>
 			<if test="maxToken != null and maxToken != ''">max_token = #{maxToken},</if>
+			<if test="typeId != null and typeId != ''">type_id = #{typeId},</if>
 			update_time = sysdate()
 		</set>
 		where appId = #{appId}