mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 10:56:50 +08:00
课程审核的调整
This commit is contained in:
@@ -31,7 +31,6 @@ import com.xboe.module.course.service.ICourseHRBPAuditService;
|
||||
import com.xboe.module.course.service.ICourseService;
|
||||
import com.xboe.standard.enums.BoedxContentType;
|
||||
import com.xboe.standard.enums.BoedxCourseType;
|
||||
import com.xboe.system.logs.entity.SysLogAudit;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -79,7 +78,7 @@ public class CourseAuditApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定审核人
|
||||
* 指定审核人,指定教师审核
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param teacherId
|
||||
@@ -253,8 +252,109 @@ public class CourseAuditApi extends ApiBaseController{
|
||||
return error;
|
||||
}
|
||||
|
||||
@PostMapping("/submit")
|
||||
@AutoLog(module = "课程",action = "默认管理员直接提交发布",info = "")
|
||||
/**
|
||||
* 老师审核提交,需要转回到hrbp再审核
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param title
|
||||
* @param pass
|
||||
* @param remark
|
||||
* @param from
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/teacher-submit-audit")
|
||||
public JsonResponse<Boolean> teacherAudit(String auditId,Boolean pass,String remark){
|
||||
if(StringUtils.isBlank(auditId)){
|
||||
return badRequest("参数错误");
|
||||
}
|
||||
|
||||
if(pass==null){
|
||||
return badRequest("无审核结果信息");
|
||||
}
|
||||
//检查是否允许
|
||||
try {
|
||||
//CurrentUser cu=getCurrent();
|
||||
service.teacherSubmitAudit(auditId,pass,remark);
|
||||
return success(true);
|
||||
} catch (Exception e) {
|
||||
log.error("教师审核提交处理错误",e);
|
||||
return error("审核处理失败",e.getMessage(),false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* hrbp 提交审核
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param title
|
||||
* @param pass
|
||||
* @param remark
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/hrbp-submit-audit")
|
||||
public JsonResponse<Boolean> hrbpAudit(String auditId,String courseId,String title,Boolean pass,String remark){
|
||||
if(StringUtils.isBlank(auditId)){
|
||||
return badRequest("参数错误");
|
||||
}
|
||||
if(StringUtils.isBlank(courseId)){
|
||||
return badRequest("参数错误");
|
||||
}
|
||||
if(StringUtils.isBlank(title)){
|
||||
return badRequest("未指定内容标题");
|
||||
}
|
||||
if(pass==null){
|
||||
return badRequest("无审核结果信息");
|
||||
}
|
||||
Course c=courseService.get(courseId);
|
||||
if(c==null) {
|
||||
return badRequest("课程不存在");
|
||||
}
|
||||
boolean open=false;
|
||||
if(c.getOpenCourse()!=null && c.getOpenCourse()==1) {
|
||||
open=true;
|
||||
}
|
||||
//检查是否允许
|
||||
if(pass) {
|
||||
String error=checkForSubmit(c);
|
||||
if(error!=null) {
|
||||
return badRequest(error);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
CurrentUser cu=getCurrent();
|
||||
service.hrbpSubmitAudit(auditId, courseId,open, pass,cu.getAccountId(),cu.getName(), remark);
|
||||
return success(true);
|
||||
} catch (Exception e) {
|
||||
log.error("HRBP审核提交处理错误",e);
|
||||
return error("审核处理失败",e.getMessage(),false);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/last-audit-list")
|
||||
public JsonResponse<PageList<CourseHRBPAudit>> lastAuditList(Pagination page, CourseHRBPAuditDto info){
|
||||
|
||||
// CurrentUser cu=getCurrent();
|
||||
// if(StringUtils.isBlank(teacherId)){
|
||||
// teacherId=cu.getAccountId();//老师的id
|
||||
// }
|
||||
try {
|
||||
//最后一个,用户id不传,权限由菜单控制
|
||||
PageList<CourseHRBPAudit> list=service.pageLastAudit(page.getPageIndex(),page.getPageSize(), info.getCourseName(), info.getStatus(),null);
|
||||
return success(list);
|
||||
} catch (Exception e) {
|
||||
log.error("查询课程审核信息错误",e);
|
||||
return error("查询审核信息失败",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交并直接发布,用于默认管理直接操作
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/submit-publish")
|
||||
@AutoLog(module = "课程",action = "默认管理员提交发布",info = "")
|
||||
public JsonResponse<Boolean> submitAndPublish(@RequestBody CourseFullDto dto){
|
||||
if(dto.getCourse()==null){
|
||||
return badRequest("无课程信息");
|
||||
@@ -292,9 +392,38 @@ public class CourseAuditApi extends ApiBaseController{
|
||||
return error("发布课程失败",e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 审核
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/last-audit-submit")
|
||||
@AutoLog(module = "课程",action = "最后(公开课)审核提交",info = "")
|
||||
public JsonResponse<Boolean> lastAuditSubmit(String auditId,String courseId,Boolean pass,String remark){
|
||||
if(StringUtils.isBlank(auditId)) {
|
||||
return badRequest("参数错误");
|
||||
}
|
||||
if(StringUtils.isBlank(courseId)) {
|
||||
return badRequest("未指定课程");
|
||||
}
|
||||
if(pass==null) {
|
||||
return badRequest("无审核结果");
|
||||
}
|
||||
try {
|
||||
//String auditId, String courseId,boolean pass, String aid, String name, String remark
|
||||
CurrentUser cuser=getCurrent();
|
||||
service.submitLastAudit(auditId,courseId,pass,cuser.getAccountId(),cuser.getName(),remark);
|
||||
return success(true);
|
||||
} catch (Exception e) {
|
||||
log.error("最后审核提交处理错误",e);
|
||||
e.printStackTrace();
|
||||
return error("审核处理失败",e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//以下两个方法是公开课的审核
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员审核列表,教师的审核不在这里
|
||||
* 管理员审核列表,教师的审核不在这里,此审核也应该移动CourseAuditApi中去
|
||||
* @param pager
|
||||
* @param dto
|
||||
* @return
|
||||
@@ -362,6 +362,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/submit")
|
||||
@AutoLog(module = "课程",action = "提交课程",info = "")
|
||||
public JsonResponse<CourseFullDto> submitCourseFull(@RequestBody CourseFullDto dto){
|
||||
@@ -662,7 +663,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核并发布,未完成的处理
|
||||
* 审核并发布,未完成的处理,
|
||||
* @param id
|
||||
* @param title
|
||||
* @param pass
|
||||
@@ -670,6 +671,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
* @param from 来源
|
||||
* @return
|
||||
*/
|
||||
@Deprecated
|
||||
@PostMapping("/audit-publish")
|
||||
public JsonResponse<Boolean> auditAndPublish(String auditId,String courseId,String title, Boolean pass,String remark,Integer from){
|
||||
if(StringUtils.isBlank(auditId)){
|
||||
@@ -705,13 +707,14 @@ public class CourseManageApi extends ApiBaseController{
|
||||
|
||||
|
||||
/**
|
||||
* 发布课程信息
|
||||
* 发布课程信息,已经没有单独的发布了
|
||||
* @param id
|
||||
* @param title
|
||||
* @param pass
|
||||
* @param remark
|
||||
* @return
|
||||
*/
|
||||
@Deprecated
|
||||
@PostMapping("/publish")
|
||||
public JsonResponse<Boolean> publish(String ids,String title, Boolean pass){
|
||||
if(StringUtils.isBlank(ids)){
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package com.xboe.module.course.dao;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.xboe.core.orm.BaseDao;
|
||||
import com.xboe.module.course.entity.CourseAuditRecord;
|
||||
|
||||
@Repository
|
||||
public class CourseAuditRecordDao extends BaseDao<CourseAuditRecord>{
|
||||
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
package com.xboe.module.course.entity;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.IdBaseEntity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 审核日志,当前只用于公开课的审核记录,因为hrbp和教师审核在hrbp审核中
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Entity
|
||||
@Table(name = SysConstant.TABLE_PRE+"course_audit_record")
|
||||
public class CourseAuditRecord extends IdBaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**未审核*/
|
||||
public static int AUDITSTATE_NULL=1;
|
||||
|
||||
/**审核通过*/
|
||||
public static int AUDITSTATE_PASS=3;
|
||||
|
||||
/**审核不通过*/
|
||||
public static int AUDITSTATE_NOPASS=2;
|
||||
|
||||
/**课程id*/
|
||||
@Column(name = "course_id",nullable=false, length=20)
|
||||
private String courseId;
|
||||
|
||||
@Column(name = "course_name",nullable=false, length=100)
|
||||
private String courseName;
|
||||
|
||||
/**审核人id*/
|
||||
@Column(name = "aid",nullable=false, length=20)
|
||||
private String aid;
|
||||
|
||||
/**审核人姓名*/
|
||||
@Column(name = "aname",nullable=false, length=30)
|
||||
private String aname;
|
||||
|
||||
/**审核时间*/
|
||||
@Column(name = "audit_time",nullable=true)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime auditTime;
|
||||
|
||||
/**审核类型,1表普通审核,2表转审,3表公开课审核*/
|
||||
@Column(name = "audit_type",nullable=false, length=1)
|
||||
private Integer auditType;
|
||||
|
||||
/**审核说明*/
|
||||
@Column(name = "audit_remark",nullable=true, length=200)
|
||||
private String auditRemark;
|
||||
|
||||
/**审核状态*/
|
||||
@Column(name = "audit_state",nullable=false, length=1)
|
||||
private Integer auditState;
|
||||
|
||||
}
|
||||
@@ -19,15 +19,20 @@ import java.time.LocalDateTime;
|
||||
@Table(name = SysConstant.TABLE_PRE+"course_HRBP_audit")
|
||||
public class CourseHRBPAudit extends IdEntity {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**未转发*/
|
||||
public static final int FORWARD_NONE=1;
|
||||
|
||||
/**转发到教师审核*/
|
||||
public static final int FORWARD_TEACHER=2;
|
||||
|
||||
/**老师审核完成*/
|
||||
public static final int FORWARD_TO_FINISH=3;
|
||||
|
||||
/**公开课的审核*/
|
||||
public static final int FORWARD_LAST=6;
|
||||
|
||||
/**转发*/
|
||||
public static final int STATUS_NONE=1;
|
||||
|
||||
@@ -70,15 +75,21 @@ public class CourseHRBPAudit extends IdEntity {
|
||||
private String auditUser;
|
||||
|
||||
/**
|
||||
* 是否转发 1表未转发 2表已转发(),3教师审核完成
|
||||
* 是否转发 1表未转发 2表已转发(转发审核中),3教师审核完成,6表公开课审核
|
||||
* */
|
||||
@Column(name = "forward")
|
||||
private Integer forward;
|
||||
|
||||
|
||||
/**
|
||||
* 添加时间
|
||||
* */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Column(name = "add_time")
|
||||
private LocalDateTime addTime;
|
||||
|
||||
/**
|
||||
* 转发给用户id
|
||||
* */
|
||||
*/
|
||||
@Column(name = "to_aid",length = 20)
|
||||
private String toAid;
|
||||
|
||||
@@ -92,14 +103,37 @@ public class CourseHRBPAudit extends IdEntity {
|
||||
|
||||
@Column(name = "to_remark")
|
||||
private String toRemark;
|
||||
|
||||
/**
|
||||
* 添加时间
|
||||
* */
|
||||
|
||||
//以下是新增加的字段
|
||||
/**审核时间*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Column(name = "add_time")
|
||||
private LocalDateTime addTime;
|
||||
@Column(name = "to_audit_Time",length = 50)
|
||||
private LocalDateTime toAuditTime;
|
||||
|
||||
/**转审的处理状态,同status*/
|
||||
@Column(name = "to_state")
|
||||
private Integer toState;
|
||||
|
||||
/**公开课审核人id,*/
|
||||
@Column(name = "last_aid",length = 20)
|
||||
private String lastAid;
|
||||
|
||||
/**公开课审核人*/
|
||||
@Column(name = "last_aname",length = 50)
|
||||
private String lastAname;
|
||||
|
||||
/**公开课审核时间*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Column(name = "last_time",length = 50)
|
||||
private LocalDateTime lastTime;
|
||||
|
||||
/**公开课审核结果,同status*/
|
||||
@Column(name = "last_state")
|
||||
private Integer lastState;
|
||||
|
||||
/**公开课审核说明*/
|
||||
@Column(name = "last_remark")
|
||||
private String lastRemark;
|
||||
|
||||
@Transient
|
||||
private String courseName;
|
||||
@@ -107,6 +141,9 @@ public class CourseHRBPAudit extends IdEntity {
|
||||
@Transient
|
||||
private String courseUser;
|
||||
|
||||
@Transient
|
||||
private Integer courseType;
|
||||
|
||||
@Transient
|
||||
private Boolean coursePublished;
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@ package com.xboe.module.course.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.module.course.dto.CourseQueryDto;
|
||||
import com.xboe.module.course.entity.CourseAudit;
|
||||
import com.xboe.module.course.entity.CourseAuditRecord;
|
||||
import com.xboe.module.course.entity.CourseHRBPAudit;
|
||||
|
||||
|
||||
/**
|
||||
* 课程审核的相关处理,注释的审核功能,在CourseSerivce中还没有移过来
|
||||
* 最后确认流程后,使用此类来处理审核
|
||||
* @author seastar
|
||||
*
|
||||
*/
|
||||
@@ -35,7 +34,7 @@ public interface ICourseAuditService {
|
||||
|
||||
|
||||
/**
|
||||
* 指定审核人
|
||||
* hrbp指定审核人
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param teacherId
|
||||
@@ -45,6 +44,31 @@ public interface ICourseAuditService {
|
||||
*/
|
||||
void appointAudit(String auditId,String courseId,String teacherId,String teacherName,String auditInfo, String remark);
|
||||
|
||||
/**
|
||||
* 教师提交审核
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param pass
|
||||
* @param aid
|
||||
* @param name
|
||||
* @param remark
|
||||
*/
|
||||
void teacherSubmitAudit(String auditId,boolean pass,String remark);
|
||||
|
||||
/**
|
||||
* hrbp提交审核
|
||||
* @param auditId
|
||||
* @param courseId
|
||||
* @param openCourse 是否是公开课
|
||||
* @param pass
|
||||
* @param aid
|
||||
* @param name
|
||||
* @param remark
|
||||
* @param publish
|
||||
* @param from
|
||||
*/
|
||||
void hrbpSubmitAudit(String auditId, String courseId,boolean openCourse, boolean pass, String aid, String name, String remark);
|
||||
|
||||
/**
|
||||
* 查询需要审核的信息
|
||||
* @param courseId
|
||||
@@ -63,21 +87,21 @@ public interface ICourseAuditService {
|
||||
|
||||
//以下是新增加的公开课的审核
|
||||
/**
|
||||
* 查询需要审核的课程
|
||||
* 最后的审核查询,公开课审核查询
|
||||
* @param pageIndex
|
||||
* @param pageSize
|
||||
* @param courseName
|
||||
* @param auditState
|
||||
* @param lastState
|
||||
* @param aid
|
||||
* @return
|
||||
*/
|
||||
PageList<CourseAuditRecord> pageRecord(int pageIndex, int pageSize,String courseName,Integer auditState, String aid);
|
||||
PageList<CourseHRBPAudit> pageLastAudit(int pageIndex, int pageSize,String courseName,Integer lastState, String aid);
|
||||
|
||||
/**
|
||||
* 提交审核
|
||||
* 公开课提交审核,最后的提交审核
|
||||
* @param record
|
||||
*/
|
||||
void submitAudit(CourseAuditRecord record);
|
||||
void submitLastAudit(String auditId, String courseId, boolean pass, String aid, String name, String remark);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.xboe.module.course.service.impl;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -16,19 +18,22 @@ import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.course.dao.CourseAuditDao;
|
||||
import com.xboe.module.course.dao.CourseAuditRecordDao;
|
||||
import com.xboe.module.course.dao.CourseDao;
|
||||
import com.xboe.module.course.dao.CourseHRBPAuditDao;
|
||||
import com.xboe.module.course.dao.CourseTeacherDao;
|
||||
import com.xboe.module.course.entity.Course;
|
||||
import com.xboe.module.course.entity.CourseAudit;
|
||||
import com.xboe.module.course.entity.CourseAuditRecord;
|
||||
import com.xboe.module.course.entity.CourseHRBPAudit;
|
||||
import com.xboe.module.course.entity.CourseTeacher;
|
||||
import com.xboe.module.course.service.ICourseAuditService;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 课程审核的处理,因为这个是后续增加的,所以之前审核的一些操作还是在课程处理中
|
||||
* @author seastar
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||
@@ -36,9 +41,6 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||
@Resource
|
||||
CourseAuditDao auditDao;
|
||||
|
||||
@Resource
|
||||
CourseAuditRecordDao auditRecordDao;
|
||||
|
||||
@Resource
|
||||
CourseHRBPAuditDao courseHRBPAuditDao;
|
||||
|
||||
@@ -59,12 +61,6 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||
public void appointAudit(String auditId,String courseId, String teacherId, String teacherName,String auditInfo, String remark) {
|
||||
|
||||
//更新课程的表
|
||||
// courseDao.updateFieldById(courseId, "auditAid", teacherId);
|
||||
// courseDao.updateMultiFieldById(courseId,
|
||||
// UpdateBuilder.create("auditAid", teacherId),
|
||||
// UpdateBuilder.create("auditInfo", auditInfo)
|
||||
// );
|
||||
//
|
||||
// //增加审核的信息
|
||||
// CourseAudit ca=new CourseAudit();
|
||||
// ca.setAuditRemark(remark);
|
||||
@@ -80,7 +76,6 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||
UpdateBuilder.create("toInfo", auditInfo),
|
||||
UpdateBuilder.create("toName", teacherName),
|
||||
UpdateBuilder.create("toRemark", remark)
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
@@ -139,43 +134,181 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||
//// return rs;
|
||||
// return null;
|
||||
// }
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void teacherSubmitAudit(String auditId,boolean pass,String remark) {
|
||||
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
//更新审核记录状态
|
||||
courseHRBPAuditDao.updateMultiFieldById(auditId,
|
||||
UpdateBuilder.create("toState", pass? CourseHRBPAudit.STATUS_PASS:CourseHRBPAudit.STATUS_NOPASS),
|
||||
UpdateBuilder.create("toRemark", remark),
|
||||
UpdateBuilder.create("toAuditTime", now),
|
||||
UpdateBuilder.create("forward", CourseHRBPAudit.FORWARD_TO_FINISH)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void hrbpSubmitAudit(String auditId, String courseId,boolean openCourse, boolean pass, String aid, String name, String remark) {
|
||||
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
int status=Course.STATUS_AUDIT_FINISH;
|
||||
if(!pass) {
|
||||
status=Course.STATUS_AUDIT_NOPASS;
|
||||
}
|
||||
|
||||
//更新审核记录状态
|
||||
courseHRBPAuditDao.updateMultiFieldById(auditId,
|
||||
UpdateBuilder.create("status", pass? CourseHRBPAudit.STATUS_PASS:CourseHRBPAudit.STATUS_NOPASS),
|
||||
UpdateBuilder.create("auditRemark", remark),
|
||||
UpdateBuilder.create("auditUser", name),
|
||||
UpdateBuilder.create("auditTime", now)
|
||||
);
|
||||
//更新课程的转审状态,并把转审的信息置为空,这会的状态还未审核通过
|
||||
if(!openCourse) { //非公开课,这已表示处理完成,直接更新课程状态
|
||||
courseDao.updateMultiFieldById(courseId,UpdateBuilder.create("status", status),UpdateBuilder.create("auditAid", null),UpdateBuilder.create("auditInfo", null));
|
||||
//审核通过并发布,直接发布课程
|
||||
if(pass) {
|
||||
//设置课程状态已审核完成,这里是管理员的审核
|
||||
courseDao.updateMultiFieldById(courseId,
|
||||
UpdateBuilder.create("published", pass),
|
||||
UpdateBuilder.create("erasable", false), //设置以后不能物理删除了
|
||||
UpdateBuilder.create("publishTime", LocalDateTime.now()));
|
||||
//发布到全文检索中
|
||||
Course c=courseDao.get(courseId);
|
||||
publishUtil.fullTextPublish(c);
|
||||
//同时添加发布事件,这里的创建人需要修改为教师
|
||||
if(eventSender!=null) {
|
||||
List<CourseTeacher> teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", courseId));
|
||||
if(teachers.size()>0) {
|
||||
String authorIds="";
|
||||
for(CourseTeacher cteacher:teachers) {
|
||||
if(authorIds.equals("")) {
|
||||
authorIds+=cteacher.getTeacherId();
|
||||
}else {
|
||||
authorIds+="|"+cteacher.getTeacherId();
|
||||
}
|
||||
}
|
||||
eventSender.send("发布课程","PublishCourse", "发布课程【"+c.getName()+"】", c.getId(), "1", c.getName(), aid,name,"authors:"+authorIds);
|
||||
}
|
||||
|
||||
}else {
|
||||
log.error("未配置事件消息发送的实现");
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//对于公开课
|
||||
if(pass) {
|
||||
//公开课,hrpb审核通过,下一步是公开课的审核,hrbp审核流程已经完成
|
||||
courseHRBPAuditDao.updateMultiFieldById(auditId,
|
||||
UpdateBuilder.create("forward", CourseHRBPAudit.FORWARD_LAST),
|
||||
UpdateBuilder.create("lastState", CourseHRBPAudit.STATUS_NONE)
|
||||
);
|
||||
}else {
|
||||
//如果未通过,直接修改课程状态
|
||||
courseDao.updateMultiFieldById(courseId,UpdateBuilder.create("status", status),UpdateBuilder.create("auditAid", null),UpdateBuilder.create("auditInfo", null));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageList<CourseAuditRecord> pageRecord(int pageIndex, int pageSize, String courseName, Integer auditState,String aid) {
|
||||
QueryBuilder builder=QueryBuilder.from(CourseAuditRecord.class);
|
||||
builder.setPageIndex(pageIndex);
|
||||
builder.setPageSize(pageSize);
|
||||
public PageList<CourseHRBPAudit> pageLastAudit(int pageIndex, int pageSize,String courseName,Integer lastState, String aid) {
|
||||
|
||||
return null;
|
||||
QueryBuilder query=QueryBuilder.from(Course.class.getSimpleName()+" c,"+CourseHRBPAudit.class.getSimpleName()+" a");
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
query.addField("a");
|
||||
query.addField("c.name");
|
||||
query.addField("c.sysCreateBy");
|
||||
query.addField("c.type");
|
||||
query.addFilter(FieldFilters.eqField("c.id", "a.courseId"));
|
||||
|
||||
//最后的审核,公开课审核
|
||||
query.addFilter(FieldFilters.eq("a.forward",CourseHRBPAudit.FORWARD_LAST));
|
||||
query.addFilter(FieldFilters.gt("a.status",CourseHRBPAudit.STATUS_NONE));
|
||||
//审核状态
|
||||
if(lastState!=null) {
|
||||
if(lastState==9) {
|
||||
query.addFilter(FieldFilters.gt("a.lastState",CourseHRBPAudit.STATUS_NONE));
|
||||
}else {
|
||||
query.addFilter(FieldFilters.eq("a.lastState",lastState));
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(courseName)){
|
||||
query.addFilter(FieldFilters.like("c.name",courseName));
|
||||
}
|
||||
query.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
query.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
|
||||
query.addOrder(OrderCondition.desc("a.addTime"));
|
||||
PageList<CourseHRBPAudit> rs=new PageList<CourseHRBPAudit>();
|
||||
rs.setList(new ArrayList<CourseHRBPAudit>());
|
||||
try {
|
||||
PageList<Object[]> list=courseDao.findPageFields(query.builder());
|
||||
rs.setCount(list.getCount());
|
||||
rs.setPageSize(pageSize);
|
||||
for(Object[] objs : list.getList()) {
|
||||
CourseHRBPAudit audit=(CourseHRBPAudit)objs[0];
|
||||
audit.setCourseName(objs[1].toString());
|
||||
audit.setCourseUser((String)objs[2]);
|
||||
audit.setCourseType((Integer)objs[3]);
|
||||
rs.getList().add(audit);
|
||||
}
|
||||
|
||||
|
||||
}catch(Exception e) {
|
||||
log.error("查询课程审核错误",e);
|
||||
}
|
||||
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void submitAudit(CourseAuditRecord record) {
|
||||
|
||||
auditRecordDao.save(record);
|
||||
//同步发布课程
|
||||
//同步发布
|
||||
Course c= courseDao.get(record.getCourseId());
|
||||
publishUtil.fullTextPublish(c);
|
||||
//发布事件处理
|
||||
if(eventSender!=null) {
|
||||
List<CourseTeacher> teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", record.getCourseId()));
|
||||
if(teachers.size()>0) {
|
||||
String authorIds="";
|
||||
for(CourseTeacher cteacher:teachers) {
|
||||
if(authorIds.equals("")) {
|
||||
authorIds+=cteacher.getTeacherId();
|
||||
}else {
|
||||
authorIds+="|"+cteacher.getTeacherId();
|
||||
}
|
||||
}
|
||||
eventSender.send("发布课程","PublishCourse", "发布课程【"+record.getCourseName()+"】",record.getCourseId(), "1", record.getCourseName(), record.getAid(),record.getAname(),"authors:"+authorIds);
|
||||
}
|
||||
|
||||
}else {
|
||||
log.error("未配置事件消息发送的实现");
|
||||
public void submitLastAudit(String auditId, String courseId,boolean pass, String aid, String name, String remark) {
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
int status=Course.STATUS_AUDIT_FINISH;
|
||||
if(!pass) {
|
||||
status=Course.STATUS_AUDIT_NOPASS;
|
||||
}
|
||||
courseDao.updateMultiFieldById(courseId,UpdateBuilder.create("status", status),UpdateBuilder.create("auditAid", null),UpdateBuilder.create("auditInfo", null));
|
||||
|
||||
courseHRBPAuditDao.updateMultiFieldById(auditId,
|
||||
UpdateBuilder.create("lastRemark", remark),
|
||||
UpdateBuilder.create("lastAid", aid),
|
||||
UpdateBuilder.create("lastAname", name),
|
||||
UpdateBuilder.create("lastTime", now),
|
||||
UpdateBuilder.create("lastState", pass? CourseHRBPAudit.STATUS_PASS:CourseHRBPAudit.STATUS_NOPASS)
|
||||
);
|
||||
if(pass) {
|
||||
//同步发布课程
|
||||
//同步发布
|
||||
Course c= courseDao.get(courseId);
|
||||
publishUtil.fullTextPublish(c);
|
||||
//发布事件处理
|
||||
if(eventSender!=null) {
|
||||
List<CourseTeacher> teachers = courseTeacherDao.findList(FieldFilters.eq("courseId",courseId));
|
||||
if(teachers.size()>0) {
|
||||
String authorIds="";
|
||||
for(CourseTeacher cteacher:teachers) {
|
||||
if(authorIds.equals("")) {
|
||||
authorIds+=cteacher.getTeacherId();
|
||||
}else {
|
||||
authorIds+="|"+cteacher.getTeacherId();
|
||||
}
|
||||
}
|
||||
eventSender.send("发布课程","PublishCourse", "发布课程【"+c.getName()+"】",courseId, "1", c.getName(), aid,name,"authors:"+authorIds);
|
||||
}
|
||||
|
||||
}else {
|
||||
log.error("未配置事件消息发送的实现");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -522,8 +522,6 @@ public class CourseServiceImpl implements ICourseService {
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void save(CourseFullDto full) {
|
||||
Course c=full.getCourse();
|
||||
|
||||
Reference in New Issue
Block a user