分页查询面试记录和面试详情
文章目录
- 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)三者的交集。 突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
