加班后24小时未买课踢出去
思考题列表(学员) 模型添加创建时间
This commit is contained in:
@@ -365,6 +365,12 @@ public class ClassController {
|
||||
return R.ok().put("thinkQuestionList",classEntityService.getThinkQuestionList(params));
|
||||
}
|
||||
|
||||
//思考题列表(学员)
|
||||
@RequestMapping("/getThinkQuestionListStudent")
|
||||
public R getThinkQuestionListStudent(@RequestBody Map<String,Object> params){
|
||||
return R.ok().put("getThinkQuestionListStudent",classEntityService.getThinkQuestionListStudent(params));
|
||||
}
|
||||
|
||||
//学员成绩
|
||||
@RequestMapping("/getUserScore")
|
||||
public R getUserScore(@RequestBody Map<String,Object> params){
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -87,6 +87,8 @@ public interface ClassEntityService extends IService<ClassEntity> {
|
||||
|
||||
Page getThinkQuestionList(Map<String,Object> params);
|
||||
|
||||
List<Map<String, Object>> getThinkQuestionListStudent(Map<String,Object> params);
|
||||
|
||||
Map<String,Object> getUserScore(Map<String,Object> params);
|
||||
|
||||
List userScoreList(Map<String,Object> params);
|
||||
|
||||
@@ -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<ClassEntityDao, ClassEnt
|
||||
classUser.setClassId(classEntity.getId());
|
||||
classUser.setUserId(ShiroUtils.getUId());
|
||||
classUserDao.insert(classUser);
|
||||
//加班后24小时未买课踢出去
|
||||
rabbitTemplate.convertAndSend(
|
||||
DelayQueueConfig.COMMON_EXCHANGE,
|
||||
DelayQueueConfig.COMMON_ROUTING_KEY,
|
||||
"joinClass"+","+classEntity.getId()+","+ShiroUtils.getUId(),
|
||||
messagePostProcessor(24*60*60*1000));
|
||||
return R.ok();
|
||||
}else {
|
||||
return R.error("人数已满");
|
||||
@@ -685,6 +687,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void quitClass(Map<String, Object> params) {
|
||||
classUserDao.delete(new LambdaQueryWrapper<ClassUser>()
|
||||
.eq(ClassUser::getClassId,params.get("classId"))
|
||||
@@ -1014,6 +1017,36 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
return replyPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getThinkQuestionListStudent(Map<String, Object> params) {
|
||||
List<Map<String,Object>> res = new ArrayList<>();
|
||||
MPJLambdaWrapper<CourseEntity> 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<CourseEntity> courseList = courseDao.selectList(classCourseWrapper);
|
||||
for (CourseEntity courseEntity : courseList) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("courseEntity",courseEntity);
|
||||
MPJLambdaWrapper<CourseCatalogueChapterEntity> chapterWrapper = new MPJLambdaWrapper<>();
|
||||
chapterWrapper.eq(CourseCatalogueChapterEntity::getCourseId,courseEntity.getId());
|
||||
chapterWrapper.select(CourseCatalogueChapterEntity::getId,CourseCatalogueChapterEntity::getTitle);
|
||||
chapterWrapper.orderByAsc(CourseCatalogueChapterEntity::getSort);
|
||||
List<Map<String,Object>> chapterList = courseCatalogueChapterDao.selectMaps(chapterWrapper);
|
||||
for (Map<String, Object> m : chapterList) {
|
||||
ClassTaskAndQuesReply reply = classTaskAndQuesReplyDao.selectOne(new LambdaQueryWrapper<ClassTaskAndQuesReply>()
|
||||
.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<String, Object> getUserScore(Map<String, Object> params) {
|
||||
ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString());
|
||||
|
||||
@@ -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<ClassCourse> courses = classCourseDao.selectList(new LambdaQueryWrapper<ClassCourse>()
|
||||
.eq(ClassCourse::getModelId,classEntity.getModelId()));
|
||||
for (ClassCourse classCourse:courses){
|
||||
List<UserCourseBuyEntity> ucb = userCourseBuyDao.selectList(new LambdaQueryWrapper<UserCourseBuyEntity>()
|
||||
.eq(UserCourseBuyEntity::getUserId,user.getId())
|
||||
.eq(UserCourseBuyEntity::getCourseId,classCourse.getCourseId()));
|
||||
if (ucb.size() == 0){
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("classId",classEntity.getId());
|
||||
map.put("userId",user.getId());
|
||||
classEntityService.quitClass(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user