diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiPracticeController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiPracticeController.java index a023d6c12..dac8d1269 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiPracticeController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiPracticeController.java @@ -45,7 +45,7 @@ public class ApiPracticeController extends BaseController { @GetMapping("/v1/practice/list") public AjaxResult list(ExamPractice examPractice) { - List list = examPracticeService.selectListFromWeb(examPractice); + List list = examPracticeService.selectListFromWeb(examPractice); AjaxResult success = success("查询成功"); success.put("data", list); return success; @@ -99,10 +99,11 @@ public class ApiPracticeController extends BaseController { * * @return */ - @GetMapping("/v1/practice/{userId}/error") - public AjaxResult queryError(@PathVariable("userId") String userId) { + @GetMapping("/v1/practice/error") + public AjaxResult queryError() { ExamUserErrorQuestion examUserErrorQuestion = new ExamUserErrorQuestion(); - examUserErrorQuestion.setVipUserId(Integer.parseInt(ShiroUtils.getUserId().toString())); + SysUser sysUser = sysUserService.selectUserByLoginName( JwtUtil.getLoginName() ); + examUserErrorQuestion.setVipUserId(sysUser.getUserId().intValue()); List list = examUserErrorQuestionService.selectExamUserErrorQuestionDetailPage(examUserErrorQuestion); AjaxResult success = success("查询成功"); success.put("data", list); diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamPracticeVO.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamPracticeVO.java new file mode 100644 index 000000000..d266a6449 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamPracticeVO.java @@ -0,0 +1,16 @@ +package com.ruoyi.exam.domain; + +/** + * 题库练习 + */ +public class ExamPracticeVO extends ExamPractice{ + private String trainCourseName; + + public String getTrainCourseName() { + return trainCourseName; + } + + public void setTrainCourseName(String trainCourseName) { + this.trainCourseName = trainCourseName; + } +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPracticeMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPracticeMapper.java index 1f1d27a48..1501ebb32 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPracticeMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPracticeMapper.java @@ -2,6 +2,8 @@ package com.ruoyi.exam.mapper; import com.ruoyi.exam.domain.ExamPractice; import java.util.List; + +import com.ruoyi.exam.domain.ExamPracticeVO; import com.ruoyi.framework.web.base.MyMapper; /** @@ -21,5 +23,10 @@ public interface ExamPracticeMapper extends MyMapper */ public List selectExamPracticeList(ExamPractice examPractice); - List selectListFromWeb(ExamPractice examPractice); + /** + * 接口查询练习题列表 + * @param examPractice + * @return + */ + List selectListFromWeb(ExamPractice examPractice); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPracticeService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPracticeService.java index d27e1e7cc..b2182cac6 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPracticeService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPracticeService.java @@ -4,6 +4,7 @@ import com.ruoyi.exam.domain.ExamPractice; import java.util.List; import com.ruoyi.exam.domain.ExamPracticeQuestionVO; +import com.ruoyi.exam.domain.ExamPracticeVO; import com.ruoyi.framework.web.base.AbstractBaseService; /** * 练习 服务层 @@ -34,5 +35,5 @@ public interface IExamPracticeService extends AbstractBaseService * @param examPractice * @return */ - List selectListFromWeb(ExamPractice examPractice); + List selectListFromWeb(ExamPractice examPractice); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPracticeServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPracticeServiceImpl.java index 77b1831c5..2b2923589 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPracticeServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPracticeServiceImpl.java @@ -35,9 +35,9 @@ public class ExamPracticeServiceImpl extends AbstractBaseServiceImpl selectListFromWeb(ExamPractice examPractice) { + public List selectListFromWeb(ExamPractice examPractice) { startPage(); - return examPracticeMapper.selectListFromWeb(examPractice); + return examPracticeMapper.selectListFromWeb(examPractice); } diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamPracticeMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamPracticeMapper.xml index a46936045..18c6c95e5 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamPracticeMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamPracticeMapper.xml @@ -20,9 +20,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + + + + + + + + + + + + + + + - id, dept_id, name,train_course_id,enable_control_time, start_time, end_time, practice_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag + exam_practice.id, exam_practice.dept_id, exam_practice.name,exam_practice.train_course_id,exam_practice.enable_control_time, + exam_practice.start_time, exam_practice.end_time, exam_practice.practice_user_limit, exam_practice.create_by, exam_practice.create_date, exam_practice.update_by, exam_practice.update_date, exam_practice.remarks, exam_practice.del_flag - select - - from exam_practice + , + tc.name train_course_name + from exam_practice exam_practice + left join train_course tc on tc.id =exam_practice.train_course_id - NOW() and start_time < NOW()) - or enable_control_time = '0') ]]> - and id = #{id} - and dept_id = #{deptId} + NOW() and exam_practice.start_time < NOW()) + or exam_practice.enable_control_time = '0') ]]> + and exam_practice.id = #{id} + and exam_practice.dept_id = #{deptId} and exam_examination.train_course_id = #{ination.trainCourseId} - and name = #{name} - and enable_control_time = #{enableControlTime} - and start_time = #{startTime} - and end_time = #{endTime} - and practice_user_limit = #{practiceUserLimit} - and create_by = #{createBy} - and create_date = #{createDate} - and update_by = #{updateBy} - and update_date = #{updateDate} - and remarks = #{remarks} - and del_flag = #{delFlag} + and exam_practice.name = #{name} + and exam_practice.enable_control_time = #{enableControlTime} + and exam_practice.start_time = #{startTime} + and exam_practice.end_time = #{endTime} + and exam_practice.practice_user_limit = #{practiceUserLimit} + and exam_practice.create_by = #{createBy} + and exam_practice.create_date = #{createDate} + and exam_practice.update_by = #{updateBy} + and exam_practice.update_date = #{updateDate} + and exam_practice.remarks = #{remarks} + and exam_practice.del_flag = #{delFlag} diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java index 8d0fc812a..a50d68e47 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java @@ -2,10 +2,14 @@ package com.ruoyi.train.course.controller; import cn.hutool.json.JSONObject; import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.framework.jwt.JwtUtil; import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.service.ISysUserService; import com.ruoyi.train.course.domain.TrainCourse; import com.ruoyi.train.course.domain.TrainCourseCategory; import com.ruoyi.train.course.domain.TrainCourseSection; +import com.ruoyi.train.course.domain.TrainCourseVO; import com.ruoyi.train.course.service.ITrainCourseCategoryService; import com.ruoyi.train.course.service.ITrainCourseSectionService; import com.ruoyi.train.course.service.ITrainCourseService; @@ -32,17 +36,30 @@ public class ApiTrainCourseController extends BaseController { @Autowired private ITrainCourseSectionService trainCourseSectionService; + @Autowired + private ISysUserService sysUserService; /** * 查询课程列表 */ @GetMapping("/trainCourse/list") - public AjaxResult list( TrainCourse trainCourse) { - List list = trainCourseService.selectTrainCoursePage( trainCourse ); + public AjaxResult list( TrainCourseVO trainCourse) { + List list = trainCourseService.selectTrainCoursePage( trainCourse ); + AjaxResult success = success( "查询成功" ); + success.put( "data", list ); + return success; + } + /** + * 查询课程列表 + */ + @GetMapping("/trainCourse/myList") + public AjaxResult myList( TrainCourseVO trainCourse) { + SysUser sysUser = sysUserService.selectUserByLoginName( JwtUtil.getLoginName() ); + trainCourse.setUserId( sysUser.getUserId().intValue() ); + List list = trainCourseService.selectTrainCoursePage( trainCourse ); AjaxResult success = success( "查询成功" ); success.put( "data", list ); return success; } - /** * 查询课程详情 */ diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java index fceffe4ee..159da2bb9 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.train.course.domain.TrainCourse; import com.ruoyi.train.course.domain.TrainCourseCategory; +import com.ruoyi.train.course.domain.TrainCourseVO; import com.ruoyi.train.course.service.ITrainCourseCategoryService; import com.ruoyi.train.course.service.ITrainCourseService; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -51,9 +52,9 @@ public class TrainCourseController extends BaseController @RequiresPermissions("train:trainCourse:list") @PostMapping("/list") @ResponseBody - public TableDataInfo list(TrainCourse trainCourse) + public TableDataInfo list(TrainCourseVO trainCourse) { - List list = trainCourseService.selectTrainCoursePage(trainCourse); + List list = trainCourseService.selectTrainCoursePage(trainCourse); return getDataTable(list); } @@ -64,10 +65,10 @@ public class TrainCourseController extends BaseController @RequiresPermissions("train:trainCourse:export") @PostMapping("/export") @ResponseBody - public AjaxResult export(TrainCourse trainCourse) + public AjaxResult export(TrainCourseVO trainCourse) { - List list = trainCourseService.selectTrainCourseList(trainCourse); - ExcelUtil util = new ExcelUtil(TrainCourse.class); + List list = trainCourseService.selectTrainCourseList(trainCourse); + ExcelUtil util = new ExcelUtil(TrainCourseVO.class); return util.exportExcel(list, "trainCourse"); } diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/domain/TrainCourseVO.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/domain/TrainCourseVO.java new file mode 100644 index 000000000..a28d7405d --- /dev/null +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/domain/TrainCourseVO.java @@ -0,0 +1,16 @@ +package com.ruoyi.train.course.domain; + +/** + * 自定义课程 + */ +public class TrainCourseVO extends TrainCourse{ + private Integer userId; + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } +} diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseMapper.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseMapper.java index 0e95c0c1b..ec8e40819 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseMapper.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.train.course.mapper; import com.ruoyi.framework.web.base.MyMapper; import com.ruoyi.train.course.domain.TrainCourse; +import com.ruoyi.train.course.domain.TrainCourseVO; import java.util.List; @@ -21,6 +22,6 @@ public interface TrainCourseMapper extends MyMapper * @param trainCourse 课程信息 * @return 课程集合 */ - public List selectTrainCourseList(TrainCourse trainCourse); + public List selectTrainCourseList(TrainCourseVO trainCourse); } \ No newline at end of file diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/service/ITrainCourseService.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/service/ITrainCourseService.java index 4d48c5b6c..550bef565 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/service/ITrainCourseService.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/service/ITrainCourseService.java @@ -2,6 +2,7 @@ package com.ruoyi.train.course.service; import com.ruoyi.framework.web.base.AbstractBaseService; import com.ruoyi.train.course.domain.TrainCourse; +import com.ruoyi.train.course.domain.TrainCourseVO; import java.util.List; @@ -19,14 +20,14 @@ public interface ITrainCourseService extends AbstractBaseService * @param trainCourse 课程信息 * @return 课程集合 */ - public List selectTrainCoursePage(TrainCourse trainCourse); + public List selectTrainCoursePage(TrainCourseVO trainCourse); /** * 查询课程列表 * * @param trainCourse 课程信息 * @return 课程集合 */ - public List selectTrainCourseList(TrainCourse trainCourse); + public List selectTrainCourseList(TrainCourseVO trainCourse); } diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/service/impl/TrainCourseServiceImpl.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/service/impl/TrainCourseServiceImpl.java index 22b489fa5..e2f986324 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/service/impl/TrainCourseServiceImpl.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/service/impl/TrainCourseServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.train.course.service.impl; import com.ruoyi.framework.web.base.AbstractBaseServiceImpl; import com.ruoyi.train.course.domain.TrainCourse; +import com.ruoyi.train.course.domain.TrainCourseVO; import com.ruoyi.train.course.mapper.TrainCourseMapper; import com.ruoyi.train.course.service.ITrainCourseService; import org.springframework.beans.factory.annotation.Autowired; @@ -29,7 +30,7 @@ public class TrainCourseServiceImpl extends AbstractBaseServiceImpl selectTrainCourseList(TrainCourse trainCourse) + public List selectTrainCourseList(TrainCourseVO trainCourse) { return trainCourseMapper.selectTrainCourseList(trainCourse); } @@ -40,7 +41,7 @@ public class TrainCourseServiceImpl extends AbstractBaseServiceImpl selectTrainCoursePage(TrainCourse trainCourse) + public List selectTrainCoursePage(TrainCourseVO trainCourse) { startPage(); return trainCourseMapper.selectTrainCourseList(trainCourse); diff --git a/ruoyi-train/src/main/resources/mapper/train/course/TrainCourseMapper.xml b/ruoyi-train/src/main/resources/mapper/train/course/TrainCourseMapper.xml index 49f9b6f3c..cafa0320b 100644 --- a/ruoyi-train/src/main/resources/mapper/train/course/TrainCourseMapper.xml +++ b/ruoyi-train/src/main/resources/mapper/train/course/TrainCourseMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -22,30 +22,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - id, dept_id, train_course_category_id, name,price, cover, description, state, del_flag, create_by, create_time, update_by, update_time, remark + train_course.id, train_course.dept_id, train_course.train_course_category_id, train_course.name,train_course.price, + train_course.cover, train_course.description, train_course.state, train_course.del_flag, train_course.create_by, + train_course.create_time, train_course.update_by, train_course.update_time, train_course.remark - select from train_course - - and id = #{id} - and dept_id = #{deptId} + + + left join train_course_user tcu on tcu.train_course_id =train_course.id + + + + and tcu.vip_user_id = #{userId} + and train_course.id = #{id} + and train_course.dept_id = #{deptId} - and (train_course_category_id in + and (train_course.train_course_category_id in (select id from train_course_category where FIND_IN_SET(#{trainCourseCategoryId},parent_ids)) - or train_course_category_id = #{trainCourseCategoryId} ) + or train_course.train_course_category_id = #{trainCourseCategoryId} ) - and name = #{name} - and cover = #{cover} - and description = #{description} - and state = #{state} - and del_flag = #{delFlag} - and create_by = #{createBy} - and create_time = #{createTime} - and update_by = #{updateBy} - and update_time = #{updateTime} - and remark = #{remark} + and train_course.name = #{name} + and train_course.cover = #{cover} + and train_course.description = #{description} + and train_course.state = #{state} + and train_course.del_flag = #{delFlag} + and train_course.create_by = #{createBy} + and train_course.create_time = #{createTime} + and train_course.update_by = #{updateBy} + and train_course.update_time = #{updateTime} + and train_course.remark = #{remark}