diff --git a/src/main/java/com/peanut/modules/common/controller/ClassExamController.java b/src/main/java/com/peanut/modules/common/controller/ClassExamController.java index 08bb0e3b..c24eab4f 100644 --- a/src/main/java/com/peanut/modules/common/controller/ClassExamController.java +++ b/src/main/java/com/peanut/modules/common/controller/ClassExamController.java @@ -2,10 +2,12 @@ package com.peanut.modules.common.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.peanut.common.excel.ExcelUtil; +import com.peanut.common.utils.DateUtils; import com.peanut.common.utils.R; import com.peanut.modules.common.entity.ClassExamOption; import com.peanut.modules.common.entity.ClassExamSubject; import com.peanut.modules.common.entity.ClassExamUser; +import com.peanut.modules.common.entity.ClassModel; import com.peanut.modules.common.service.ClassExamOptionService; import com.peanut.modules.common.service.ClassExamService; import com.peanut.modules.common.service.ClassExamSubjectService; @@ -176,8 +178,7 @@ public class ClassExamController { //考试中的试卷 @RequestMapping("/examingPaper") public R examingPaper(){ - ClassExamUser classExamUser = classExamService.examingPaper(); - return R.ok().put("classExamUser",classExamUser); + return classExamService.examingPaper(); } //提交选项 @@ -204,8 +205,7 @@ public class ClassExamController { //试卷详情 @RequestMapping("/getExamPaperInfo") public R getExamPaperInfo(@RequestBody Map params){ - Object examPaper = classExamService.getExamPaperInfo(params); - return R.ok().put("examPaper",examPaper); + return classExamService.getExamPaperInfo(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 f79bda07..5cc0fc44 100644 --- a/src/main/java/com/peanut/modules/common/entity/ClassModel.java +++ b/src/main/java/com/peanut/modules/common/entity/ClassModel.java @@ -27,6 +27,10 @@ public class ClassModel { private Integer examDays;//考试周时长 + private String examProportion;//考试题型比例 + + private Integer examTime;//考试时长分钟 + private Integer isQuestion; private Integer questionScore; private Integer isTask; diff --git a/src/main/java/com/peanut/modules/common/service/ClassExamService.java b/src/main/java/com/peanut/modules/common/service/ClassExamService.java index 6c8e8a02..5d420934 100644 --- a/src/main/java/com/peanut/modules/common/service/ClassExamService.java +++ b/src/main/java/com/peanut/modules/common/service/ClassExamService.java @@ -32,7 +32,7 @@ public interface ClassExamService extends IService { R generateExamPaper(Map params); - ClassExamUser examingPaper(); + R examingPaper(); void submitOption(Map params); @@ -40,6 +40,6 @@ public interface ClassExamService extends IService { Object getExamPaperList(Map params); - Object getExamPaperInfo(Map params); + R getExamPaperInfo(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 cf4e39fb..536df265 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 @@ -1118,6 +1118,11 @@ public class ClassEntityServiceImpl extends ServiceImpl i @Autowired private ClassEntityDao classEntityDao; @Autowired + private ClassModelDao classModelDao; + @Autowired private RabbitTemplate rabbitTemplate; @Override @@ -146,6 +148,8 @@ public class ClassExamServiceImpl extends ServiceImpl i return R.error("存在正在考试,请结束再试"); } ClassEntity classEntity = classEntityDao.selectById(params.get("classId").toString()); + ClassModel classModel = classModelDao.selectById(classEntity.getModelId()); + int examTime = classModel.getExamTime(); MPJLambdaWrapper courseWrapper = new MPJLambdaWrapper<>(); courseWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId); courseWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId); @@ -157,10 +161,8 @@ public class ClassExamServiceImpl extends ServiceImpl i List> sList = new ArrayList<>(); List> mList = new ArrayList<>(); if (courseList.size() > 0) { - int stotal = 60;//单选题总数 - int mtotal = 40;//多选题总数 -// int stotal = 5;//单选题总数 -// int mtotal = 5;//多选题总数 + int stotal = Integer.parseInt(classModel.getExamProportion().split(":")[0]);//单选题总数 + int mtotal = Integer.parseInt(classModel.getExamProportion().split(":")[1]);//多选题总数 int snum = (int)Math.floor(stotal/courseList.size()); int mnum = (int)Math.floor(mtotal/courseList.size()); for (ClassCourse classCourse:courseList){ @@ -229,17 +231,21 @@ public class ClassExamServiceImpl extends ServiceImpl i DelayQueueConfig.COMMON_EXCHANGE, DelayQueueConfig.COMMON_ROUTING_KEY, "examSubmit"+","+classExamUser.getId(), - messagePostProcessor(2*60*60*1000+3000)//3秒延迟 + messagePostProcessor(examTime*60*1000+3000)//3秒延迟 ); - return R.ok().put("examPaper",resultList).put("id",classExamUser.getId()).put("startTime",classExamUser.getStartTime()); + return R.ok().put("examPaper",resultList).put("id",classExamUser.getId()) + .put("startTime",classExamUser.getStartTime()).put("planEndTime",DateUtils.addDateMinutes(startTime,examTime)); } @Override - public ClassExamUser examingPaper() { + public R examingPaper() { ClassExamUser classExamUser = classExamUserDao.selectOne(new LambdaQueryWrapper() .eq(ClassExamUser::getUserId,ShiroUtils.getUId()).eq(ClassExamUser::getScoreSuccess,0)); - return classExamUser; + ClassEntity classEntity = classEntityDao.selectById(classExamUser.getClassId()); + ClassModel classModel = classModelDao.selectById(classEntity.getModelId()); + return R.ok().put("classExamUser",classExamUser) + .put("planEndTime",DateUtils.addDateMinutes(classExamUser.getStartTime(),classModel.getExamTime())); } @Override @@ -310,9 +316,12 @@ public class ClassExamServiceImpl extends ServiceImpl i } @Override - public Object getExamPaperInfo(Map params) { + public R getExamPaperInfo(Map params) { ClassExamUser classExamUser = classExamUserDao.selectById(params.get("id").toString()); - return classExamUser; + ClassEntity classEntity = classEntityDao.selectById(classExamUser.getClassId()); + ClassModel classModel = classModelDao.selectById(classEntity.getModelId()); + return R.ok().put("examPaper",classExamUser) + .put("planEndTime",DateUtils.addDateMinutes(classExamUser.getStartTime(),classModel.getExamTime())); } private MessagePostProcessor messagePostProcessor(long date) { diff --git a/src/main/java/com/peanut/modules/master/controller/ShopProductController.java b/src/main/java/com/peanut/modules/master/controller/ShopProductController.java index 8d9d48bf..0c19b16c 100644 --- a/src/main/java/com/peanut/modules/master/controller/ShopProductController.java +++ b/src/main/java/com/peanut/modules/master/controller/ShopProductController.java @@ -3,8 +3,10 @@ package com.peanut.modules.master.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.R; +import com.peanut.modules.book.service.ShopProductBookService; import com.peanut.modules.common.entity.BookEntity; import com.peanut.modules.common.entity.ShopProduct; +import com.peanut.modules.common.entity.ShopProductBookEntity; import com.peanut.modules.common.entity.ShopProductCourseEntity; import com.peanut.modules.common.to.ParamTo; import com.peanut.modules.common.vo.CourseCatalogueVo; @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; import java.util.List; import java.util.Map; @@ -29,6 +32,8 @@ public class ShopProductController { @Autowired private ShopProductService shopProductService; + @Autowired + private ShopProductBookService shopProductBookService; /** * 列表 @@ -53,6 +58,33 @@ public class ShopProductController { return R.ok().put("detail",detail); } + @RequestMapping("/addProduct") + public R addProduct(@RequestBody ShopProduct shopProduct){ + shopProduct.setCreateTime(new Date()); + String bkids = ""; + for (String s : shopProduct.getBookids()) { + bkids += s + ","; + } + if (bkids != null && !bkids.isEmpty()) { + String substring = bkids.substring(0, bkids.length() - 1); + shopProduct.setBookId(substring); + } else { + shopProduct.setBookId(""); + } + shopProductService.save(shopProduct); + ShopProductBookEntity shopProductBookEntity = new ShopProductBookEntity(); + for (String s : shopProduct.getBookids()) { + String bookIdList = s; + if (bookIdList != null) { + Integer product = shopProduct.getProductId(); + shopProductBookEntity.setProductId(product); + shopProductBookEntity.setBookId(Integer.valueOf(bookIdList)); + shopProductBookService.save(shopProductBookEntity); + } + } + return R.ok(); + } + @RequestMapping("/editProductDetail") public R editProductDetail(@RequestBody ShopProduct shopProduct){ shopProductService.updateById(shopProduct);