|
@@ -1,9 +1,13 @@
|
|
|
package com.ynfy.app.api.v1.controller;
|
|
|
|
|
|
+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.ynfy.app.api.v1.annoation.IgnoreAuth;
|
|
|
+import com.ynfy.app.api.v1.entity.dto.CourseCategoryDTO;
|
|
|
import com.ynfy.app.api.v1.entity.dto.CourseDTO;
|
|
|
+import com.ynfy.buss.course.category.entity.CourseCategory;
|
|
|
+import com.ynfy.buss.course.category.service.ICourseCategoryService;
|
|
|
import com.ynfy.buss.course.course.entity.Course;
|
|
|
import com.ynfy.buss.course.course.service.ICourseService;
|
|
|
import com.ynfy.buss.course.coursecatalog.service.ICourseCatalogService;
|
|
@@ -19,6 +23,7 @@ import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
|
import org.jeecg.common.util.TokenUtil;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.system.service.ISysPositionService;
|
|
|
import org.jeecg.modules.system.service.ISysUserService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -52,6 +57,59 @@ public class ApiCourseController extends ApiBaseController {
|
|
|
private ISysUserService sysUserService;
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ICourseCategoryService courseCategoryService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 课程分类-分页列表查询
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation(value = "课程分类-分页列表查询", notes = "课程分类-分页列表查询")
|
|
|
+ @IgnoreAuth
|
|
|
+ @PostMapping(value = "/courseCategory/rootList")
|
|
|
+ public Result<IPage<CourseCategory>> queryPageList(@RequestBody CourseCategoryDTO dto) {
|
|
|
+ String hasQuery = dto.getHasQuery();
|
|
|
+ if (hasQuery != null && "true".equals(hasQuery)) {
|
|
|
+ QueryWrapper<CourseCategory> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (StringUtils.isNotBlank(dto.getName())) {
|
|
|
+ queryWrapper.eq("name", dto.getName());
|
|
|
+ }
|
|
|
+ List<CourseCategory> list = courseCategoryService.queryTreeListNoPage(queryWrapper);
|
|
|
+ IPage<CourseCategory> pageList = new Page<>(1, 10, list.size());
|
|
|
+ pageList.setRecords(list);
|
|
|
+ return Result.OK(pageList);
|
|
|
+ } else {
|
|
|
+ CourseCategory courseCategory = new CourseCategory();
|
|
|
+ if (StringUtils.isNotBlank(dto.getPid())) {
|
|
|
+ courseCategory.setPid(dto.getPid());
|
|
|
+ }
|
|
|
+ String parentId = courseCategory.getPid();
|
|
|
+ if (oConvertUtils.isEmpty(parentId)) {
|
|
|
+ parentId = "0";
|
|
|
+ }
|
|
|
+ courseCategory.setPid(null);
|
|
|
+ QueryWrapper<CourseCategory> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (StringUtils.isNotBlank(dto.getName())) {
|
|
|
+ queryWrapper.eq("name", dto.getName());
|
|
|
+ }
|
|
|
+ // 使用 eq 防止模糊查询
|
|
|
+ queryWrapper.eq("pid", parentId);
|
|
|
+ Page<CourseCategory> page = new Page<>(dto.getPageNo(), dto.getPageSize());
|
|
|
+ IPage<CourseCategory> pageList = courseCategoryService.page(page, queryWrapper);
|
|
|
+ List<CourseCategory> records = pageList.getRecords();
|
|
|
+ if (!CollectionUtils.isEmpty(records)) {
|
|
|
+ List<String> parentIdList = records.stream().map(CourseCategory::getId).collect(Collectors.toList());
|
|
|
+ QueryWrapper<CourseCategory> queryParentWrapper = new QueryWrapper<>();
|
|
|
+ queryParentWrapper.in("pid", parentIdList);
|
|
|
+ List<CourseCategory> parentCategoryList = courseCategoryService.list(queryParentWrapper);
|
|
|
+ records.forEach(item -> item.setChildren(parentCategoryList.stream().filter(p ->
|
|
|
+ p.getPid().equals(item.getId())).collect(Collectors.toList())));
|
|
|
+ }
|
|
|
+ return Result.OK(pageList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 分页列表查询
|
|
|
*
|
|
@@ -64,6 +122,9 @@ public class ApiCourseController extends ApiBaseController {
|
|
|
Page<Course> page = new Page<>(dto.getPageNo(), dto.getPageSize());
|
|
|
Course course = new Course();
|
|
|
course.setName(dto.getName());
|
|
|
+ if (StringUtils.isNotBlank(dto.getCategoryId())) {
|
|
|
+ course.setCategoryId(dto.getCategoryId());
|
|
|
+ }
|
|
|
LoginUser user = sysUserService.getLoginUser(TokenUtil.getToken(request));
|
|
|
IPage<Course> pageList = courseService.selectCourseList(page, course, user);
|
|
|
|