diff --git a/chat-client/.env.development b/chat-client/.env.development index 0d5dbf3..60f78a1 100644 --- a/chat-client/.env.development +++ b/chat-client/.env.development @@ -2,11 +2,11 @@ # 此文件修改后需要重启项目 NODE_ENV=development #VUE_APP_BASE_URL='/vab-mock-server' -# VUE_APP_BASE_URL='http://localhost:10001' -# VUE_APP_API_BASE_URL='http://localhost:8080' +VUE_APP_BASE_URL='http://localhost:10001' +VUE_APP_API_BASE_URL='http://localhost:8080' #北京服务器配置 -VUE_APP_BASE_URL='http://192.168.1.211:80/brichat' -VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat' +# VUE_APP_BASE_URL='http://192.168.1.211:80/brichat' +# VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat' #武汉公司服务器 # VUE_APP_BASE_URL='http://192.168.8.253:80/brichat' # VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat' diff --git a/chat-client/.env.production b/chat-client/.env.production index ae24305..25733a0 100644 --- a/chat-client/.env.production +++ b/chat-client/.env.production @@ -2,11 +2,11 @@ # 此文件修改后需要重启项目 NODE_ENV=production # VUE_APP_BASE_URL='/vab-mock-server' -# VUE_APP_BASE_URL='http://localhost:10001' -# VUE_APP_API_BASE_URL='http://localhost:10001' +VUE_APP_BASE_URL='http://localhost:10001' +VUE_APP_API_BASE_URL='http://localhost:10001' #北京服务器 -VUE_APP_BASE_URL='http://192.168.1.211:80/brichat' -VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat' +# VUE_APP_BASE_URL='http://192.168.1.211:80/brichat' +# VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat' #武汉公司服务器 # VUE_APP_BASE_URL='http://192.168.8.253:80/brichat' # VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat' diff --git a/chat-client/src/api/prologue.ts b/chat-client/src/api/prologue.ts new file mode 100644 index 0000000..3d207d8 --- /dev/null +++ b/chat-client/src/api/prologue.ts @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +export function getRemark(chatType: string) { + return request({ + url: '/brichat-service/prologue/getRemark', + method: 'get', + params: { chatType }, + }) +} + +export function saveRemark(data: any) { + return request({ + url: '/brichat-service/prologue/saveRemark', + method: 'post', + data, + }) +} + +// 获取指定 chatType 下的推荐问题列表 +export function getRecommendations(chatType: string) { + return request({ + url: '/brichat-service/prologue/getRecommendations', + method: 'get', + params: { chatType }, + }) +} + +// 编辑推荐问题 +export function eidtRecommendation(data: any) { + return request({ + url: '/brichat-service/prologue/eidtRecommendation', + method: 'post', + data, + }) +} + +// 删除指定的推荐问题 +export function deleteRecommendation(id: string) { + return request({ + url: '/brichat-service/prologue/deleteRecommendation', + method: 'delete', + params: { id }, + }) +} \ No newline at end of file diff --git a/chat-client/src/locales/en.ts b/chat-client/src/locales/en.ts index abb54b4..bc9f906 100644 --- a/chat-client/src/locales/en.ts +++ b/chat-client/src/locales/en.ts @@ -523,5 +523,27 @@ export default { addSuccess: 'Add Successfully', addFail:'Add Failed' }, + prologue:{ + chatType: 'Chat Type', + selectChatType: 'Select Chat Type', + prologueContent: 'Prologue Content', + addRecommend: 'Add Recommendation', + recommendQuestion: 'Recommended Question', + actions: 'Actions', + edit: 'Edit', + delete: 'Delete', + confirmDelete: 'Are you sure you want to delete this recommendation?', + confirmSave: 'Are you sure you want to save the changes?', + deleteSuccess: 'Deleted successfully', + deleteFailure: 'Failed to delete, please try again later', + saveSuccess: 'Saved successfully', + saveFailure: 'Failed to save, please try again later', + loadSuccess: 'Loaded successfully', + loadFailure: 'Failed to load, please try again later', + noContent: 'No content found', + loading: 'Loading...', + updateRecommendation: 'Update Recommendation', + addRecommendation: 'Add Recommendation', + } }, } diff --git a/chat-client/src/locales/zh-TW.ts b/chat-client/src/locales/zh-TW.ts index 10ac3a3..7aa378f 100644 --- a/chat-client/src/locales/zh-TW.ts +++ b/chat-client/src/locales/zh-TW.ts @@ -523,5 +523,27 @@ export default { addSuccess:'新增成功', addFail:'新增失敗', }, + prologue:{ + chatType: '聊天類型', + selectChatType: '選擇聊天類型', + prologueContent: '開場白內容', + addRecommend: '新增推薦問題', + recommendQuestion: '推薦問題', + actions: '操作', + edit: '編輯', + delete: '刪除', + confirmDelete: '確定要刪除該推薦問題嗎?', + confirmSave: '是否確認保存修改?', + deleteSuccess: '刪除成功', + deleteFailure: '刪除失敗,請稍後重試', + saveSuccess: '保存成功', + saveFailure: '保存失敗,請稍後重試', + loadSuccess: '加載成功', + loadFailure: '加載失敗,請稍後重試', + noContent: '未找到內容', + loading: '加載中...', + updateRecommendation: '更新推薦問題', + addRecommendation: '新增推薦問題', + } }, } diff --git a/chat-client/src/locales/zh.ts b/chat-client/src/locales/zh.ts index 7af731b..24ef299 100644 --- a/chat-client/src/locales/zh.ts +++ b/chat-client/src/locales/zh.ts @@ -531,5 +531,27 @@ export default { addSuccess: '新增成功', addFail: '新增失败', }, + prologue:{ + chatType: '聊天类型', + selectChatType: '选择聊天类型', + prologueContent: '开场白内容', + addRecommend: '新增推荐问题', + recommendQuestion: '推荐问题', + actions: '操作', + edit: '编辑', + delete: '删除', + confirmDelete: '确定要删除该推荐问题吗?', + confirmSave: '是否确认保存修改?', + deleteSuccess: '删除成功', + deleteFailure: '删除失败,请稍后重试', + saveSuccess: '保存成功', + saveFailure: '保存失败,请稍后重试', + loadSuccess: '加载成功', + loadFailure: '加载失败,请稍后重试', + noContent: '未找到内容', + loading: '加载中...', + updateRecommendation: '更新推荐问题', + addRecommendation: '新增推荐问题', + } }, } diff --git a/chat-client/src/views/chatweb/chartReport/index.vue b/chat-client/src/views/chatweb/chartReport/index.vue index 3e74f40..ffc1f02 100644 --- a/chat-client/src/views/chatweb/chartReport/index.vue +++ b/chat-client/src/views/chatweb/chartReport/index.vue @@ -1,27 +1,30 @@ + diff --git a/chat-server/src/main/java/com/bjtds/brichat/controller/PrologueController.java b/chat-server/src/main/java/com/bjtds/brichat/controller/PrologueController.java new file mode 100644 index 0000000..c7733f0 --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/controller/PrologueController.java @@ -0,0 +1,51 @@ +package com.bjtds.brichat.controller; + +import com.bjtds.brichat.entity.sys.ApiKey; +import com.bjtds.brichat.entity.sys.PrologueQuestion; +import com.bjtds.brichat.entity.sys.SystemRemark; +import com.bjtds.brichat.service.PrologueService; +import com.bjtds.brichat.util.ResultUtils; +import com.netflix.discovery.converters.Auto; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Api(tags = "开场白配置") +@RestController +@Slf4j +@CrossOrigin(value = "*",maxAge = 3600) +@RequestMapping("/prologue") +public class PrologueController { + + @Autowired + private PrologueService prologueService; + + @GetMapping("/getRemark") + public ResultUtils getRemark(@RequestParam String chatType) { + SystemRemark systemRemark = prologueService.getRemark(chatType); + return ResultUtils.success(systemRemark); + } + + @PostMapping("/saveRemark") + public ResultUtils saveRemark(@RequestBody SystemRemark remark) { + return ResultUtils.success(prologueService.saveOrUpdate(remark)); + } + + @GetMapping("/getRecommendations") + public ResultUtils getRecommendations(@RequestParam String chatType) { + List questions = prologueService.getRecommendations(chatType); + return ResultUtils.success(questions); + } + + @DeleteMapping("/deleteRecommendation") + public ResultUtils deleteRecommendation(@RequestParam Integer id) { + return ResultUtils.success(prologueService.deleteRecommendQuestionById(id)); + } + +} diff --git a/chat-server/src/main/java/com/bjtds/brichat/entity/sys/PrologueQuestion.java b/chat-server/src/main/java/com/bjtds/brichat/entity/sys/PrologueQuestion.java new file mode 100644 index 0000000..df1db49 --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/entity/sys/PrologueQuestion.java @@ -0,0 +1,25 @@ +package com.bjtds.brichat.entity.sys; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PrologueQuestion { + private Integer id; + + // 聊天类型(1 表示诊断助手,2 表示通用问答...) + private String chatType; + + // 推荐问题内容 + private String questionContent; + + // 更新时间 + private LocalDateTime updatedAt; + +} diff --git a/chat-server/src/main/java/com/bjtds/brichat/entity/sys/SystemRemark.java b/chat-server/src/main/java/com/bjtds/brichat/entity/sys/SystemRemark.java new file mode 100644 index 0000000..d095359 --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/entity/sys/SystemRemark.java @@ -0,0 +1,25 @@ +package com.bjtds.brichat.entity.sys; + +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor + +public class SystemRemark { + private Integer id; + + // 聊天类型(1 表示诊断助手,2 表示通用问答...) + private String chatType; + + // 开场白内容 + private String content; + + // 更新时间 + private LocalDateTime updatedAt; +} diff --git a/chat-server/src/main/java/com/bjtds/brichat/mapper/opengauss/PrologueMapper.java b/chat-server/src/main/java/com/bjtds/brichat/mapper/opengauss/PrologueMapper.java new file mode 100644 index 0000000..bfc933c --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/mapper/opengauss/PrologueMapper.java @@ -0,0 +1,19 @@ +package com.bjtds.brichat.mapper.opengauss; + +import com.bjtds.brichat.entity.sys.PrologueQuestion; +import com.bjtds.brichat.entity.sys.SystemRemark; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PrologueMapper { + + SystemRemark findByChatType(String chatType); + + Boolean updateRemark(SystemRemark remark); + + List getQuestionsbyChatType(String chatType); + + Boolean deleteQuesById(Integer id); +} diff --git a/chat-server/src/main/java/com/bjtds/brichat/service/PrologueService.java b/chat-server/src/main/java/com/bjtds/brichat/service/PrologueService.java new file mode 100644 index 0000000..61ce143 --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/service/PrologueService.java @@ -0,0 +1,18 @@ +package com.bjtds.brichat.service; + + +import com.bjtds.brichat.entity.sys.PrologueQuestion; +import com.bjtds.brichat.entity.sys.SystemRemark; + +import java.util.List; + +public interface PrologueService { + + SystemRemark getRemark(String chatType); + + Boolean saveOrUpdate(SystemRemark remark); + + List getRecommendations(String chatType); + + Boolean deleteRecommendQuestionById(Integer id); +} diff --git a/chat-server/src/main/java/com/bjtds/brichat/service/impl/PrologueServiceImpl.java b/chat-server/src/main/java/com/bjtds/brichat/service/impl/PrologueServiceImpl.java new file mode 100644 index 0000000..0db08c8 --- /dev/null +++ b/chat-server/src/main/java/com/bjtds/brichat/service/impl/PrologueServiceImpl.java @@ -0,0 +1,45 @@ +package com.bjtds.brichat.service.impl; + +import com.bjtds.brichat.entity.sys.PrologueQuestion; +import com.bjtds.brichat.entity.sys.SystemRemark; +import com.bjtds.brichat.mapper.opengauss.PrologueMapper; +import com.bjtds.brichat.service.PrologueService; +import com.netflix.discovery.converters.Auto; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; + +@Slf4j +@Service +public class PrologueServiceImpl implements PrologueService { + + @Autowired + private PrologueMapper prologueMapper; + + @Override + public SystemRemark getRemark(String chatType) { + return prologueMapper.findByChatType(chatType); + } + + @Override + public Boolean saveOrUpdate(SystemRemark remark) { + SystemRemark re = new SystemRemark(); + re.setContent(remark.getContent()); + re.setChatType(remark.getChatType()); + re.setUpdatedAt(LocalDateTime.now()); + return prologueMapper.updateRemark(re); + } + + @Override + public List getRecommendations(String chatType) { + return prologueMapper.getQuestionsbyChatType(chatType); + } + + @Override + public Boolean deleteRecommendQuestionById(Integer id) { + return prologueMapper.deleteQuesById(id); + } +} diff --git a/chat-server/src/main/resources/application-beijing.yml b/chat-server/src/main/resources/application-beijing.yml index d875e11..b8f4057 100644 --- a/chat-server/src/main/resources/application-beijing.yml +++ b/chat-server/src/main/resources/application-beijing.yml @@ -48,4 +48,4 @@ dify: email: bjtds@bjtds.com # 请替换为实际的 Dify 服务邮箱,若不需要调用 server相关接口可不填 password: 123456Aa # 请替换为实际的 Dify 服务密码,若不需要调用 server相关接口可不填 dataset: - api-key: ${dify-dataset-api-key:dataset-0Hij9IwoWYbJe1vvwVh8y7DS} # 请替换为实际的知识库api-key, 若不需要调用知识库可不填 \ No newline at end of file + api-key: ${dify-dataset-api-key:dataset-zVa4uJBUem96P19o8iBtyihQ} # 请替换为实际的知识库api-key, 若不需要调用知识库可不填 \ No newline at end of file diff --git a/chat-server/src/main/resources/com/bjtds/brichat/mapper/opengauss/PrologueMapper.xml b/chat-server/src/main/resources/com/bjtds/brichat/mapper/opengauss/PrologueMapper.xml new file mode 100644 index 0000000..ec7e8c6 --- /dev/null +++ b/chat-server/src/main/resources/com/bjtds/brichat/mapper/opengauss/PrologueMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + update bripg.t_chat_prologue + set content= #{content} , updated_at =#{updatedAt} + where chat_type = #{chatType} + + + DELETE FROM bripg.t_chat_recommendations + WHERE id = #{id} + + + + + \ No newline at end of file diff --git a/web-server/infrastructure/src/main/resources/application-opengauss.yml b/web-server/infrastructure/src/main/resources/application-opengauss.yml index 74404dc..c7b8c2e 100644 --- a/web-server/infrastructure/src/main/resources/application-opengauss.yml +++ b/web-server/infrastructure/src/main/resources/application-opengauss.yml @@ -13,7 +13,7 @@ spring: # url: jdbc:opengauss://${db-host:192.168.8.241}:${db-port:15000}/${db-name:bridb} # username: ${db-username:bripg} # password: ${db-passwd:Chuangrui139*} - url: jdbc:opengauss://${db-host:192.168.8.253}:${db-port:6600}/${db-name:bridb} + url: jdbc:opengauss://${db-host:192.168.1.211}:${db-port:6600}/${db-name:bridb} username: ${db-username:bripg} password: ${db-passwd:Chuangrui139*} servlet: diff --git a/web-server/zuul-server/src/main/resources/application-opengauss.yml b/web-server/zuul-server/src/main/resources/application-opengauss.yml index 9616618..797405c 100644 --- a/web-server/zuul-server/src/main/resources/application-opengauss.yml +++ b/web-server/zuul-server/src/main/resources/application-opengauss.yml @@ -17,7 +17,7 @@ spring: # password: ${db-passwd:Chuangrui139*} # #pg版本 - url: jdbc:opengauss://${db-host:192.168.8.253}:${db-port:6600}/${db-name:bridb} + url: jdbc:opengauss://${db-host:192.168.1.211}:${db-port:6600}/${db-name:bridb} username: ${db-username:bripg} password: ${db-passwd:Chuangrui139*} # hikari: