he2802 há 2 anos atrás
pai
commit
9ab9170f3b

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java

@@ -88,4 +88,8 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
     List<ClassGradeUserVo> queryCountList(@Param("projectId")Integer projectId, @Param("businessId")Integer businessId, @Param("all") Integer all);
 
     Long checkFinishRequiredCourse(ClassGradeUserQueryBo bo);
+
+    Long getPeriodStartTime(ClassGradeUserQueryBo bo);
+
+    Long getPeriodEndTime(ClassGradeUserQueryBo bo);
 }

+ 16 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -807,17 +807,31 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         studyRecordQueryBo.setGradeId(userVo.getGradeId());
         //第一条学习记录
         UserStudyRecordVo firstVo = iUserStudyRecordService.queryFirst(studyRecordQueryBo);
+        if(Validator.isNotEmpty(configService.selectConfigByKeyNoCache("office.account"))){
+            OFFICIALPUSH_INFOACCOUNT = configService.selectConfigByKeyNoCache("office.account");
+            OFFICIALPUSH_TOKEN = configService.selectConfigByKeyNoCache("office.token");
+        }
+        ClassGradeUserQueryBo userQueryBo = new ClassGradeUserQueryBo();
+        userQueryBo.setUserId(bo.getUserId());
+        userQueryBo.setGradeId(userVo.getGradeId());
+        Long startTime = baseMapper.getPeriodStartTime(userQueryBo);
+        Long endTime = baseMapper.getPeriodEndTime(userQueryBo);
+
         Map<String, String> params = new HashMap<>();
         params.put("zh", OFFICIALPUSH_INFOACCOUNT);
         params.put("bh", userVo.getOfficialName());
         params.put("xm", userVo.getRealName());
         params.put("sfz", userVo.getIdCard());
-        params.put("ksrq", DateUtils.timestampToDate(firstVo.getFirstStartTime()));
-        params.put("jsrq", DateUtils.timestampToDate(userVo.getPeriodWaitTime()));
+        params.put("ksrq", DateUtils.timestampToDate(startTime));
+        params.put("jsrq", DateUtils.timestampToDate(endTime));
         String dataTxt = params.get("zh") + params.get("bh") + params.get("xm") + params.get("sfz") + params.get("ksrq") + params.get("jsrq");
         String encrypted = dataSign(dataTxt, OFFICIALPUSH_TOKEN);
         params.put("SignMsg", encrypted);
         String respone = "";
+        log.info("学时信息推送参数"+ dataTxt);
+        if(true){
+            return "结束";
+        }
         try {
             respone = HttpUtils.postFormBody(OFFICIALPUSH_PERIODPATH, params);
             String[] split = respone.split("\\|");

+ 32 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -1577,4 +1577,36 @@
           AND up.grade_id = cgu.grade_id
             )>0
     </select>
+
+    <select id="getPeriodStartTime" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo" resultType="java.lang.Long">
+        SELECT
+            p.create_time
+        FROM
+            user_study_record usr
+                LEFT JOIN user_study_record_photo p ON usr.record_id = p.record_id
+        WHERE
+            usr.current_status = 1
+          AND usr.user_id = #{userId}
+          AND usr.grade_id = #{gradeId}
+          AND P.create_time IS NOT NULL
+        ORDER BY
+            P.create_time
+            LIMIT 1
+    </select>
+
+    <select id="getPeriodEndTime" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo" resultType="java.lang.Long">
+        SELECT
+            ups.record_end_time
+        FROM
+            user_period_status ups
+                LEFT JOIN user_period up ON up.id = ups.period_id
+        WHERE
+            1 = 1
+          AND up.user_id = #{userId}
+          AND up.grade_id = #{gradeId}
+          AND ups.period_status = 1
+        ORDER BY
+            ups.record_end_time DESC
+            LIMIT 1
+    </select>
 </mapper>