后台新增:学员的最近课时学习记录api,学员的线上课学习进度api

This commit is contained in:
none
2023-04-17 17:50:48 +08:00
parent ad07f20dd7
commit 6e65fc9aa0
14 changed files with 255 additions and 24 deletions

View File

@@ -19,6 +19,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import xyz.playedu.api.domain.UserCourseHourRecord;
import xyz.playedu.api.types.mapper.UserCourseHourRecordCountMapper;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserCourseHourRecordPaginateFilter;
import java.util.List;
@@ -49,4 +51,7 @@ public interface UserCourseHourRecordService extends IService<UserCourseHourReco
List<UserCourseHourRecordCountMapper> getUserCourseHourCount(
Integer userId, List<Integer> courseIds, Integer isFinished);
PaginationResult<UserCourseHourRecord> paginate(
int page, int size, UserCourseHourRecordPaginateFilter filter);
}

View File

@@ -18,8 +18,8 @@ package xyz.playedu.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.playedu.api.domain.UserCourseRecord;
import xyz.playedu.api.types.paginate.CourseUserPaginateFilter;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserCourseRecordPaginateFilter;
import java.util.List;
@@ -37,7 +37,7 @@ public interface UserCourseRecordService extends IService<UserCourseRecord> {
List<UserCourseRecord> chunk(Integer userId, List<Integer> courseIds);
PaginationResult<UserCourseRecord> paginate(
int page, int size, CourseUserPaginateFilter filter);
int page, int size, UserCourseRecordPaginateFilter filter);
void destroy(Integer courseId, List<Integer> ids);

View File

@@ -43,9 +43,11 @@ import java.util.stream.Collectors;
@Service
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {
@Autowired private CourseDepartmentService courseDepartmentService;
@Autowired
private CourseDepartmentService courseDepartmentService;
@Autowired private ResourceCourseCategoryService courseCategoryService;
@Autowired
private ResourceCourseCategoryService courseCategoryService;
@Override
public PaginationResult<Course> paginate(int page, int size, CoursePaginateFiler filter) {
@@ -201,6 +203,9 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
@Override
public List<Course> chunks(List<Integer> ids) {
if (ids == null || ids.size() == 0) {
return new ArrayList<>();
}
return list(query().getWrapper().in("id", ids));
}

View File

@@ -26,6 +26,8 @@ import xyz.playedu.api.event.UserCourseHourFinishedEvent;
import xyz.playedu.api.mapper.UserCourseHourRecordMapper;
import xyz.playedu.api.service.UserCourseHourRecordService;
import xyz.playedu.api.types.mapper.UserCourseHourRecordCountMapper;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserCourseHourRecordPaginateFilter;
import java.util.ArrayList;
import java.util.Date;
@@ -137,4 +139,18 @@ public class UserCourseHourRecordServiceImpl
public void remove(Integer userId, Integer courseId) {
remove(query().getWrapper().eq("user_id", userId).eq("course_id", courseId));
}
@Override
public PaginationResult<UserCourseHourRecord> paginate(
int page, int size, UserCourseHourRecordPaginateFilter filter) {
int pageStart = (page - 1) * size;
filter.setPageStart(pageStart);
filter.setPageSize(size);
PaginationResult<UserCourseHourRecord> pageResult = new PaginationResult<>();
pageResult.setData(getBaseMapper().paginate(filter));
pageResult.setTotal(getBaseMapper().paginateCount(filter));
return pageResult;
}
}

View File

@@ -22,8 +22,8 @@ import org.springframework.stereotype.Service;
import xyz.playedu.api.domain.UserCourseRecord;
import xyz.playedu.api.mapper.UserCourseRecordMapper;
import xyz.playedu.api.service.UserCourseRecordService;
import xyz.playedu.api.types.paginate.CourseUserPaginateFilter;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.UserCourseRecordPaginateFilter;
import java.util.ArrayList;
import java.util.Date;
@@ -98,7 +98,7 @@ public class UserCourseRecordServiceImpl
@Override
public PaginationResult<UserCourseRecord> paginate(
int page, int size, CourseUserPaginateFilter filter) {
int page, int size, UserCourseRecordPaginateFilter filter) {
Integer pageStart = (page - 1) * size;
filter.setPageStart(pageStart);
filter.setPageSize(size);