Forráskód Böngészése

fix 最后学习信息

he2802 2 éve
szülő
commit
336940b89f

+ 8 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserStudyRecordController.java

@@ -157,6 +157,14 @@ public class UserStudyRecordController extends BaseController {
         return AjaxResult.success(iUserStudyRecordService.getUserWatchLast(bo));
     }
 
+    @ApiOperation("查询用户最后一次学习的信息(含卷)")
+    @GetMapping("/getUserStudyLast")
+    public AjaxResult<SectionStudyRecordVo> getUserStudyLast(UserStudyRecordQueryBo bo){
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iUserStudyRecordService.getUserStudyLast(bo));
+    }
+
     @ApiOperation("查询保利威直播间的播放状态")
     @GetMapping("/getChannelBasicInfo")
     public AjaxResult<LiveChannelBasicInfoResponse> getChannelBasicInfo(PolyvLiveQueryBo bo) throws Exception {

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserBankRecordMapper.java

@@ -19,4 +19,6 @@ public interface UserBankRecordMapper extends BaseMapper<UserBankRecord> {
     Long getUserExamDoNum(UserBankRecordQueryBo bo);
 
     List<UserBankRecordVo> getUserBankList(UserBankRecordQueryBo bo);
+
+    UserBankRecord getUserLastExam(UserBankRecordQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserBankRecordService.java

@@ -30,6 +30,8 @@ public interface IUserBankRecordService extends IService<UserBankRecord> {
 	 */
 	List<UserBankRecordVo> queryList(UserBankRecordQueryBo bo);
 
+	UserBankRecord getUserLastExam(UserBankRecordQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入用户的做题历史
 	 * @param bo 用户的做题历史新增业务对象

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java

@@ -106,6 +106,8 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 	List<LiveListChannelViewlogResponse.LiveChannelViewlog> userSectionLiveLog(UserStudyRecordQueryBo bo) throws IOException, NoSuchAlgorithmException;
 
 	SectionStudyRecordVo getUserWatchLast(UserStudyRecordQueryBo bo);
+
+	SectionStudyRecordVo getUserStudyLast(UserStudyRecordQueryBo bo);
 	/**
 	 * 课程统计报表
 	 * @author change

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserBankRecordServiceImpl.java

@@ -105,6 +105,11 @@ public class UserBankRecordServiceImpl extends ServiceImpl<UserBankRecordMapper,
         return entity2Vo(this.list(lqw));
     }
 
+    @Override
+    public UserBankRecord getUserLastExam(UserBankRecordQueryBo bo) {
+        return this.baseMapper.getUserLastExam(bo);
+    }
+
     /**
     * 实体类转化成视图对象
     *

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -674,6 +674,32 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
     }
 
 
+    @Override
+    public SectionStudyRecordVo getUserStudyLast(UserStudyRecordQueryBo bo) {
+        SectionStudyRecordVo vo = this.baseMapper.getUserWatchLast(bo);
+        if(Validator.isNotEmpty(vo)){
+            Integer learning = courseChapterSectionMapper.learningCheck(vo.getSectionId(), vo.getGradeId(), bo.getUserId(), vo.getModuleId(), vo.getChapterId(), 0L,vo.getCourseId());
+            if (learning > 0) {
+                vo.setLearning(1L);
+            }
+        }
+        UserBankRecordQueryBo queryBo = new UserBankRecordQueryBo();
+        queryBo.setUserId(bo.getUserId());
+        UserBankRecord bankVo = iUserBankRecordService.getUserLastExam(queryBo);
+        if(Validator.isEmpty(vo)&&Validator.isNotEmpty(bankVo)){
+            vo = new SectionStudyRecordVo();
+            vo.setOrderGoodsId(bankVo.getOrderGoodsId());
+        }
+        if(Validator.isNotEmpty(vo)&&Validator.isNotEmpty(bankVo)){
+            if(vo.getUpdateTime().longValue()<bankVo.getUpdateTime().longValue()){
+                vo = new SectionStudyRecordVo();
+                vo.setOrderGoodsId(bankVo.getOrderGoodsId());
+            }
+        }
+        return vo;
+    }
+
+
     //判断当前未看完的节是否是点击播放的节
     private boolean compareSection(UserStudyRecordVo recordVo,UserStudyRecordQueryBo entity){
         if(recordVo.getModuleId().equals(entity.getModuleId())){

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/SectionStudyRecordVo.java

@@ -123,4 +123,6 @@ public class SectionStudyRecordVo {
     private String recordingUrl;
     @ApiModelProperty("1已学习")
     private Long learning;
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
 }

+ 13 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserBankRecordMapper.xml

@@ -140,4 +140,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         AND ubr.user_id = #{userId}
     </select>
 
+    <select id="getUserLastExam" parameterType="com.zhongzheng.modules.user.bo.UserBankRecordQueryBo" resultMap="UserBankRecordVoResult">
+        SELECT
+            ubr.*
+        FROM
+            user_bank_record ubr
+        WHERE
+            ubr.user_id = #{userId}
+
+        ORDER BY
+            ubr.update_time DESC
+        LIMIT 1
+    </select>
+
 </mapper>

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -96,6 +96,7 @@
         <result property="liveStartTime" column="live_start_time"/>
         <result property="liveEndTime" column="live_end_time"/>
         <result property="recordingUrl" column="recording_url"/>
+        <result property="updateTime" column="update_time"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.ExamStudyRecordVo" id="ExamStudyRecordVoResult">