diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java index 8579231..0e5a9d8 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java @@ -95,7 +95,7 @@ public class CourseController { Date now = new Date(); - if (req.getHours() != null) {//无章节课时配置 + if (req.getHours().size() > 0) {//无章节课时配置 List insertHours = new ArrayList<>(); final Integer[] chapterSort = {0}; for (CourseRequest.HourItem hourItem : req.getHours()) { @@ -117,6 +117,7 @@ public class CourseController { if (req.getChapters() == null || req.getChapters().size() == 0) { return JsonResponse.error("请配置课时"); } + List insertHours = new ArrayList<>(); final Integer[] chapterSort = {0}; diff --git a/src/main/java/xyz/playedu/api/domain/Course.java b/src/main/java/xyz/playedu/api/domain/Course.java index 24f26cd..21c042a 100644 --- a/src/main/java/xyz/playedu/api/domain/Course.java +++ b/src/main/java/xyz/playedu/api/domain/Course.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @@ -53,12 +54,10 @@ public class Course implements Serializable { @JsonProperty("created_at") private Date createdAt; - @JsonProperty("updated_at") + @JsonIgnore private Date updatedAt; - /** - * 删除时间 - */ + @JsonIgnore private Date deletedAt; @TableField(exist = false) diff --git a/src/main/java/xyz/playedu/api/mapper/CourseMapper.java b/src/main/java/xyz/playedu/api/mapper/CourseMapper.java index 6395dbc..0e48486 100644 --- a/src/main/java/xyz/playedu/api/mapper/CourseMapper.java +++ b/src/main/java/xyz/playedu/api/mapper/CourseMapper.java @@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper; import xyz.playedu.api.domain.Course; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import xyz.playedu.api.types.mapper.CourseCategoryCountMapper; +import xyz.playedu.api.types.paginate.CoursePaginateFiler; import java.util.List; @@ -18,6 +19,10 @@ public interface CourseMapper extends BaseMapper { List getCategoryCount(); + List paginate(CoursePaginateFiler filer); + + Long paginateCount(CoursePaginateFiler filer); + } diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java index c4bc6c6..fdbd242 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java @@ -1,8 +1,5 @@ package xyz.playedu.api.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -18,7 +15,6 @@ import xyz.playedu.api.service.internal.ResourceCourseCategoryService; import xyz.playedu.api.types.mapper.CourseCategoryCountMapper; import xyz.playedu.api.types.paginate.CoursePaginateFiler; import xyz.playedu.api.types.paginate.PaginationResult; -import xyz.playedu.api.util.HelperUtil; import java.util.*; import java.util.stream.Collectors; @@ -39,51 +35,12 @@ public class CourseServiceImpl extends ServiceImpl impleme @Override public PaginationResult paginate(int page, int size, CoursePaginateFiler filter) { - QueryWrapper wrapper = query().getWrapper().eq("1", "1"); - - if (filter.getTitle() != null && filter.getTitle().length() > 0) { - wrapper.like("title", "%" + filter.getTitle() + "%"); - } - if (filter.getDepIds() != null && filter.getDepIds().trim().length() > 0) { - List depIds = Arrays.stream(filter.getDepIds().split(",")).map(Integer::valueOf).toList(); - List courseIds = courseDepartmentService.getCourseIdsByDepIds(depIds); - if (courseIds == null || courseIds.size() == 0) { - courseIds = HelperUtil.zeroIntegerList(); - } - wrapper.in("id", courseIds); - } - if (filter.getCategoryIds() != null && filter.getCategoryIds().trim().length() > 0) { - List categoryIds = Arrays.stream(filter.getCategoryIds().split(",")).map(Integer::valueOf).toList(); - List courseIds = courseCategoryService.getCourseIdsByCategoryIds(categoryIds); - if (courseIds == null || courseIds.size() == 0) { - courseIds = HelperUtil.zeroIntegerList(); - } - wrapper.in("id", courseIds); - } - if (filter.getIsShow() != null) { - wrapper.eq("is_show", filter.getIsShow()); - } - - String sortFiled = filter.getSortField(); - if (sortFiled == null || sortFiled.trim().length() == 0) { - sortFiled = "id"; - } - String sortAlgo = filter.getSortAlgo(); - if (sortAlgo == null || sortAlgo.trim().length() == 0) { - sortAlgo = "desc"; - } - if ("desc".equals(sortAlgo)) { - wrapper.orderByDesc(sortFiled); - } else { - wrapper.orderByAsc(sortFiled); - } - - IPage pageObj = new Page<>(page, size); - pageObj = page(pageObj, wrapper); + filter.setPageStart((page - 1) * size); + filter.setPageSize(size); PaginationResult pageResult = new PaginationResult<>(); - pageResult.setData(pageObj.getRecords()); - pageResult.setTotal(pageObj.getTotal()); + pageResult.setData(getBaseMapper().paginate(filter)); + pageResult.setTotal(getBaseMapper().paginateCount(filter)); return pageResult; } diff --git a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java index 5c387a7..f78984f 100644 --- a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java +++ b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java @@ -21,4 +21,8 @@ public class CoursePaginateFiler { private Integer isShow; + private Integer pageStart; + + private Integer pageSize; + } diff --git a/src/main/resources/mapper/CourseMapper.xml b/src/main/resources/mapper/CourseMapper.xml index 87df17e..286c1ec 100644 --- a/src/main/resources/mapper/CourseMapper.xml +++ b/src/main/resources/mapper/CourseMapper.xml @@ -5,19 +5,20 @@ - - - - - - - - - + + + + + + + + + - id,title,thumb, + id + ,title,thumb, charge,class_hour,is_show, created_at,updated_at,deleted_at @@ -27,4 +28,142 @@ FROM `resource_course_category` GROUP BY `resource_course_category`.`category_id`; + + + +