分页查询面试记录和面试详情
文章目录
- 1.分页查询面试记录
- 1.req和vo
- 1.InterviewHistoryReq.java
- 2.InterviewHistoryVO.java
- 2.InterviewController.java
- 3.service
- 1.InterviewHistoryService.java
- 2.InterviewHistoryServiceImpl.java
- 4.测试
- 2.查询面试详情
- 1.InterviewQuestionHistoryVO.java
- 2.InterviewController.java
- 3.InterviewQuestionHistoryService.java
- 4.InterviewQuestionHistoryServiceImpl.java
- 5.测试
1.分页查询面试记录
1.req和vo
1.InterviewHistoryReq.java
package com.sunxiansheng.interview.server.entity.req;import com.sunxiansheng.interview.server.entity.page.PageInfo;
import lombok.Data;
import lombok.experimental.Accessors;import java.io.Serializable;/*** 分页信息** @author sun* @since 2024-07-21 16:03:41*/
@Data
@Accessors(chain = true) // 支持链式调用
public class InterviewHistoryReq implements Serializable {private static final long serialVersionUID = 1L;/*** 分页信息*/private PageInfo pageInfo;}
2.InterviewHistoryVO.java
package com.sunxiansheng.interview.api.vo;import lombok.Data;import java.io.Serializable;/*** 面试汇总记录表(InterviewHistory)实体类** @author makejava* @since 2024-05-23 22:56:03*/
@Data
public class InterviewHistoryVO implements Serializable {private static final long serialVersionUID = -69404155056273562L;/*** id*/private Long id;/*** 平均分*/private double avgScore;/*** 面试关键字*/private String keyWords;/*** 面试评价*/private String tip;/*** 创建时间*/private Long createdTime;}
2.InterviewController.java
/*** 分页查询面试记录*/@PostMapping(value = "/getHistory")public Result<PageResult<InterviewHistoryVO>> getHistory(@RequestBody InterviewHistoryReq req) {try {if (log.isInfoEnabled()) {log.info("分页查询面试记录入参{}", JSON.toJSONString(req));}Preconditions.checkArgument(!Objects.isNull(req), "参数不能为空!");PageResult<InterviewHistoryVO> result = interviewHistoryService.getHistory(req);if (log.isInfoEnabled()) {log.info("分页查询面试记录出参{}", JSON.toJSONString(result));}return Result.ok(result);} catch (IllegalArgumentException e) {log.error("参数异常!错误原因{}", e.getMessage(), e);return Result.fail(e.getMessage());} catch (Exception e) {log.error("分页查询面试记录异常!错误原因{}", e.getMessage(), e);return Result.fail("分页查询面试记录异常!");}}
3.service
1.InterviewHistoryService.java
PageResult<InterviewHistoryVO> getHistory(InterviewHistoryReq req);
2.InterviewHistoryServiceImpl.java
/*** 分页查询** @param req* @return*/@Overridepublic PageResult<InterviewHistoryVO> getHistory(InterviewHistoryReq req) {// 构造查询条件InterviewHistoryPo interviewHistoryPo = new InterviewHistoryPo();interviewHistoryPo.setCreatedBy(LoginUtil.getLoginId());Integer pageNo = req.getPageInfo().getPageNo();Integer pageSize = req.getPageInfo().getPageSize();PageResult<InterviewHistoryPo> paginate = SunPageHelper.paginate(pageNo, pageSize,() -> this.interviewHistoryMapper.count(interviewHistoryPo),(offset, limit) -> this.interviewHistoryMapper.queryPage(interviewHistoryPo, offset, limit));List<InterviewHistoryPo> result = paginate.getResult();List<InterviewHistoryVO> collect = result.stream().map(res -> {InterviewHistoryVO interviewHistoryVO = new InterviewHistoryVO();interviewHistoryVO.setId(res.getId());interviewHistoryVO.setAvgScore(res.getAvgScore());interviewHistoryVO.setKeyWords(res.getKeyWords());interviewHistoryVO.setTip(res.getTip());interviewHistoryVO.setCreatedTime(res.getCreatedTime().getTime());return interviewHistoryVO;}).collect(Collectors.toList());PageResult<InterviewHistoryVO> build = new PageResult.Builder<InterviewHistoryVO>().pageNo(pageNo).pageSize(pageSize).total(paginate.getTotal()).result(collect).build();return build;}
4.测试

2.查询面试详情
1.InterviewQuestionHistoryVO.java
package com.sunxiansheng.interview.api.vo;import lombok.Data;import java.io.Serializable;/*** 面试题目记录表(InterviewQuestionHistory)实体类** @author makejava* @since 2024-05-23 22:56:31*/
@Data
public class InterviewQuestionHistoryVO implements Serializable {private static final long serialVersionUID = -60560874889446691L;/*** 均分*/private Double score;/*** 面试关键字*/private String keyWords;/*** 问题*/private String question;/*** 答案*/private String answer;/*** 用户答案*/private String userAnswer;}
2.InterviewController.java
/*** 查询详情*/@GetMapping(value = "/detail")public Result<List<InterviewQuestionHistoryVO>> detail(Long id) {try {if (log.isInfoEnabled()) {log.info("查询详情入参{}", id);}Preconditions.checkArgument(!Objects.isNull(id), "参数不能为空!");List<InterviewQuestionHistoryVO> result = interviewQuestionHistoryService.detail(id);if (log.isInfoEnabled()) {log.info("查询详情出参{}", JSON.toJSONString(result));}return Result.ok(result);} catch (IllegalArgumentException e) {log.error("参数异常!错误原因{}", e.getMessage(), e);return Result.fail(e.getMessage());} catch (Exception e) {log.error("查询详情异常!错误原因{}", e.getMessage(), e);return Result.fail("查询详情异常!");}}
3.InterviewQuestionHistoryService.java
/*** 详情* @param id* @return*/List<InterviewQuestionHistoryVO> detail(Long id);
4.InterviewQuestionHistoryServiceImpl.java
/*** 详情* @param id* @return*/@Overridepublic List<InterviewQuestionHistoryVO> detail(Long id) {InterviewQuestionHistoryPo interviewQuestionHistoryPo = new InterviewQuestionHistoryPo();interviewQuestionHistoryPo.setInterviewId(id);interviewQuestionHistoryPo.setCreatedBy(LoginUtil.getLoginId());List<InterviewQuestionHistoryPo> interviewQuestionHistoryPoList = this.interviewQuestionHistoryMapper.queryAllByLimit(interviewQuestionHistoryPo);List<InterviewQuestionHistoryVO> collect = interviewQuestionHistoryPoList.stream().map(interviewQuestionHistoryPo1 -> {InterviewQuestionHistoryVO interviewQuestionHistoryVO = new InterviewQuestionHistoryVO();interviewQuestionHistoryVO.setScore(interviewQuestionHistoryPo1.getScore());interviewQuestionHistoryVO.setKeyWords(interviewQuestionHistoryPo1.getKeyWords());interviewQuestionHistoryVO.setQuestion(interviewQuestionHistoryPo1.getQuestion());interviewQuestionHistoryVO.setAnswer(interviewQuestionHistoryPo1.getAnswer());interviewQuestionHistoryVO.setUserAnswer(interviewQuestionHistoryPo1.getUserAnswer());return interviewQuestionHistoryVO;}).collect(Collectors.toList());return collect;}
5.测试

相关文章:
分页查询面试记录和面试详情
文章目录 1.分页查询面试记录1.req和vo1.InterviewHistoryReq.java2.InterviewHistoryVO.java 2.InterviewController.java3.service1.InterviewHistoryService.java2.InterviewHistoryServiceImpl.java 4.测试 2.查询面试详情1.InterviewQuestionHistoryVO.java2.InterviewCon…...
Oracle 同义词SYNONYM 的实战使用
Oracle中的同义词(SYNONYM)是一种数据库对象,它为其他数据库对象(如表、视图、序列、存储过程、函数等)提供了一个别名。这个别名可以在SQL语句中代替原始对象的名称,从而简化查询和引用,提高数…...
实验11-1-8 查找子串
本题要求实现一个字符串查找的简单函数。 函数接口定义: char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。 输入样例1: The C Programming Language ram输出样…...
Git存储库添加空目录-添加占位文件
Git本身并不会跟踪和管理空目录,它只会记录和管理文件的变化。因此,在操作空目录时,我们需要借助一些技巧来实现我们的需求。通过添加一个空的.gitignore或.gitkeep文件或添加一个占位文件,我们可以欺骗Git,并使其将空…...
基于x86 平台opencv的图像采集和seetaface6的人脸识别功能
目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的人脸识别功能,opencv通过读取本地图像,将采集的本地图像送给seetaface6的人脸识别模块从而实现人脸识…...
Git 的基本使用
1.创建 Git 本地仓库 仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来,例如下面代码创建了gitcode_linux的文件夹,之后再对其进行初始化。创建⼀个 Git 本地仓库对应的命令为 git init ,…...
如何解决 Cloudflare | 使用 Puppeteer 和 Node.JS
我认为,现在自动化任务越多,越能体现它们的价值,因此挑战也变得更加明显和困难。例如,Cloudflare 目前提供了强有力的安全措施来保护网站免受所有形式的自动化工具的侵扰。 但对于从事自动化项目(如网络爬虫、数据提取…...
笔记redis
Redis 介绍 Redis(Remote Dictionary Server)是用C语言开发的一个基于内存的键值对数据库 所有数据都在内存中,访问速度非常快:读的速度是110000次/s,写的速度是81000次/s适合存储热点数据(商品、新闻资…...
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱接入 🌟 手机短信与邮箱短信验证码的应用场景 在现代应用中,短信和邮箱验证码是用户验证和安全管理的关键组成部分。它们广泛应用于注册、登录、找回密码等场景…...
RAID 方案比较
RAID(Redundant Array of Independent Disks)技术用于将多个磁盘驱动器组合成一个逻辑单元,以提高性能、可靠性或两者兼顾。以下是常见 RAID 级别的比较: RAID 0(条带化) 磁盘数量:最少 2 块可…...
零成本搭建个人 APP 和小程序后台
前言 前面也说了,通过 GitHub PagesGitHub Actions 只是解决了动态数据展示,但是要零成本得完成将用户信息存储下来,并实现数据交互呢? 我开始是想用云文档,种种原因,我还是希望有个自己能二次修改的后台…...
LCP 633 平方数之和 [leetcode - 8]
最近是在研究双指针啊,leetcode刷的题都是这方面的。都记录在最近的文章里,大家有兴趣可以去我主页看看 LCP633 平方数之和 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 b2 c 。 示例 1: 输入&…...
c语言试题及答案
1. 一个C程序的组成部分可以是( )。 A) 一个主函数和一至若干个其他函数 B) 一至若干个主函数 C) 一个主程序和一至若干个其他函数 D) 一个主程序和一至若干个子程序 2. 一个C程序的执行是从( )。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函…...
python实现链表
什么是链表 链表是由一系列节点组成的元素集合。每个节点包含两部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接最终串联成一个链表。 python实现一个简单链表 我们可以用python实现一个超级简单的链表 class node:# 初始化数据def __init_…...
Linux Shell 编程基础入门(一)
😀前言 本篇博文是关于自动化工具Shell 编程的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动…...
大白话讲微服务的灾难性雪崩效应
讲在前面,为什么微服务需要有熔断等策略呢?今天我们用大白话来讲讲微服务的灾难性雪崩效应,熔断策略就是解决雪崩效应的有效解决方案。 什么是灾难性雪崩效应? 假设我们有两个访问量比较大的服务A和B,这两个服务分别依…...
配置 K3s 访问私有镜像仓库
1.修改 K3s 配置文件 1)对于较新的 K3s 版本,你可以通过编辑 K3s 的配置文件来指定镜像仓库。编辑 /etc/rancher/k3s/config.yaml 文件(如果不存在则需要创建),添加或修改以下配置: # /etc/rancher/k3s/config.yaml …...
数学建模之数据分析【七】:对Pandas DataFrame 进行切片
文章目录 一、切片简介二、创建Pandas数据框三、使用iloc进行切片3.1 对行进行切片3.2 对列进行切片3.3 Dataframe选中特定单元格 四、使用loc创建切片4.1 使用Python对Dataframe中的行进行切片4.2 指定单元格 五、在Python中使用布尔条件六、结论 对 Pandas DataFrames 进行切…...
删除 Docker 容器的日志文件
删除 Docker 容器的日志文件可以帮助释放磁盘空间。以下是步骤: 1、查找日志文件路径: Docker 容器的日志通常存储在 /var/lib/docker/containers/<container_id>/ 目录下。日志文件通常名为 container_id-json.log。 通过以下命令找到日志文件的位置: docker ins…...
DevOps入门(上)
1: DevOps概念 DevOps: Development 和 Operations 的组合 DevOps 看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。 突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
