bug
This commit is contained in:
@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.xml.ws.soap.Addressing;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -36,6 +37,12 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
|
||||
private AsyncService asyncService;
|
||||
@Autowired
|
||||
private UserCourseBuyDao userCourseBuyDao;
|
||||
@Autowired
|
||||
private CourseToSociologyDao courseToSociologyDao;
|
||||
@Autowired
|
||||
private CourseToMedicineDao courseToMedicineDao;
|
||||
@Autowired
|
||||
private MyUserDao userDao;
|
||||
|
||||
@Override
|
||||
public Page getCourseCatalogueChapterVideoList(ParamTo param) {
|
||||
@@ -57,16 +64,28 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
|
||||
CourseCatalogueChapterEntity courseCatalogueChapterEntity = courseCatalogueChapterDao.selectById(video.getChapterId());
|
||||
CourseCatalogueEntity courseCatalogueEntity = courseCatalogueDao.selectById(courseCatalogueChapterEntity.getCatalogueId());
|
||||
Integer uId = ShiroUtils.getUId();
|
||||
MyUserEntity userEntity = userDao.selectById(uId);
|
||||
//审查课程观看权限
|
||||
|
||||
|
||||
|
||||
if(!courseCheckVip(userEntity,courseCatalogueEntity.getCourseId())&&!courseCheckBuy(userEntity,courseCatalogueEntity)){
|
||||
return R.error(505,"鉴权失败!");
|
||||
}
|
||||
//处理课程开始计时的逻辑
|
||||
// if(courseCatalogueChapterEntity.getIsAudition()==0){
|
||||
// userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
||||
// .eq(UserCourseBuyEntity::getUserId,uId)
|
||||
// .eq())
|
||||
// }
|
||||
if(courseCatalogueChapterEntity.getIsAudition()==0){
|
||||
List<UserCourseBuyEntity> userCourseBuyEntities = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
||||
.eq(UserCourseBuyEntity::getUserId, uId)
|
||||
.eq(UserCourseBuyEntity::getCatalogueId, courseCatalogueEntity.getId())
|
||||
.eq(UserCourseBuyEntity::getEndTime,null));
|
||||
if (userCourseBuyEntities.size()>0){
|
||||
for (UserCourseBuyEntity u:userCourseBuyEntities){
|
||||
u.setStartTime(new Date());
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(new Date());
|
||||
cal.add(Calendar.DAY_OF_MONTH,u.getDays());
|
||||
u.setEndTime(cal.getTime());
|
||||
userCourseBuyDao.updateById(u);
|
||||
}
|
||||
}
|
||||
}
|
||||
//处理用户课程足迹
|
||||
List<UserToCourseEntity> userToCourseEntities = userToCourseDao.selectList(new LambdaQueryWrapper<UserToCourseEntity>().eq(UserToCourseEntity::getUserId, uId).eq(UserToCourseEntity::getCourseId, courseCatalogueEntity.getCourseId()));
|
||||
if (userToCourseEntities.size() != 0) {
|
||||
@@ -143,4 +162,32 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
|
||||
return userCourseVideoPositionEntity;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean courseCheckVip(MyUserEntity u,int courseId){
|
||||
if(u.getVip()=="1"){
|
||||
return true;
|
||||
}
|
||||
if(u.getVip()=="3"){
|
||||
Integer integer = courseToSociologyDao.selectCount(new LambdaQueryWrapper<CourseToSociologyEntity>().eq(CourseToSociologyEntity::getCourseId, courseId));
|
||||
if(integer>0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(u.getVip()=="2"){
|
||||
Integer integer = courseToMedicineDao.selectCount(new LambdaQueryWrapper<CourseToMedicine>().eq(CourseToMedicine::getCourseId, courseId));
|
||||
if(integer>0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean courseCheckBuy(MyUserEntity u,CourseCatalogueEntity courseCatalogueEntity){
|
||||
LambdaQueryWrapper<UserCourseBuyEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(UserCourseBuyEntity::getUserId,u.getId());
|
||||
wrapper.eq(UserCourseBuyEntity::getCatalogueId,courseCatalogueEntity.getId());
|
||||
wrapper.and(r->r.eq(UserCourseBuyEntity::getEndTime,null).or().lt(UserCourseBuyEntity::getEndTime,new Date()));
|
||||
Integer integer = userCourseBuyDao.selectCount(wrapper);
|
||||
return integer>0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user