diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseAuditApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseAuditApi.java index aa1cb539..1eb4ebf1 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseAuditApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseAuditApi.java @@ -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 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 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> lastAuditList(Pagination page, CourseHRBPAuditDto info){ + +// CurrentUser cu=getCurrent(); +// if(StringUtils.isBlank(teacherId)){ +// teacherId=cu.getAccountId();//老师的id +// } + try { + //最后一个,用户id不传,权限由菜单控制 + PageList 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 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 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()); + } } - - //以下两个方法是公开课的审核 + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java index 6c40a482..513f41a3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java @@ -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 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 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 publish(String ids,String title, Boolean pass){ if(StringUtils.isBlank(ids)){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseAuditRecordDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseAuditRecordDao.java deleted file mode 100644 index 89d2a8ed..00000000 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseAuditRecordDao.java +++ /dev/null @@ -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{ - -} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseAuditRecord.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseAuditRecord.java deleted file mode 100644 index d2166b04..00000000 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseAuditRecord.java +++ /dev/null @@ -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; - -} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java index 584c3d71..fa587aad 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseHRBPAudit.java @@ -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; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseAuditService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseAuditService.java index dbd753e4..fe0340b3 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseAuditService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseAuditService.java @@ -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 pageRecord(int pageIndex, int pageSize,String courseName,Integer auditState, String aid); + PageList 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); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseAuditServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseAuditServiceImpl.java index e147e4c5..120c27f5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseAuditServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseAuditServiceImpl.java @@ -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 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 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 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 rs=new PageList(); + rs.setList(new ArrayList()); + try { + PageList 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 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 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("未配置事件消息发送的实现"); + } + } + } 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 dafd3df5..ae8b35fb 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 @@ -522,8 +522,6 @@ public class CourseServiceImpl implements ICourseService { return c; } - - @Override public void save(CourseFullDto full) { Course c=full.getCourse();