mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
【bug:SZX-1155】在线课程管理列表中,增加两列:审核人和审核时间。
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user