Răsfoiți Sursa

优化代码

wangliang 1 an în urmă
părinte
comite
6c129aa2cc

+ 17 - 4
themis-business/src/main/resources/db/log/1.2.8.log

@@ -63,6 +63,7 @@ CREATE TABLE `t_ie_exam_media_log` (
 
 DROP TABLE IF EXISTS `t_e_exam_summary`;
 CREATE TABLE `t_e_exam_summary` (
+  `id` bigint NOT NULL COMMENT '主键',
   `exam_id` bigint NOT NULL COMMENT '考试批次id',
   `exam_activity_id` bigint NOT NULL COMMENT '考试场次id',
   `room_code` varchar(50) NOT NULL COMMENT '考场编码',
@@ -78,7 +79,9 @@ CREATE TABLE `t_e_exam_summary` (
   `warning_unread` int DEFAULT NULL COMMENT '预警未读数',
   `warning_multiple_face_count` int DEFAULT NULL COMMENT '陌生人脸预警总数',
   `exception_count` int DEFAULT NULL COMMENT '异常数据总数',
-  PRIMARY KEY (`exam_id`,`exam_activity_id`,`room_code`)
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `t_e_exam_summary_UN` (`exam_id`,`exam_activity_id`,`room_code`),
+  KEY `t_e_exam_summary_exam_id_IDX` (`exam_id`,`exam_activity_id`,`room_code`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考试信息统计表';
 
 DROP TABLE IF EXISTS `t_e_org_summary`;
@@ -93,12 +96,22 @@ CREATE TABLE `t_e_org_summary` (
 
 DROP TABLE IF EXISTS `t_e_region_summary`;
 CREATE TABLE `t_e_region_summary` (
-  `country` varchar(30) CHARACTER SET utf8mb4 NOT NULL COMMENT '国家',
-  `province` varchar(30) CHARACTER SET utf8mb4 NOT NULL COMMENT '省份',
+  `id` bigint NOT NULL COMMENT '主键',
+  `country` varchar(30) NOT NULL COMMENT '国家',
+  `province` varchar(30) NOT NULL COMMENT '省份',
   `online_count` int DEFAULT NULL COMMENT '在线人数',
-  PRIMARY KEY (`country`,`province`)
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `t_e_region_summary_UN` (`country`,`province`),
+  KEY `t_e_region_summary_country_IDX` (`country`,`province`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='地区统计表';
 
+ALTER TABLE t_e_exam_student DROP INDEX exam_id;
+ALTER TABLE t_e_exam_student DROP INDEX roomcode_examid;
+ALTER TABLE t_e_exam_student DROP INDEX student_id;
+
+CREATE INDEX t_e_exam_student_exam_id_IDX USING BTREE ON t_e_exam_student (exam_id,exam_activity_id,room_code);
+CREATE INDEX t_e_exam_student_student_id_IDX USING BTREE ON t_e_exam_student (student_id,exam_activity_id,enable);
+
 /*删除进度查询菜单*/
 INSERT INTO t_b_role_privilege
 (id, role_code, privilege_id)

+ 3 - 3
themis-business/src/main/resources/mapper/TEExamActivityMapper.xml

@@ -137,15 +137,15 @@
         left join t_e_exam tee on tee.id = tees.exam_id
         left join t_e_exam_activity teea on teea.id = tees.exam_activity_id
         <where>1 = 1
+            <if test="studentId != null and studentId != ''">
+                and tees.student_id = #{studentId}
+            </if>
             <if test="examActivityIds != null and examActivityIds != '' and examActivityIds.size > 0">
                 and teea.id in
                 <foreach collection="examActivityIds" item="examActivityId" index="index" open="(" close=")" separator=",">
                     #{examActivityId}
                 </foreach>
             </if>
-            <if test="studentId != null and studentId != ''">
-                and tees.student_id = #{studentId}
-            </if>
             <if test="orgId != null and orgId != ''">
                 and tee.org_id = #{orgId}
             </if>