This commit is contained in:
wangjinlei
2024-05-28 18:24:50 +08:00
parent 1b47c563dd
commit 0dadb2e7d4

View File

@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.xml.ws.soap.Addressing; import javax.xml.ws.soap.Addressing;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -36,6 +37,12 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
private AsyncService asyncService; private AsyncService asyncService;
@Autowired @Autowired
private UserCourseBuyDao userCourseBuyDao; private UserCourseBuyDao userCourseBuyDao;
@Autowired
private CourseToSociologyDao courseToSociologyDao;
@Autowired
private CourseToMedicineDao courseToMedicineDao;
@Autowired
private MyUserDao userDao;
@Override @Override
public Page getCourseCatalogueChapterVideoList(ParamTo param) { public Page getCourseCatalogueChapterVideoList(ParamTo param) {
@@ -57,16 +64,28 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
CourseCatalogueChapterEntity courseCatalogueChapterEntity = courseCatalogueChapterDao.selectById(video.getChapterId()); CourseCatalogueChapterEntity courseCatalogueChapterEntity = courseCatalogueChapterDao.selectById(video.getChapterId());
CourseCatalogueEntity courseCatalogueEntity = courseCatalogueDao.selectById(courseCatalogueChapterEntity.getCatalogueId()); CourseCatalogueEntity courseCatalogueEntity = courseCatalogueDao.selectById(courseCatalogueChapterEntity.getCatalogueId());
Integer uId = ShiroUtils.getUId(); 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){ if(courseCatalogueChapterEntity.getIsAudition()==0){
// userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>() List<UserCourseBuyEntity> userCourseBuyEntities = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>()
// .eq(UserCourseBuyEntity::getUserId,uId) .eq(UserCourseBuyEntity::getUserId, uId)
// .eq()) .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())); List<UserToCourseEntity> userToCourseEntities = userToCourseDao.selectList(new LambdaQueryWrapper<UserToCourseEntity>().eq(UserToCourseEntity::getUserId, uId).eq(UserToCourseEntity::getCourseId, courseCatalogueEntity.getCourseId()));
if (userToCourseEntities.size() != 0) { if (userToCourseEntities.size() != 0) {
@@ -143,4 +162,32 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
return userCourseVideoPositionEntity; 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;
}
} }