From defdb4cbdd42dabd860b13ed24d22d730c1d0fc2 Mon Sep 17 00:00:00 2001
From: wgf <121463602@qq.com>
Date: Thu, 17 Aug 2023 19:38:39 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AD=A6=E7=94=9F=E7=AB=AF-=E5=AD=A6?=
 =?UTF-8?q?=E4=B9=A0=E6=97=B6=E9=95=BF=202=E3=80=81=E5=AD=A6=E7=94=9F?=
 =?UTF-8?q?=E7=AB=AF-=E5=AE=9E=E8=AE=AD=E6=93=8D=E4=BD=9C=E6=AD=A5?=
 =?UTF-8?q?=E9=AA=A4=E6=AF=8F=E4=B8=AA=E5=AD=A6=E7=94=9F=E7=9A=84=E5=88=86?=
 =?UTF-8?q?=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ibeetl/jlw/conf/KeyExpiredListener.java   |  3 +-
 .../java/com/ibeetl/jlw/entity/SysLog.java    |  2 +-
 .../StudentHandsOnTaskStepService.java        | 29 ++++++++++++++++---
 web/src/main/resources/sql/jlw/student.md     |  2 +-
 4 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/web/src/main/java/com/ibeetl/jlw/conf/KeyExpiredListener.java b/web/src/main/java/com/ibeetl/jlw/conf/KeyExpiredListener.java
index 0d20d50d..29610519 100644
--- a/web/src/main/java/com/ibeetl/jlw/conf/KeyExpiredListener.java
+++ b/web/src/main/java/com/ibeetl/jlw/conf/KeyExpiredListener.java
@@ -121,7 +121,8 @@ public class KeyExpiredListener extends KeyExpirationEventMessageListener {
                 sysLog.setSession(token);
                 sysLog.setUserId(coreUser.getId());
                 sysLog.setToken(token);
-
+                //目前这个字段还没有用到,所以先暂时用来存储学习时长
+                sysLog.setOpenId(String.valueOf(DateUtil.between(coreUser.getLastLoginTime(), now, DateUnit.SECOND)));
                 // 记录学生ID
                 if (null != realId && StrUtil.isNotBlank(jobType1Name) && JT_S_03.equals(MenuEnums.getBySelfAttributeName(jobType1Name))) {
                     sysLog.setStudentId(Long.valueOf(realId));
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/SysLog.java b/web/src/main/java/com/ibeetl/jlw/entity/SysLog.java
index f3fd2876..56927a33 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/SysLog.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/SysLog.java
@@ -62,7 +62,7 @@ public class SysLog extends BaseEntity{
 
     private Long studentId ;
 
-    //微信ID
+    //微信ID(目前这个字段还没有用到,所以先暂时用来存储学习时长)
 
     private String openId;
 	
diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskStepService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskStepService.java
index c5fc37d6..47ef1f71 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskStepService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/StudentHandsOnTaskStepService.java
@@ -640,8 +640,18 @@ public class StudentHandsOnTaskStepService extends CoreBaseService<StudentHandsO
         } else {
             String videoFile = studentHandsOnTaskStep.getStem();
             if (StringUtils.isNotEmpty(videoFile)) {
-                studentHandsOnTaskStep.setStems(JSONArray.parseObject(videoFile, new TypeReference<List<Map<String, Object>>>() {
-                }));
+
+                List<Map<String, Object>> maps = JSONArray.parseObject(videoFile, new TypeReference<List<Map<String, Object>>>() {
+                });
+
+                for (Map<String, Object> map : maps) {
+                    String rightAnswer = map.get("rightAnswer").toString();
+                    String studentAnswer = map.get("studentAnswer").toString();
+                    String score = map.get("score").toString();
+                    map.put("studentScore",(ObjectUtil.isEmpty(rightAnswer) || ObjectUtil.isEmpty(studentAnswer)) ?
+                            "0" : ObjectUtil.equals(rightAnswer,studentAnswer) ? score : "0");
+                }
+                studentHandsOnTaskStep.setStems(maps);
             }
         }
 
@@ -744,8 +754,19 @@ public class StudentHandsOnTaskStepService extends CoreBaseService<StudentHandsO
         } else {
             String videoFile = studentHandsOnTaskStep.getStem();
             if (StringUtils.isNotEmpty(videoFile)) {
-                studentHandsOnTaskStep.setStems(JSONArray.parseObject(videoFile, new TypeReference<List<Map<String, Object>>>() {
-                }));
+
+                List<Map<String, Object>> maps = JSONArray.parseObject(videoFile, new TypeReference<List<Map<String, Object>>>() {
+                });
+
+                for (Map<String, Object> map : maps) {
+                    String rightAnswer = map.get("rightAnswer").toString();
+                    String studentAnswer = map.get("studentAnswer").toString();
+                    String score = map.get("score").toString();
+                    map.put("studentScore",(ObjectUtil.isEmpty(rightAnswer) || ObjectUtil.isEmpty(studentAnswer)) ?
+                            "0" : ObjectUtil.equals(rightAnswer,studentAnswer) ? score : "0");
+                }
+
+                studentHandsOnTaskStep.setStems(maps);
             }
         }
 
diff --git a/web/src/main/resources/sql/jlw/student.md b/web/src/main/resources/sql/jlw/student.md
index 21540e9e..c1e270e1 100644
--- a/web/src/main/resources/sql/jlw/student.md
+++ b/web/src/main/resources/sql/jlw/student.md
@@ -1503,7 +1503,7 @@ studentActiveInfo
   zxc.student_id,
   zxc.student_name,
   zxc.student_sn,
-  (select sum(sl.result) from sys_log sl where request_url = #@com.ibeetl.jlw.conf.KeyExpiredListener.TOKEN_EXPIRED_MESSAGE#
+  (select sum(sl.open_id) from sys_log sl where request_url = #@com.ibeetl.jlw.conf.KeyExpiredListener.TOKEN_EXPIRED_MESSAGE#
     and sl.student_id = zxc.student_id and sl.user_id = zxc.user_id) AS study_duration,
   (
   SELECT