Bläddra i källkod

消息存库 导出

S0025136190 1 år sedan
förälder
incheckning
58b73fd0a6

+ 16 - 0
takai-admin/src/main/java/com/takai/web/controller/bigmodel/BigModelController.java

@@ -1,5 +1,7 @@
 package com.takai.web.controller.bigmodel;
 package com.takai.web.controller.bigmodel;
 
 
+import com.takai.bigmodel.domain.dto.DialogReqDTO;
+import com.takai.bigmodel.domain.dto.DialogRespDTO;
 import com.takai.bigmodel.domain.entity.BmApplication;
 import com.takai.bigmodel.domain.entity.BmApplication;
 import com.takai.bigmodel.domain.entity.SseParams;
 import com.takai.bigmodel.domain.entity.SseParams;
 import com.takai.bigmodel.service.IBigModelService;
 import com.takai.bigmodel.service.IBigModelService;
@@ -57,4 +59,18 @@ public class BigModelController extends BaseController {
         return success(apps);
         return success(apps);
     }
     }
 
 
+    @PostMapping("/dialog/save")
+    public AjaxResult saveDialog(@RequestBody DialogReqDTO dialogReqDTO)
+    {
+        bigModelService.saveDialog(dialogReqDTO);
+        return success();
+    }
+
+    @GetMapping("/dialog/list")
+    public AjaxResult dialogList()
+    {
+        List<DialogRespDTO> dialogs = bigModelService.getDialogList();
+        return success(dialogs);
+    }
+
 }
 }

+ 21 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/DialogDetailReqDTO.java

@@ -0,0 +1,21 @@
+package com.takai.bigmodel.domain.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Data
+public class DialogDetailReqDTO {
+
+    @NotNull(message = "明细id不能为空")
+    private String id;
+
+    private String role;
+
+    private String content;
+
+    private LocalDateTime date;
+
+    private String dialogId;
+}

+ 17 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/DialogReqDTO.java

@@ -0,0 +1,17 @@
+package com.takai.bigmodel.domain.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+public class DialogReqDTO {
+
+    @NotNull(message = "id不能为空")
+    private String id;
+
+    private List<DialogDetailReqDTO> message;
+
+
+}

+ 25 - 0
takai-bigmodel/src/main/java/com/takai/bigmodel/domain/dto/DialogRespDTO.java

@@ -0,0 +1,25 @@
+package com.takai.bigmodel.domain.dto;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class DialogRespDTO {
+
+    private String id;
+
+    private String did;
+
+    private String dialog_name;
+
+    private String dialog_id;
+
+    private String type;
+
+    private String content;
+
+    private LocalDateTime create_time;
+
+
+}

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

@@ -0,0 +1,57 @@
+package com.takai.bigmodel.mapper;
+
+import com.takai.bigmodel.domain.dto.DialogDetailReqDTO;
+import com.takai.bigmodel.domain.dto.DialogRespDTO;
+import com.takai.bigmodel.domain.entity.BmApplication;
+
+import java.util.List;
+
+/**
+ * 智谱 对话消息头表信息
+ * 
+ * @author takai
+ */
+public interface DialogMapper
+{
+    /**
+     * 查询消息信息
+     * @return 消息信息
+     */
+    public List<DialogRespDTO> selectDialogList();
+
+
+    /**
+     * 查询对话消息头表信息
+     * @param dialogId
+     * @return
+     */
+    public String selectDialogById(String dialogId);
+
+    /**
+     * 查询对话消息明细表信息
+     * @param dialogId
+     * @return
+     */
+    public String selectDialogDetailById(String dialogId);
+
+
+    /**
+     * 新增对话消息头表信息
+     * 
+     * @param dialogId
+     * @return 结果
+     */
+    public void insertDialog(String dialogId);
+
+    /**
+     * 新增对话消息头表信息
+     *
+     * @param dialogId
+     * @return 结果
+     */
+    public void insertDialogDetail(DialogDetailReqDTO dialogId);
+
+
+
+
+}

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

@@ -1,5 +1,7 @@
 package com.takai.bigmodel.service;
 package com.takai.bigmodel.service;
 
 
+import com.takai.bigmodel.domain.dto.DialogReqDTO;
+import com.takai.bigmodel.domain.dto.DialogRespDTO;
 import com.takai.bigmodel.domain.entity.*;
 import com.takai.bigmodel.domain.entity.*;
 import com.takai.common.core.domain.entity.SysDictData;
 import com.takai.common.core.domain.entity.SysDictData;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
@@ -56,4 +58,8 @@ public interface IBigModelService
     List<BmKnowledge> getKnowledgeList();
     List<BmKnowledge> getKnowledgeList();
 
 
     List<BmDocument> getDocumentList(String knowledageId);
     List<BmDocument> getDocumentList(String knowledageId);
+
+    void saveDialog(DialogReqDTO dialogReqDTO);
+
+    List<DialogRespDTO> getDialogList();
 }
 }

+ 29 - 4
takai-bigmodel/src/main/java/com/takai/bigmodel/service/impl/BigModelServiceImpl.java

@@ -3,11 +3,11 @@ package com.takai.bigmodel.service.impl;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
+import com.takai.bigmodel.domain.dto.DialogDetailReqDTO;
+import com.takai.bigmodel.domain.dto.DialogReqDTO;
+import com.takai.bigmodel.domain.dto.DialogRespDTO;
 import com.takai.bigmodel.domain.entity.*;
 import com.takai.bigmodel.domain.entity.*;
