加班后24小时未买课踢出去
思考题列表(学员) 模型添加创建时间
This commit is contained in:
@@ -365,6 +365,12 @@ public class ClassController {
|
|||||||
return R.ok().put("thinkQuestionList",classEntityService.getThinkQuestionList(params));
|
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")
|
@RequestMapping("/getUserScore")
|
||||||
public R getUserScore(@RequestBody Map<String,Object> params){
|
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 com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -15,6 +16,8 @@ public class ClassModel {
|
|||||||
@TableId
|
@TableId
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
private Integer directorId;
|
private Integer directorId;
|
||||||
|
|||||||
@@ -87,6 +87,8 @@ public interface ClassEntityService extends IService<ClassEntity> {
|
|||||||
|
|
||||||
Page getThinkQuestionList(Map<String,Object> params);
|
Page getThinkQuestionList(Map<String,Object> params);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getThinkQuestionListStudent(Map<String,Object> params);
|
||||||
|
|
||||||
Map<String,Object> getUserScore(Map<String,Object> params);
|
Map<String,Object> getUserScore(Map<String,Object> params);
|
||||||
|
|
||||||
List userScoreList(Map<String,Object> params);
|
List userScoreList(Map<String,Object> params);
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
package com.peanut.modules.common.service.impl;
|
package com.peanut.modules.common.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.peanut.common.utils.DateUtils;
|
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.common.utils.ShiroUtils;
|
import com.peanut.common.utils.ShiroUtils;
|
||||||
import com.peanut.config.DelayQueueConfig;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -678,6 +674,12 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
|||||||
classUser.setClassId(classEntity.getId());
|
classUser.setClassId(classEntity.getId());
|
||||||
classUser.setUserId(ShiroUtils.getUId());
|
classUser.setUserId(ShiroUtils.getUId());
|
||||||
classUserDao.insert(classUser);
|
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();
|
return R.ok();
|
||||||
}else {
|
}else {
|
||||||
return R.error("人数已满");
|
return R.error("人数已满");
|
||||||
@@ -685,6 +687,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void quitClass(Map<String, Object> params) {
|
public void quitClass(Map<String, Object> params) {
|
||||||
classUserDao.delete(new LambdaQueryWrapper<ClassUser>()
|
classUserDao.delete(new LambdaQueryWrapper<ClassUser>()
|
||||||
.eq(ClassUser::getClassId,params.get("classId"))
|
.eq(ClassUser::getClassId,params.get("classId"))
|
||||||
@@ -1014,6 +1017,36 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
|||||||
return replyPage;
|
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
|
@Override
|
||||||
public Map<String, Object> getUserScore(Map<String, Object> params) {
|
public Map<String, Object> getUserScore(Map<String, Object> params) {
|
||||||
ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString());
|
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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.peanut.common.utils.DateUtils;
|
import com.peanut.common.utils.DateUtils;
|
||||||
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.config.DelayQueueConfig;
|
import com.peanut.config.DelayQueueConfig;
|
||||||
import com.peanut.modules.common.dao.ClassEntityDao;
|
import com.peanut.modules.common.dao.*;
|
||||||
import com.peanut.modules.common.dao.ClassExamUserDao;
|
import com.peanut.modules.common.entity.*;
|
||||||
import com.peanut.modules.common.entity.ClassEntity;
|
import com.peanut.modules.common.service.ClassEntityService;
|
||||||
import com.peanut.modules.common.entity.ClassExamUser;
|
|
||||||
import com.peanut.modules.common.service.ClassExamService;
|
import com.peanut.modules.common.service.ClassExamService;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -26,6 +26,14 @@ public class CommonConsumer {
|
|||||||
private ClassExamUserDao classExamUserDao;
|
private ClassExamUserDao classExamUserDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ClassExamService classexamService;
|
private ClassExamService classexamService;
|
||||||
|
@Autowired
|
||||||
|
private MyUserDao myUserDao;
|
||||||
|
@Autowired
|
||||||
|
private ClassCourseDao classCourseDao;
|
||||||
|
@Autowired
|
||||||
|
private UserCourseBuyDao userCourseBuyDao;
|
||||||
|
@Autowired
|
||||||
|
private ClassEntityService classEntityService;
|
||||||
|
|
||||||
@RabbitListener(queues = DelayQueueConfig.COMMON_QUEUE)
|
@RabbitListener(queues = DelayQueueConfig.COMMON_QUEUE)
|
||||||
public void commonConsumer(String typeAndParam) {
|
public void commonConsumer(String typeAndParam) {
|
||||||
@@ -47,6 +55,32 @@ public class CommonConsumer {
|
|||||||
map.put("id",classExamUser.getId());
|
map.put("id",classExamUser.getId());
|
||||||
classexamService.submitExamPaper(map);
|
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