完成后台的线上课-学员api接口

This commit is contained in:
none
2023-03-24 16:29:16 +08:00
parent a6b5eae000
commit 4514adb9d0
10 changed files with 230 additions and 8 deletions

View File

@@ -2,6 +2,8 @@ package xyz.playedu.api.service;
import xyz.playedu.api.domain.UserCourseRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.CourseUserPaginateFilter;
import java.util.List;
@@ -17,4 +19,8 @@ public interface UserCourseRecordService extends IService<UserCourseRecord> {
void storeOrUpdate(Integer userId, Integer courseId, Integer hourCount, Integer finishedCount);
List<UserCourseRecord> chunk(Integer userId, List<Integer> courseIds);
PaginationResult<UserCourseRecord> paginate(int page, int size, CourseUserPaginateFilter filter);
void destroy(Integer courseId, List<Integer> ids);
}

View File

@@ -40,6 +40,8 @@ public interface UserService extends IService<User> {
List<User> chunks(List<Integer> ids, List<String> fields);
List<User> chunks(List<Integer> ids);
Long total();
Long todayCount();

View File

@@ -5,6 +5,8 @@ import xyz.playedu.api.domain.UserCourseRecord;
import xyz.playedu.api.service.UserCourseRecordService;
import xyz.playedu.api.mapper.UserCourseRecordMapper;
import org.springframework.stereotype.Service;
import xyz.playedu.api.types.paginate.CourseUserPaginateFilter;
import xyz.playedu.api.types.paginate.PaginationResult;
import java.util.ArrayList;
import java.util.Date;
@@ -74,6 +76,24 @@ public class UserCourseRecordServiceImpl extends ServiceImpl<UserCourseRecordMap
}
return list(query().getWrapper().eq("user_id", userId).in("course_id", courseIds));
}
@Override
public PaginationResult<UserCourseRecord> paginate(int page, int size, CourseUserPaginateFilter filter) {
Integer pageStart = (page - 1) * size;
filter.setPageStart(pageStart);
filter.setPageSize(size);
PaginationResult<UserCourseRecord> result = new PaginationResult<>();
result.setTotal(getBaseMapper().paginateTotal(filter));
result.setData(getBaseMapper().paginate(filter));
return result;
}
@Override
public void destroy(Integer courseId, List<Integer> ids) {
remove(query().getWrapper().in("id", ids).eq("course_id", courseId));
}
}

View File

@@ -166,6 +166,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
return list(query().getWrapper().in("id", ids).select(fields));
}
@Override
public List<User> chunks(List<Integer> ids) {
if (ids == null || ids.size() == 0) {
return new ArrayList<>();
}
return list(query().getWrapper().in("id", ids));
}
@Override
public Long total() {
return count();