fuliqi
2024-07-11 de264f806f99c80f2413dbf959296146eb55888f
监控展示还没开始做题的学生
4个文件已修改
66 ■■■■ 已修改文件
src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-prod.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamSubmitTempMapper.xml 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/EducationResourceServiceImpl.java
@@ -109,6 +109,7 @@
        page.getList().stream().forEach(item -> {
            item.setContentUrl(JSON.parseObject(item.getContentUrlString(), EducationResourceVO.UploadFile.class));
            item.setAttachment(JSON.parseArray(item.getAttachmentString(), EducationResourceVO.UploadFile.class));
            item.setVisitUrl(url + "/api/files/" + item.getContentUrl().getUrl());
        });
        return Result.ok(page.getList()).put("total", page.getTotal());
    }
src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -915,7 +915,9 @@
    @Override
    public Result monitorList(ExamQuery query) {
        IPage<ExamSubmitTempVO> page = PageUtil.getPage(query, ExamSubmitTempVO.class);
        return Result.ok((examSubmitTempMapper.monitorList(page, query)));
        IPage<ExamSubmitTempVO> vo = examSubmitTempMapper.monitorList(page, query);
        return Result.ok(vo);
    }
    @Override
@@ -929,7 +931,7 @@
        form.setAddTimeM(sed);
        websocket.setData(form);
        // 发送websocket消息
        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket));
        return Result.ok("操作成功");
    }
@@ -942,7 +944,7 @@
        websocket.setCommend(WebsocketCommendEnum.FORCE_SUBMIT.getCommand());
        websocket.setData(form);
        // 发送websocket消息
        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(form));
        websocketServer.sendOneMessage(form.getUserId(), JSON.toJSONString(websocket));
        return Result.ok("操作成功");
    }
}
src/main/resources/application-prod.yml
@@ -7,7 +7,7 @@
spring:
  config:
    url: https://42.193.1.25:8000
    url: http://42.193.1.25:8000
  datasource:
    url: jdbc:mysql://42.193.1.25:3306/xzs?useSSL=true&useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=true
    username: root
src/main/resources/mapper/ExamSubmitTempMapper.xml
@@ -42,29 +42,54 @@
            TEST.deleted = 0
    </select>
<!--    <select id="monitorList" resultType="com.ycl.jxkg.domain.vo.ExamSubmitTempVO">-->
<!--        SELECT-->
<!--            TEST.exam_id,-->
<!--            TEST.user_id,-->
<!--            TEST.do_time,-->
<!--            TEST.exam_submit,-->
<!--            TEST.create_time,-->
<!--            TEST.status,-->
<!--            TEST.id,-->
<!--            TE.exam_name,-->
<!--            TU.real_name as userName-->
<!--        FROM-->
<!--            t_exam_submit_temp TEST-->
<!--        INNER JOIN t_user TU ON TU.id = TEST.user_id AND TU.deleted = 0-->
<!--        INNER JOIN t_exam TE ON TE.id = TEST.exam_id AND TE.deleted = 0-->
<!--        WHERE-->
<!--            TEST.deleted = 0-->
<!--        <if test="query.examId != null">-->
<!--            AND TEST.exam_id = #{query.examId}-->
<!--        </if>-->
<!--        <if test="query.keyword != null and query.keyword != ''">-->
<!--            AND (INSTR(TU.real_name, #{query.keyword}) OR INSTR(TE.exam_name, #{query.keyword}))-->
<!--        </if>-->
<!--    </select>-->
    <select id="monitorList" resultType="com.ycl.jxkg.domain.vo.ExamSubmitTempVO">
        SELECT
            TEST.exam_id,
            TEST.user_id,
            TEST.do_time,
            TEST.exam_submit,
            TEST.create_time,
            TEST.status,
            TEST.id,
            TE.exam_name,
            TU.real_name as userName
        te.id as examId,
        TU.id as userId,
        TEST.do_time,
        TEST.exam_submit,
        TEST.create_time,
        TEST.status,
        TEST.id,
        TE.exam_name,
        TU.real_name as userName
        FROM
            t_exam_submit_temp TEST
        INNER JOIN t_user TU ON TU.id = TEST.user_id AND TU.deleted = 0
        INNER JOIN t_exam TE ON TE.id = TEST.exam_id AND TE.deleted = 0
        t_exam TE
        LEFT JOIN t_classes_user TCU ON TE.classes_id = TCU.classes_id AND TCU.deleted = 0
        INNER JOIN t_user TU ON TU.id = TCU.user_id AND TU.deleted = 0
        LEFT JOIN t_exam_submit_temp TEST ON TE.id = TEST.exam_id AND TCU.user_id = TEST.user_id AND (TEST.deleted = 0 or TEST.deleted is null)
        WHERE
            TEST.deleted = 0
        TE.deleted = 0
        <if test="query.examId != null">
            AND TEST.exam_id = #{query.examId}
            AND TE.id = #{query.examId}
        </if>
        <if test="query.keyword != null and query.keyword != ''">
            AND (INSTR(TU.real_name, #{query.keyword}) OR INSTR(TE.exam_name, #{query.keyword}))
        </if>
    </select>
</mapper>