腾讯乐享考试模块建表分析

2023-11-21 15:30

本文主要是介绍腾讯乐享考试模块建表分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

最近公司在原项目中增加一个考试模块,通过对比码云上几个开源的考试项目和小鹅通和企业微信乐享的考试,最终选定腾讯的乐享考试,以他为原型创建我们自己的考试模块.

下面记录几点业务的要点

1.考生范围为购买了课程的用户

2.试卷分为随机试卷和固定试卷两种.

随机试卷:选择任意数量的题库,汇总几种题型的试题,指定试题数量,系统会根据这个规则随机生成试卷;

固定试卷:从任意题库中挑选试题组成试卷

3.提交创建考试的请求, 保存当前时间节点的试卷,以后这张试卷的改变不会影响该考试,除非修改会主动同步(这种操作会影响未提交考试的考生,不会对已考的用户造成影响)

4.主观题系统判卷,客观题需要老师判卷打分

5.考试通过后会发放证书

 

 

业务要点:

1.删除考试会删除7个表的数据:

//1.删除考试表
etExamService.removeByIds(Arrays.asList(ids));
for (int i = 0; i < ids.length; i++) {//2.删除课程考试关联表etCourseExamService.remove(new QueryWrapper<EtCourseExamEntity>().lambda().eq(EtCourseExamEntity::getExamId, ids[i]));//3.删除考试试题关联表etExamQuestionService.remove(new QueryWrapper<EtExamQuestionEntity>().lambda().eq(EtExamQuestionEntity::getExamId, ids[i]));//4.删除考试证书etCertificateService.remove(new QueryWrapper<EtCertificateEntity>().lambda().eq(EtCertificateEntity::getExamId, ids[i]));//查询该考试创建了多少个用户考试记录List<EtUserExamEntity> examList = etUserExamService.list(new QueryWrapper<EtUserExamEntity>().lambda().eq(EtUserExamEntity::getExamId, ids[i]));if (!examList.isEmpty()){List<Integer> recordList = examList.stream().map(EtUserExamEntity::getId).collect(Collectors.toList());if (!recordList.isEmpty()){//5.删除用户获得的考试证书记录etUserCertificateService.remove(new QueryWrapper<EtUserCertificateEntity>().lambda().in(EtUserCertificateEntity::getRecordId, recordList));//6.删除用户答题记录表etUserExamDetailService.remove(new QueryWrapper<EtUserExamDetailEntity>().lambda().eq(EtUserExamDetailEntity::getRecordId, recordList));}//7.删除用户考试记录etUserExamService.remove(new QueryWrapper<EtUserExamEntity>().lambda().eq(EtUserExamEntity::getExamId, ids[i]));}
}

2.当开启了防作弊功能(切屏次数统计)且用户切屏次数达到限制时,无法提交试题答案,前端前强制提交试卷

3.删除试卷不影响已经创建的考试

4.同步试题会同步到考试记录中去,会影响已经开始考试的考生

这篇关于腾讯乐享考试模块建表分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403246

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

hdu 2093 考试排名(sscanf)

模拟题。 直接从教程里拉解析。 因为表格里的数据格式不统一。有时候有"()",有时候又没有。而它也不会给我们提示。 这种情况下,就只能它它们统一看作字符串来处理了。现在就请出我们的主角sscanf()! sscanf 语法: #include int sscanf( const char *buffer, const char *format, ... ); 函数sscanf()和

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud