From 790c2ba4a0b46edf191e3bac84931f796bd42b8f Mon Sep 17 00:00:00 2001
From: zhangf <1603559716@qq.com>
Date: 星期三, 24 七月 2024 09:02:49 +0800
Subject: [PATCH] 三方对接接口优化

---
 exam-system/src/main/resources/mapper/institutionaccess/ThStudyDetailMapper.xml |  137 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 123 insertions(+), 14 deletions(-)

diff --git a/exam-system/src/main/resources/mapper/institutionaccess/ThStudyDetailMapper.xml b/exam-system/src/main/resources/mapper/institutionaccess/ThStudyDetailMapper.xml
index 47ec001..bce3e7d 100644
--- a/exam-system/src/main/resources/mapper/institutionaccess/ThStudyDetailMapper.xml
+++ b/exam-system/src/main/resources/mapper/institutionaccess/ThStudyDetailMapper.xml
@@ -3,17 +3,26 @@
 <mapper namespace="com.gkhy.exam.institutionalaccess.mapper.ThStudyDetailMapper">
     <select id="listByPage" resultType="com.gkhy.exam.institutionalaccess.model.vo.ThStudyDetailVO">
         SELECT
-            d.*,
-            s.name,
-            b.batch_name,
-            c.course_name,
-            cc.chapter_name
+            d.id,
+            d.uuid,
+            d.serial_num,
+            d.idcard,
+            d.institution_name,
+            d.course_uuid,
+            d.train_org_name,
+            d.batch_uuid,
+            d.chapter_uuid,
+            d.finish_status,
+            d.duration,
+            d.start_time,
+            d.finish_time,
+            d.start_position,
+            d.finish_position,
+            d.video_url,
+            d.lesson_report_url,
+            d.create_time
         FROM
             th_study_detail d
-                LEFT JOIN th_student s ON s.idcard = d.idcard
-                LEFT JOIN th_batch b ON b.uuid = d.batch_uuid
-                LEFT JOIN th_course c ON c.uuid = d.course_uuid
-                LEFT JOIN th_course_chapter cc ON cc.uuid = d.chapter_uuid
         where d.del_flag = 0
         <if test="query.idcard != null and query.idcard != ''">
             and d.idcard = #{query.idcard}
@@ -21,21 +30,21 @@
         <if test="query.courseUuid != null and query.courseUuid != ''">
             and d.course_uuid = #{query.courseUuid}
         </if>
