学员已经获得证书,不允许学员再次进入该课程的班级

This commit is contained in:
wuchunlei
2024-09-20 11:17:11 +08:00
parent 77b7d5b38b
commit 1ce98b5ec8

View File

@@ -52,6 +52,8 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
private CourseCatalogueChapterDao courseCatalogueChapterDao;
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private UserCertificateDao userCertificateDao;
@Override
public Page getClassModelList(Map<String, Object> params) {
@@ -650,9 +652,17 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
wrapper.selectAll(ClassCourse.class);
wrapper.eq(ClassEntity::getId,classEntity.getId());
List<ClassCourse> courseList = classCourseDao.selectList(wrapper);
//关联课程是否有已进班的
if (courseList.size() > 0){
for (ClassCourse classCourse:courseList){
//是否有拿过该课程证书
int count = userCertificateDao.selectCount(new LambdaQueryWrapper<UserCertificate>()
.and(t->t.eq(UserCertificate::getType,"A").or().eq(UserCertificate::getType,"B"))
.eq(UserCertificate::getCourseId,classCourse.getCourseId())
.eq(UserCertificate::getUserId,ShiroUtils.getUId()));
if (count>0){
return R.error("已获得相关课程证书");
}
//关联课程是否有已进班的
MPJLambdaWrapper<ClassCourse> courseWrapper = new MPJLambdaWrapper();
courseWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId);
courseWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId);
@@ -799,9 +809,14 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
int noScore = classTaskAndQuesReplyDao.selectCount(new LambdaQueryWrapper<ClassTaskAndQuesReply>()
.eq(ClassTaskAndQuesReply::getRelationId,classTask.getId())
.lt(ClassTaskAndQuesReply::getScoreSuccess,2));
int userNoCount = classTaskAndQuesReplyDao.selectCount(new LambdaQueryWrapper<ClassTaskAndQuesReply>()
.eq(ClassTaskAndQuesReply::getRelationId,classTask.getId())
.lt(ClassTaskAndQuesReply::getScoreSuccess,2)
.notLike(ClassTaskAndQuesReply::getScoreInfo,"\""+ShiroUtils.getUId()+"\""));
Map<String,Object> result = new HashMap<>();
result.put("setGiveHomeWorkNumber",alreadyReply);
result.put("setNoGiveScoreNumber",noScore);
result.put("userNoCount",userNoCount);
classTask.setOtherInfo(result);
}
return classTaskPage;