diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java index 7f161b23..0784fc08 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java @@ -126,9 +126,40 @@ public class CourseDao extends BaseDao { // 排序语句 appendOrder(builder, queryDTO); - Query query = entityManager.createNativeQuery(builder.toString(), CoursePageVo.class); + Query query = entityManager.createNativeQuery(builder.toString()); setQueryParams(query, queryDTO, isSystemAdmin, orgIds, currentAccountId, pageQuery); - return query.getResultList(); + + List resultList = query.getResultList(); + List coursePageVos = new ArrayList<>(); + for (Object[] row : resultList) { + CoursePageVo vo = new CoursePageVo(); + vo.setId((String) row[0]); + vo.setName((String) row[1]); + vo.setCoverImg((String) row[2]); + vo.setSysType1((String) row[3]); + vo.setSysType2((String) row[4]); + vo.setSysType3((String) row[5]); + vo.setResOwner1((String) row[6]); + vo.setResOwner2((String) row[7]); + vo.setResOwner3((String) row[8]); + vo.setSysCreateBy((String) row[9]); + vo.setCreateFrom((String) row[10]); + vo.setSysCreateTime((LocalDateTime) row[11]); + vo.setForUsers((String) row[12]); + vo.setStatus((Integer) row[13]); + vo.setAuditType((Integer) row[14]); + vo.setPublished((Boolean) row[15]); + vo.setPublishTime((LocalDateTime) row[16]); + vo.setStudys(((Number) row[17]).intValue()); + vo.setScore(((Number) row[18]).floatValue()); + vo.setCourseDuration(((Number) row[19]).longValue()); + vo.setEnabled((Boolean) row[20]); + vo.setOpenCourse((Integer) row[21]); + vo.setIsTop((Boolean) row[22]); + vo.setTeacherName((String) row[23]); + coursePageVos.add(vo); + } + return coursePageVos; } public long countCourse(CoursePageQueryDTO queryDTO, @@ -140,7 +171,7 @@ public class CourseDao extends BaseDao { // 排序语句 appendOrder(builder, queryDTO); - Query query = entityManager.createNativeQuery(builder.toString(), CoursePageVo.class); + Query query = entityManager.createNativeQuery(builder.toString()); setQueryParams(query, queryDTO, isSystemAdmin, orgIds, currentAccountId, false); Number count = (Number) query.getSingleResult(); return count.longValue(); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/vo/CoursePageVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/vo/CoursePageVo.java index eee44447..16e30f00 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/vo/CoursePageVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/vo/CoursePageVo.java @@ -103,6 +103,11 @@ public class CoursePageVo { * true-已发布 */ private Boolean published; + + /** + * 发布时间 + */ + private LocalDateTime publishTime; /** * 学习人数 @@ -136,6 +141,11 @@ public class CoursePageVo { */ private Integer openCourse; + /** + * 是否置顶 + */ + private Boolean isTop; + /** * 排序权重 */