当前位置: 首页 > news >正文

山东大学软件学院项目实训-基于大模型的模拟面试系统-面试官和面试记录的分享功能(2)

本文记录在发布文章时,可以添加自己创建的面试官和面试记录到文章中这一功能的实现。

前端

首先是在原本的界面的底部添加了两个多选框(后期需要美化调整)

在这里插入图片描述
实现的代码:

      <el-col style="margin-top: 1rem;"><el-selectstyle="width: 100%; margin-bottom: 1rem;"v-model="selectedInterviewers"multiplefilterableplaceholder="请选择面试官":loading="interviewersLoading"><el-optionv-for="item in interviewersList":key="item.interviewerId":label="item.name":value="item.interviewerId"><span>{{ item.name }}</span></el-option></el-select><el-selectstyle="width: 100%; margin-bottom: 1rem;"v-model="selectedInterviews"multiplefilterableplaceholder="请选择面试记录":loading="interviewsLoading"><el-optionv-for="item in interviewsList":key="item.chatId":label="item.topic":value="item.chatId"><span>{{ item.topic }}</span><!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.topic }}</span> --></el-option></el-select></el-col>

然后是前端脚本,添加以下函数:

  1. getInterviewers用来获取该用户创建的所有面试官。
  2. getInterviews用来获取该用户创建的所有面试记录。

其次,在创建文章和保存文章时,也添加了两个列表分别存储面试官ID和面试记录ID。

    // 获取用户创建的面试官列表async getInterviewers() {let _ts = this;_ts.interviewersLoading = true;try {const res = await _ts.$axios.$get('/api/share/getUserInterviewers');if (res) {_ts.$set(_ts, 'interviewersList', res);console.log(res);}} catch (err) {_ts.$message.error('获取面试官列表失败');} finally {_ts.interviewersLoading = false;}},
    // 获取用户创建的面试记录列表async getInterviews() {let _ts = this;_ts.interviewsLoading = true;try {const res = await _ts.$axios.$get('/api/share/getUserChatRecords');if (res) {_ts.$set(_ts, 'interviewsList', res);console.log(res);}} catch (err) {_ts.$message.error('获取面试记录列表失败');} finally {_ts.interviewsLoading = false;}}

后端接口

  1. getUserInterviewers用来获取该用户创建的所有面试官。
  2. /getUserChatRecords用来获取该用户创建的所有面试记录。
    @GetMapping("/getUserInterviewers")public GlobalResult getUserInterviewers() {Long idUser = UserUtils.getCurrentUserByToken().getIdUser();List<Interviewer> interviewers = interviewerService.findInterviewers().stream().filter(interviewer -> interviewer.getUserId() != null && interviewer.getUserId().equals(idUser)).collect(Collectors.toList());return GlobalResultGenerator.genSuccessResult(interviewers);}@GetMapping("/getUserChatRecords")public GlobalResult getUserChatRecords() {Long idUser = UserUtils.getCurrentUserByToken().getIdUser();// 1. 查询用户的所有面试官List<Interviewer> interviewers = interviewerService.findInterviewers();// 2. 收集所有面试记录List<ChatRecords> allRecords = new ArrayList<>();for (Interviewer interviewer : interviewers) {ChatRecords query = new ChatRecords();query.setUserId(idUser);query.setInterviewerId(interviewer.getInterviewerId());allRecords.addAll(chatService.getChatRecords(query));}return GlobalResultGenerator.genSuccessResult(allRecords);}

相关文章:

  • Aviator复习
  • 【快速解决】数据库快速导出成sql文件
  • 【Netty系列】实现HTTP文件服务器
  • 【Kotlin】简介变量类接口
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月31日第94弹
  • [9-3] 串口发送串口发送+接收 江协科技学习笔记(26个知识点)
  • Kafka 如何保证不重复消费
  • C++中 newdelete 与 mallocfree 的异同详解
  • Matlab数据类型
  • Redis7底层数据结构解析
  • Redis:功能特性和应用场景
  • c++ typeid运算符
  • [Windows] Dism++_Mod系统清理优化利器v10.1.1002.1B绿色魔改版
  • 【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 文件事件处理部分)
  • 大数据运维过程中常见的一些操作
  • 【Dv3Admin】工具分页配置文件解析
  • TomatoSCI分析日记:数据分析为什么用csv不用excel
  • javaScirpt学习第五章(函数)-第二部分
  • AI学习笔记(一)背景学习
  • 编辑器之神 Vim
  • 做网站的公司苏州/网站制作代码
  • 可以做网页的网站/网站产品怎么优化
  • 兰州微网站/北京网站优化策略
  • 建设银行开县支行 网站/网站seo平台
  • 军人可以做网站吗/无忧软文网
  • 营销策划岗位职责/关于进一步优化当前疫情防控措施