diff --git a/src/main/java/com/peanut/modules/common/controller/ClassController.java b/src/main/java/com/peanut/modules/common/controller/ClassController.java index 0c91d1fb..07def47e 100644 --- a/src/main/java/com/peanut/modules/common/controller/ClassController.java +++ b/src/main/java/com/peanut/modules/common/controller/ClassController.java @@ -365,6 +365,12 @@ public class ClassController { return R.ok().put("thinkQuestionList",classEntityService.getThinkQuestionList(params)); } + //思考题列表(学员) + @RequestMapping("/getThinkQuestionListStudent") + public R getThinkQuestionListStudent(@RequestBody Map params){ + return R.ok().put("getThinkQuestionListStudent",classEntityService.getThinkQuestionListStudent(params)); + } + //学员成绩 @RequestMapping("/getUserScore") public R getUserScore(@RequestBody Map params){ diff --git a/src/main/java/com/peanut/modules/common/entity/ClassModel.java b/src/main/java/com/peanut/modules/common/entity/ClassModel.java index 5cc0fc44..7fbd7b42 100644 --- a/src/main/java/com/peanut/modules/common/entity/ClassModel.java +++ b/src/main/java/com/peanut/modules/common/entity/ClassModel.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.util.Date; import java.util.List; @Data @@ -15,6 +16,8 @@ public class ClassModel { @TableId private Integer id; + private Date createTime; + private String title; private Integer directorId; diff --git a/src/main/java/com/peanut/modules/common/service/ClassEntityService.java b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java index 5a974e27..d789b3f4 100644 --- a/src/main/java/com/peanut/modules/common/service/ClassEntityService.java +++ b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java @@ -87,6 +87,8 @@ public interface ClassEntityService extends IService { Page getThinkQuestionList(Map params); + List> getThinkQuestionListStudent(Map params); + Map getUserScore(Map params); List userScoreList(Map params); diff --git a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java index c4cb631e..5e6db3b3 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java @@ -1,12 +1,10 @@ package com.peanut.modules.common.service.impl; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.peanut.common.utils.DateUtils; import com.peanut.common.utils.R; import com.peanut.common.utils.ShiroUtils; import com.peanut.config.DelayQueueConfig; @@ -22,10 +20,8 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.math.BigDecimal; import java.math.RoundingMode; -import java.time.LocalDate; import java.util.*; @Slf4j @@ -678,6 +674,12 @@ public class ClassEntityServiceImpl extends ServiceImpl params) { classUserDao.delete(new LambdaQueryWrapper() .eq(ClassUser::getClassId,params.get("classId")) @@ -1014,6 +1017,36 @@ public class ClassEntityServiceImpl extends ServiceImpl> getThinkQuestionListStudent(Map params) { + List> res = new ArrayList<>(); + MPJLambdaWrapper classCourseWrapper = new MPJLambdaWrapper<>(); + classCourseWrapper.leftJoin(ClassCourse.class,ClassCourse::getCourseId,CourseEntity::getId); + classCourseWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassCourse::getModelId); + classCourseWrapper.eq(ClassEntity::getId,params.get("classId")); + classCourseWrapper.select(CourseEntity::getId,CourseEntity::getTitle); + List courseList = courseDao.selectList(classCourseWrapper); + for (CourseEntity courseEntity : courseList) { + Map map = new HashMap<>(); + map.put("courseEntity",courseEntity); + MPJLambdaWrapper chapterWrapper = new MPJLambdaWrapper<>(); + chapterWrapper.eq(CourseCatalogueChapterEntity::getCourseId,courseEntity.getId()); + chapterWrapper.select(CourseCatalogueChapterEntity::getId,CourseCatalogueChapterEntity::getTitle); + chapterWrapper.orderByAsc(CourseCatalogueChapterEntity::getSort); + List> chapterList = courseCatalogueChapterDao.selectMaps(chapterWrapper); + for (Map m : chapterList) { + ClassTaskAndQuesReply reply = classTaskAndQuesReplyDao.selectOne(new LambdaQueryWrapper() + .eq(ClassTaskAndQuesReply::getRelationId,m.get("id")) + .eq(ClassTaskAndQuesReply::getType,"1") + .eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId())); + m.put("reply",reply); + } + map.put("chapterList",chapterList); + res.add(map); + } + return res; + } + @Override public Map getUserScore(Map params) { ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString()); diff --git a/src/main/java/com/peanut/modules/mq/Consumer/CommonConsumer.java b/src/main/java/com/peanut/modules/mq/Consumer/CommonConsumer.java index 5aba8675..88b7b308 100644 --- a/src/main/java/com/peanut/modules/mq/Consumer/CommonConsumer.java +++ b/src/main/java/com/peanut/modules/mq/Consumer/CommonConsumer.java @@ -2,11 +2,11 @@ package com.peanut.modules.mq.Consumer; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.peanut.common.utils.DateUtils; +import com.peanut.common.utils.R; import com.peanut.config.DelayQueueConfig; -import com.peanut.modules.common.dao.ClassEntityDao; -import com.peanut.modules.common.dao.ClassExamUserDao; -import com.peanut.modules.common.entity.ClassEntity; -import com.peanut.modules.common.entity.ClassExamUser; +import com.peanut.modules.common.dao.*; +import com.peanut.modules.common.entity.*; +import com.peanut.modules.common.service.ClassEntityService; import com.peanut.modules.common.service.ClassExamService; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; @@ -26,6 +26,14 @@ public class CommonConsumer { private ClassExamUserDao classExamUserDao; @Autowired private ClassExamService classexamService; + @Autowired + private MyUserDao myUserDao; + @Autowired + private ClassCourseDao classCourseDao; + @Autowired + private UserCourseBuyDao userCourseBuyDao; + @Autowired + private ClassEntityService classEntityService; @RabbitListener(queues = DelayQueueConfig.COMMON_QUEUE) public void commonConsumer(String typeAndParam) { @@ -47,6 +55,32 @@ public class CommonConsumer { map.put("id",classExamUser.getId()); classexamService.submitExamPaper(map); } + } + //加班后24小时未买课踢出去 + if ("joinClass".equals(typeAndParams[0])){ + ClassEntity classEntity = classEntityDao.selectById(typeAndParams[1]); + MyUserEntity user = myUserDao.selectById(typeAndParams[2]); + if ("0".equals(user.getVip())||"3".equals(user.getVip())){ + //不是vip查询每门课是否购买 + List courses = classCourseDao.selectList(new LambdaQueryWrapper() + .eq(ClassCourse::getModelId,classEntity.getModelId())); + for (ClassCourse classCourse:courses){ + List ucb = userCourseBuyDao.selectList(new LambdaQueryWrapper() + .eq(UserCourseBuyEntity::getUserId,user.getId()) + .eq(UserCourseBuyEntity::getCourseId,classCourse.getCourseId())); + if (ucb.size() == 0){ + Map map = new HashMap<>(); + map.put("classId",classEntity.getId()); + map.put("userId",user.getId()); + classEntityService.quitClass(map); + } + } + } + + + + + }