diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java index c8979f2f..64da1df4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java @@ -234,12 +234,28 @@ public class CourseFullTextApi extends ApiBaseController{ PageList coursePageList = fullTextSearch.search(ICourseFullTextSearch.DEFAULT_INDEX_NAME,pager.getStartRow(), pager.getPageSize(),paras); //提取教师信息 List ids=new ArrayList(); + List cids=new ArrayList(); for(CourseFullText c :coursePageList.getList()) { ids.add(c.getId()); + if(c.getSource()==2) { + cids.add(c.getId()); + } + } + List clist=null; + if(!cids.isEmpty()) { + clist=courseService.findStudysScoreByIds(cids); } List teachers = courseService.findTeachersByCourseIds(ids); //注意对于多个教师的情况,这里只是设置第一个教师 for(CourseFullText c :coursePageList.getList()) { + if(clist!=null) { + for(Course c2 : clist) { + if(c2.getId().equals(c.getId())) { + c.setScore(c2.getScore()); + break; + } + } + } for(CourseTeacher ct : teachers) { if(ct.getCourseId().equals(c.getId())) { c.setTeacher(ct.getTeacherName()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java index 92815e8e..5d7fdca3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java @@ -50,6 +50,12 @@ public class Course extends BaseEntity { } + public Course(String id,Integer studys,Float score) { + this.setId(id); + this.studys=studys; + this.score=score; + } + public Course(String id,Integer type,String name,String coverImg, Float score,Integer studys,Integer comments,Integer shares,Integer praises,Integer favorites ,String forUsers,String value,String summary,LocalDateTime publishTime,Boolean isTop) { this.setId(id); 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 b4271594..76e0d693 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 @@ -320,6 +320,13 @@ public interface ICourseService { * 页面二次查询 * */ List ids(List ids); + + /** + * 查询需要的字段 + * @param ids + * @return + */ + List findStudysScoreByIds(List ids); /** 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 78fdd504..24495f2c 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 @@ -1653,6 +1653,12 @@ public class CourseServiceImpl implements ICourseService { courseDao.updateFieldById(id, field, value); } + @Override + public List findStudysScoreByIds(List ids) { + + return courseDao.findListByHql("Select new Course(id,studys,score) from Course where id in(?1)",ids); + } +