-        <if test="query.name != null and query.name != ''">
-            and s.name like concat('%', #{query.name}, '%')
-        </if>
         <if test="query.startTime != null"><!-- 开始时间检索 -->
             and date_format(d.create_time,'%y-%m-%d') &gt;= date_format(#{query.startTime},'%y-%m-%d')
         </if>
         <if test="query.endTime != null"><!-- 结束时间检索 -->
             and date_format(d.create_time,'%y-%m-%d') &lt;= date_format(#{query.endTime},'%y-%m-%d')
         </if>
-        order by d.create_time desc
+        ORDER BY
+        d.id DESC
+
     </select>
 
     <select id="statisticDurationByIdcard" resultType="com.gkhy.exam.institutionalaccess.model.vo.ThStudyVO">
         SELECT
             d.idcard,
+            d.course_uuid,
             sum( d.duration ) duration
         FROM
             th_study_detail d
@@ -43,7 +52,8 @@
             d.del_flag = 0
           AND d.batch_uuid = #{batchUuid}
         GROUP BY
-            d.idcard
+            d.idcard,
+            d.course_uuid
     </select>
     <select id="listByBatchUuid" resultType="com.gkhy.exam.institutionalaccess.model.vo.ThStudyDetailVO">
         SELECT
@@ -58,5 +68,104 @@
           AND d.batch_uuid = #{batchUuid}
     </select>
 
+    <insert id="insertBatch">
+        INSERT INTO th_study_detail (id,uuid,serial_num, idcard,institution_id, institution_name,course_uuid, train_org_name,batch_uuid,chapter_uuid,
+        finish_status,duration,start_time,finish_time,start_position,finish_position,video_url,lesson_report_url,del_flag,create_time,update_time,create_by,update_by) VALUES
+        <foreach collection="list" separator="," item="item">
+            (#{item.id},#{item.uuid},#{item.serialNum},#{item.idcard},#{item.institutionId},#{item.institutionName},#{item.courseUuid},#{item.trainOrgName},#{item.batchUuid},#{item.chapterUuid},
+             #{item.finishStatus},#{item.duration},#{item.startTime},
+            #{item.finishTime},#{item.startPosition},#{item.finishPosition},#{item.videoUrl},#{item.lessonReportUrl},#{item.delFlag},#{item.createTime},
+            #{item.updateTime},#{item.createBy},#{item.updateBy})
+        </foreach>
+    </insert>
+    <update id="updateBatch" parameterType="java.util.List" >
+        <foreach collection="list" item="item" index="index" separator=";">
+            UPDATE th_study_detail
+            <set>
+                <if test="item.uuid != null and item.uuid != ''" >
+                    uuid = #{item.uuid},
+                </if>
+                <if test="item.serialNum != null" >
+                    serial_num = #{item.serialNum},
+                </if>
+                <if test="item.idcard != null and item.idcard != ''" >
+                    idcard = #{item.idcard},
+                </if>
+                <if test="item.institutionId != null" >
+                    institution_id = #{item.institutionId},
+                </if>
+                <if test="item.institutionName != null and item.institutionName != ''" >
+                    institution_name = #{item.institutionName},
+                </if>
+                <if test="item.courseUuid != null and item.courseUuid != ''" >
+                    course_uuid = #{item.courseUuid},
+                </if>
+                <if test="item.trainOrgName != null and item.trainOrgName != ''" >
+                    train_org_name = #{item.trainOrgName},
+                </if>
+                <if test="item.batchUuid != null and item.batchUuid != ''" >
+                    batch_uuid = #{item.batchUuid},
+                </if>
+                <if test="item.chapterUuid != null and item.chapterUuid != ''" >
+                    chapter_uuid = #{item.chapterUuid},
+                </if>
+                <if test="item.finishStatus != null" >
+                    finish_status = #{item.finishStatus},
+                </if>
+                <if test="item.duration != null" >
+                    duration = #{item.duration},
+                </if>
+                <if test="item.startTime != null" >
+                    start_time = #{item.startTime},
+                </if>
+                <if test="item.finishTime != null" >
+                    finish_time = #{item.finishTime},
+                </if>
+                <if test="item.startPosition != null" >
+                    start_position = #{item.startPosition},
+                </if>
+                <if test="item.finishPosition != null" >
+                    finish_position = #{item.finishPosition},
+                </if>
+                <if test="item.videoUrl != null and item.videoUrl != ''" >
+                    video_url = #{item.videoUrl},
+                </if>
+                <if test="item.lessonReportUrl != null and item.lessonReportUrl != ''" >
+                    lesson_report_url = #{item.lessonReportUrl},
+                </if>
+                <if test="item.delFlag != null" >
+                    del_flag = #{item.delFlag},
+                </if>
+                <if test="item.updateBy != null and item.updateBy != ''" >
+                    update_by = #{item.updateBy},
+                </if>
+                <if test="item.updateTime != null" >
+                    update_time = #{item.updateTime}
+                </if>
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
+    <select id="getByUuids" resultType="com.gkhy.exam.institutionalaccess.entity.ThStudyDetail" >
+        select id,uuid,serial_num, idcard,institution_id, institution_name,course_uuid, train_org_name,batch_uuid,chapter_uuid,
+        finish_status,duration,start_time,finish_time,start_position,finish_position,video_url,lesson_report_url from th_study_detail where del_flag = 0 and uuid in
+        <foreach collection="studyUuids" item="studyUuid" index ="index" open="(" close=")" separator=",">
+            #{studyUuid}
+        </foreach>
+    </select>
+
+    <select id="listByCourseUuid" resultType="com.gkhy.exam.institutionalaccess.model.vo.ThStudyDetailVO">
+        SELECT
+            d.*,
+            cc.chapter_name,
+            cc.lesson_num
+        FROM
+            th_study_detail d
+                INNER JOIN th_batch_course bc on bc.batch_uuid = d.batch_uuid
+                LEFT JOIN th_course_chapter cc ON cc.uuid = d.chapter_uuid
+        WHERE
+            d.del_flag = 0
+          AND bc.course_uuid = #{courseUuid}
+    </select>
 </mapper>
 

--
Gitblit v1.9.2