-import com.takai.bigmodel.mapper.BmApplicationMapper;
-import com.takai.bigmodel.mapper.BmDocumentMapper;
-import com.takai.bigmodel.mapper.BmKnowledgeMapper;
-import com.takai.bigmodel.mapper.BmMediaReplacementMapper;
+import com.takai.bigmodel.mapper.*;
 import com.takai.bigmodel.service.IBigModelService;
 import com.takai.bigmodel.service.IBigModelService;
 import com.takai.common.config.BigModelConfig;
 import com.takai.common.config.BigModelConfig;
 import com.takai.common.core.redis.RedisCache;
 import com.takai.common.core.redis.RedisCache;
@@ -50,6 +50,9 @@ public class BigModelServiceImpl implements IBigModelService
     @Autowired
     @Autowired
     private BmDocumentMapper bmDocumentMapper;
     private BmDocumentMapper bmDocumentMapper;
 
 
+    @Autowired
+    private DialogMapper dialogMapper;
+
     @Autowired
     @Autowired
     private BigModelConfig bigModelConfig;
     private BigModelConfig bigModelConfig;
 
 
@@ -486,6 +489,28 @@ public class BigModelServiceImpl implements IBigModelService
         return bmDocumentList;
         return bmDocumentList;
     }
     }
 
 
+    @Override
+    public void saveDialog(DialogReqDTO dialogReqDTO) {
+        String dialogId = dialogReqDTO.getId();
+        String id = dialogMapper.selectDialogById(dialogId);
+        if(id == null) {
+            dialogMapper.insertDialog(dialogId);
+        }
+        for(DialogDetailReqDTO dto  : dialogReqDTO.getMessage()) {
+            dto.setDialogId(dialogId);
+            String detailId = dialogMapper.selectDialogDetailById(dto.getId());
+            if(detailId == null) {
+                dialogMapper.insertDialogDetail(dto);
+            }
+        }
+    }
+
+    @Override
+    public List<DialogRespDTO> getDialogList() {
+        List<DialogRespDTO> dialogRespDTOS = dialogMapper.selectDialogList();
+        return dialogRespDTOS;
+    }
+
     private Request buildGetRequest(String url) {
     private Request buildGetRequest(String url) {
         return new Request.Builder()
         return new Request.Builder()
                 .addHeader("accept", "*/*")
                 .addHeader("accept", "*/*")

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

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.takai.bigmodel.mapper.DialogMapper">
+	
+	<resultMap type="DialogRespDTO" id="DialogResult">
+		<id property="id"   column="id"   />
+		<result property="dialog_name"  column="dialog_name"  />
+		<result property="dialog_id"  column="dialog_id"  />
+		<result property="did"   column="did"   />
+		<result property="content"   column="content"   />
+		<result property="type"   column="type"   />
+		<result property="create_time" column="create_time" />
+	</resultMap>
+
+	<resultMap type="String" id="DialogIdResult">
+		<id property="id"   column="id"   />
+	</resultMap>
+	
+	<sql id="selectSql">
+        select id
+		from dialog
+    </sql>
+
+	<select id="selectDialogById" parameterType="String" resultMap="DialogIdResult">
+		select id
+		from dialog
+		<where>
+		    <if test="dialogId != null and dialogId != ''">
+				AND id = #{dialogId}
+			</if>
+		</where>
+	</select>
+
+	<select id="selectDialogDetailById" parameterType="String" resultMap="DialogIdResult">
+		select id
+		from dialog_detail
+		<where>
+			<if test="detailId != null and detailId != ''">
+				AND id = #{detailId}
+			</if>
+		</where>
+	</select>
+
+	<select id="selectDialogList"  resultMap="DialogResult">
+		select d.id
+		,d.dialog_name
+		,dd.id as did
+		,dd.type
+		,dd.content
+		,dd.dialog_id
+		,dd.create_time
+		from dialog d
+		left join dialog_detail dd on d.id = dd.dialog_id
+		order by d.id asc
+	</select>
+ 	
+ 	<insert id="insertDialog" parameterType="String">
+ 		insert into dialog(
+ 			<if test="dialogId != null">id,</if>
+ 			create_time
+ 		)values(
+			<if test="dialogId != null">#{dialogId},</if>
+ 			sysdate()
+ 		)
+	</insert>
+
+	<insert id="insertDialogDetail" parameterType="DialogDetailReqDTO">
+		insert into dialog(
+		<if test="id != null">id,</if>
+		<if test="dialogId != null">dialog_id,</if>
+		<if test="role != null">type,</if>
+		<if test="content != null">content,</if>
+		<if test="role != null">create_by,</if>
+		<if test="date != null">create_time</if>
+		)values(
+		<if test="id != null">#{id},</if>
+		<if test="dialogId != null">#{dialogId},</if>
+		<if test="role != null">#{role},</if>
+		<if test="content != null">#{content},</if>
+		<if test="role != null">#{role},</if>
+		<if test="date != null">#{date}</if>
+		)
+	</insert>
+	
+</mapper> 

+ 1 - 1
takai-framework/src/main/java/com/takai/framework/config/SecurityConfig.java

@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 过滤请求
                 // 过滤请求
                 .authorizeRequests()
                 .authorizeRequests()
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
-                .antMatchers("/login", "/register", "/captchaImage","/getToken","/**/sse-invoke","/**/application/list").permitAll()
+                .antMatchers("/login", "/register", "/captchaImage","/getToken","/**/sse-invoke","/**/application/list","/bigmodel/api/dialog/*").permitAll()
                 // 静态资源,可匿名访问
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()