|
@@ -110,6 +110,22 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
|
|
|
return BeanUtil.toBean(db, UserStudyRecordVo.class);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public UserStudyRecordVo queryFirst(UserStudyRecordQueryBo bo) {
|
|
|
+ LambdaQueryWrapper<UserStudyRecord> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(bo.getUserId() != null, UserStudyRecord::getUserId, bo.getUserId());
|
|
|
+ lqw.eq(bo.getCourseId() != null, UserStudyRecord::getCourseId, bo.getCourseId());
|
|
|
+ lqw.eq(bo.getSectionId() != null, UserStudyRecord::getSectionId, bo.getSectionId());
|
|
|
+ lqw.eq(bo.getGoodsId() != null, UserStudyRecord::getGoodsId, bo.getGoodsId());
|
|
|
+ lqw.eq(bo.getModuleId() != null, UserStudyRecord::getModuleId, bo.getModuleId());
|
|
|
+ lqw.eq(bo.getGradeId() != null, UserStudyRecord::getGradeId, bo.getGradeId());
|
|
|
+ UserStudyRecord last = this.getOne(lqw.ge(UserStudyRecord::getFirstStartTime,0).last("limit 1"));
|
|
|
+ if(Validator.isEmpty(last)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return BeanUtil.toBean(last, UserStudyRecordVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public UserStudyRecordVo queryLast(UserStudyRecordQueryBo bo) {
|
|
|
LambdaQueryWrapper<UserStudyRecord> lqw = Wrappers.lambdaQuery();
|
|
@@ -118,6 +134,7 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
|
|
|
lqw.eq(bo.getSectionId() != null, UserStudyRecord::getSectionId, bo.getSectionId());
|
|
|
lqw.eq(bo.getGoodsId() != null, UserStudyRecord::getGoodsId, bo.getGoodsId());
|
|
|
lqw.eq(bo.getModuleId() != null, UserStudyRecord::getModuleId, bo.getModuleId());
|
|
|
+ lqw.eq(bo.getGradeId() != null, UserStudyRecord::getGradeId, bo.getGradeId());
|
|
|
lqw.orderByDesc(UserStudyRecord::getRecordId);
|
|
|
UserStudyRecord last = this.getOne(lqw.last("limit 1"));
|
|
|
if(Validator.isNotEmpty(last)&&Validator.isNotEmpty(last.getStatus())&&last.getStatus()==1){
|
|
@@ -181,12 +198,19 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
|
|
|
if(courseSectionVo.getSectionType()==2&&Validator.isNotEmpty(bo.getPhoto())){ //直播有拍照即学完
|
|
|
bo.setStatus(1);
|
|
|
}
|
|
|
+ UserStudyRecordQueryBo userStudyRecordQueryBo = BeanUtil.toBean(bo, UserStudyRecordQueryBo.class);
|
|
|
+ UserStudyRecordVo first = queryFirst(userStudyRecordQueryBo);
|
|
|
UserStudyRecord add = BeanUtil.toBean(bo, UserStudyRecord.class);
|
|
|
validEntityBeforeSave(add);
|
|
|
add.setCreateTime(DateUtils.getNowTime());
|
|
|
add.setUpdateTime(DateUtils.getNowTime());
|
|
|
add.setStartTime(DateUtils.getNowTime() - add.getStudyDuration());
|
|
|
add.setEndTime(DateUtils.getNowTime());
|
|
|
+ if(Validator.isNotEmpty(first)&&Validator.isNotEmpty(first.getFirstStartTime())){
|
|
|
+ add.setFirstStartTime(first.getFirstStartTime());
|
|
|
+ }else{
|
|
|
+ add.setFirstStartTime(add.getStartTime());
|
|
|
+ }
|
|
|
this.save(add);
|
|
|
//新增学时记录,照片
|
|
|
userPeriodSave(add, bo);
|