From fa7c161ee05b06d82c9e0f5cc2bc469eb48ff7f3 Mon Sep 17 00:00:00 2001 From: 86182 Date: Mon, 17 Oct 2022 15:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A8=E8=8D=90=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/course/service/ICourseService.java | 5 ++ .../service/impl/CourseServiceImpl.java | 26 ++++++++ .../com/xboe/school/api/PortalIndexApi.java | 60 +++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java index 82500bb5..1f285238 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java @@ -293,5 +293,10 @@ public interface ICourseService { List ids(List ids); + /** + * 查询出三条关联兴趣爱好的数据 + * */ + List userHobbyList(String aid); + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java index e2eb2591..4ed4edf0 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java @@ -9,6 +9,7 @@ import java.util.Map; import javax.annotation.Resource; +import com.xboe.common.utils.StringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -923,6 +924,31 @@ public class CourseServiceImpl implements ICourseService { return courses; } + @Override + public List userHobbyList(String aid) { + List courses = new ArrayList<>(); + if(StringUtil.isNotBlank(aid)){ + String sql="select ref_id from boe_user_hobby where aid='"+aid+"'"; + List list = courseDao.sqlFindList(sql); + //课程id集合 + List strings = new ArrayList<>(); + for (Object o:list) { + strings.add((String) o); + } + QueryBuilder builder = QueryBuilder.from(Course.class); + builder.setPageSize(3); + List iFieldFilters = new ArrayList<>(); + iFieldFilters.add(FieldFilters.in("sysType1",strings)); + iFieldFilters.add(FieldFilters.in("sysType2",strings)); + iFieldFilters.add(FieldFilters.in("sysType3",strings)); + builder.addFilter(FieldFilters.or(iFieldFilters)); + courses=courseDao.findList(builder.builder()); + } + return courses; + + + } + @Override public int countWaitAudit(String aid) { //查询待审核的课程 diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalIndexApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalIndexApi.java index 3f2ff0bf..1502130b 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalIndexApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalIndexApi.java @@ -1,16 +1,24 @@ package com.xboe.school.api; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import com.xboe.common.PageList; +import com.xboe.common.Pagination; import com.xboe.module.article.entity.Article; import com.xboe.module.article.service.IArticleService; import com.xboe.module.boecase.service.ICasesService; +import com.xboe.module.course.dto.CourseQueryDto; +import com.xboe.module.course.entity.Course; +import com.xboe.module.course.entity.CourseTeacher; +import com.xboe.module.course.service.ICourseService; import com.xboe.module.qa.entity.Question; import com.xboe.module.qa.service.IQuestionService; import com.xboe.school.vo.CasesVo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -31,6 +39,8 @@ import com.xboe.system.user.service.IUserService; import lombok.extern.slf4j.Slf4j; +import javax.annotation.Resource; + /** * 门户首页接口 * @@ -49,6 +59,9 @@ public class PortalIndexApi extends ApiBaseController{ @Autowired IQuestionService questionService; + @Resource + ICourseService courseService; + /** * 首页案例数据 * @return @@ -121,4 +134,51 @@ public class PortalIndexApi extends ApiBaseController{ } + /** + *推荐课程 + * */ + @PostMapping("/courselist") + public JsonResponse> courseList(Pagination pager, CourseQueryDto dto){ + + dto.setPublish(true); + dto.setYearFilter(true); + PageList coursePageList = courseService.findSimplePage(pager.getPageIndex(), pager.getPageSize(),dto); + + String aid = this.getCurrent().getAccountId(); + List courses = courseService.userHobbyList(aid); + + //计算下标, + int i=0; + if(!courses.isEmpty()){ + for (Course c:courses) { + coursePageList.getList().set(i,c); + i++; + } + } + + //提取教师信息 + List ids=new ArrayList(); + + + for(Course c :coursePageList.getList()) { + ids.add(c.getId()); + } + List teachers = courseService.findTeachersByCourseIds(ids); + //注意对于多个教师的情况,这里只是设置第一个教师 + for(Course c :coursePageList.getList()) { + for(CourseTeacher ct : teachers) { + if(ct.getCourseId().equals(c.getId())) { + c.setSysCreateAid(ct.getTeacherId()); + c.setSysCreateBy(ct.getTeacherName()); + } + } + } + + return success(coursePageList); + + + } + + + }