【bug:SZX-1155】在线课程管理列表中,增加两列:审核人和审核时间。

This commit is contained in:
xu
2025-11-05 15:50:44 +08:00
parent d5b774a9ad
commit 8ff8703576
4 changed files with 56 additions and 0 deletions

View File

@@ -147,6 +147,22 @@ public class CourseManageApi extends ApiBaseController{
dto.setOrgIds(ids); dto.setOrgIds(ids);
dto.setReadIds(userOrgIds.getReadIds()); dto.setReadIds(userOrgIds.getReadIds());
PageList<Course> coursePageList = courseService.findPage(pager.getPageIndex(), pager.getPageSize(),dto); PageList<Course> coursePageList = courseService.findPage(pager.getPageIndex(), pager.getPageSize(),dto);
// 补充审核人和审核时间(取最近一条审核记录)- 批量查询优化
if (coursePageList != null && coursePageList.getList() != null && !coursePageList.getList().isEmpty()) {
List<String> courseIds = coursePageList.getList().stream().map(Course::getId).collect(Collectors.toList());
Map<String, CourseHRBPAudit> latestAuditMap = hrbpAuditService.findLatestByCourseIds(courseIds);
for (Course c : coursePageList.getList()) {
try {
CourseHRBPAudit latest = latestAuditMap.get(c.getId());
if (latest != null) {
c.setAuditUser(latest.getAuditUser());
c.setAuditTime(latest.getAuditTime());
}
} catch (Exception ignore) {
// ignore single course enrich error
}
}
}
return success(coursePageList); return success(coursePageList);
}catch(Exception e) { }catch(Exception e) {
log.error("管理课程列表查询错误",e); log.error("管理课程列表查询错误",e);

View File

@@ -400,6 +400,15 @@ public class Course extends BaseEntity {
@Transient @Transient
private String teacher; private String teacher;
/**审核人名称(列表展示用)*/
@Transient
private String auditUser;
/**审核时间(列表展示用)*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Transient
private LocalDateTime auditTime;
public Course(String id,String name,String summary,String coverImg,String sysCreateAid,String sysCreateBy,Integer type,LocalDateTime publishTime){ public Course(String id,String name,String summary,String coverImg,String sysCreateAid,String sysCreateBy,Integer type,LocalDateTime publishTime){
super.setId(id); super.setId(id);
this.name=name; this.name=name;

View File

@@ -2,6 +2,7 @@ package com.xboe.module.course.service;
import java.util.List; import java.util.List;
import java.util.Map;
import com.xboe.common.PageList; import com.xboe.common.PageList;
import com.xboe.module.course.dto.CourseHRBPAuditDto; import com.xboe.module.course.dto.CourseHRBPAuditDto;
@@ -56,5 +57,10 @@ public interface ICourseHRBPAuditService {
*/ */
PageList<CourseHRBPAudit> pageList(Integer pageIndex, Integer pageSize,int userType, CourseHRBPAudit info); PageList<CourseHRBPAudit> pageList(Integer pageIndex, Integer pageSize,int userType, CourseHRBPAudit info);
/**
* 查询一组课程的最近一次审核记录返回键为courseId的映射。
*/
Map<String, CourseHRBPAudit> findLatestByCourseIds(List<String> courseIds);
} }

View File

@@ -1,7 +1,9 @@
package com.xboe.module.course.service.impl; package com.xboe.module.course.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -263,4 +265,27 @@ public class CourseHRBPAuditServiceImpl implements ICourseHRBPAuditService {
return courseHRBPAuditDao.get(id); return courseHRBPAuditDao.get(id);
} }
@Override
public Map<String, CourseHRBPAudit> findLatestByCourseIds(List<String> courseIds) {
Map<String, CourseHRBPAudit> result = new HashMap<String, CourseHRBPAudit>();
if (courseIds == null || courseIds.isEmpty()) {
return result;
}
try {
// 按 addTime 倒序使首次出现的courseId即为该课程的最近一条审核记录
List<CourseHRBPAudit> audits = courseHRBPAuditDao.findList(
OrderCondition.desc("addTime"),
FieldFilters.in("courseId", courseIds)
);
for (CourseHRBPAudit a : audits) {
if (!result.containsKey(a.getCourseId())) {
result.put(a.getCourseId(), a);
}
}
} catch (Exception e) {
log.error("批量查询课程审核记录错误", e.getMessage());
}
return result;
}
} }