当前位置: 首页 > 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);}
http://www.xdnf.cn/news/746893.html

相关文章:

  • InfluxDB 高级函数详解:DERIVATIVE、INTEGRAL、SPREAD、HISTOGRAM 与 DIFFERENCE
  • [SC]SystemC在CPU/GPU验证中的应用(五)
  • 22睿抗省赛真题
  • DAY41
  • 【SLAM自救笔记1】:苟活
  • 【Netty系列】消息编码解码框架
  • LeetCode[110]平衡二叉树
  • 第6章 放大电路的反馈
  • AI Agent、Function Calling 与 MCP 协议的原理与实践
  • Linux系统-基本指令(4)
  • 评标专家随机抽选系统-建设方案——仙盟创梦IDE
  • WEB3——简易NFT铸造平台之nft.storage
  • 【知识点进阶】
  • Java 中 Redis 过期策略深度解析(含拓展-redis内存淘汰策略列举)
  • TI MSPM0G3507 简易PID项目显示和按键控制
  • [SLAM自救笔记0]:开端
  • 安装win11之后,电脑经常会跳出“无法在此设备上加载驱动程序”的提示。无法加载的驱动程序分别为“pcdsrvc_x64.pkms”“iqvw64e.sys”
  • OpenHarmony标准系统-HDF框架之音频驱动开发
  • 2.2HarmonyOS NEXT高性能开发技术:编译优化、内存管理与并发编程实践
  • Spring Cache核心原理与快速入门指南
  • Leetcode 1908. Nim 游戏 II
  • 【shell】让 CPU 运行到满负荷状态
  • 传统液晶瓶颈待破?铁电液晶如何实现显示技术逆袭
  • 快速掌握 GO 之 RabbitMQ
  • 嵌入式编译工具链熟悉与游戏移植
  • Python训练第四十天
  • Jmeter requests
  • LLMs之Tool:Workflow Use的简介、特点、安装和使用方法、以及案例应用
  • c++ typeid运算符
  • 如何打包conda环境从一台电脑到另外一台电脑