mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 02:46: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.module.course.service.ICourseService;
|
||||||
import com.xboe.standard.enums.BoedxContentType;
|
import com.xboe.standard.enums.BoedxContentType;
|
||||||
import com.xboe.standard.enums.BoedxCourseType;
|
import com.xboe.standard.enums.BoedxCourseType;
|
||||||
import com.xboe.system.logs.entity.SysLogAudit;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@@ -79,7 +78,7 @@ public class CourseAuditApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 指定审核人
|
* 指定审核人,指定教师审核
|
||||||
* @param auditId
|
* @param auditId
|
||||||
* @param courseId
|
* @param courseId
|
||||||
* @param teacherId
|
* @param teacherId
|
||||||
@@ -253,8 +252,109 @@ public class CourseAuditApi extends ApiBaseController{
|
|||||||
return error;
|
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){
|
public JsonResponse<Boolean> submitAndPublish(@RequestBody CourseFullDto dto){
|
||||||
if(dto.getCourse()==null){
|
if(dto.getCourse()==null){
|
||||||
return badRequest("无课程信息");
|
return badRequest("无课程信息");
|
||||||
@@ -292,9 +392,38 @@ public class CourseAuditApi extends ApiBaseController{
|
|||||||
return error("发布课程失败",e.getMessage());
|
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 pager
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
@@ -362,6 +362,7 @@ public class CourseManageApi extends ApiBaseController{
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/submit")
|
@PostMapping("/submit")
|
||||||
@AutoLog(module = "课程",action = "提交课程",info = "")
|
@AutoLog(module = "课程",action = "提交课程",info = "")
|
||||||
public JsonResponse<CourseFullDto> submitCourseFull(@RequestBody CourseFullDto dto){
|
public JsonResponse<CourseFullDto> submitCourseFull(@RequestBody CourseFullDto dto){
|
||||||
@@ -662,7 +663,7 @@ public class CourseManageApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核并发布,未完成的处理
|
* 审核并发布,未完成的处理,
|
||||||
* @param id
|
* @param id
|
||||||
* @param title
|
* @param title
|
||||||
* @param pass
|
* @param pass
|
||||||
@@ -670,6 +671,7 @@ public class CourseManageApi extends ApiBaseController{
|
|||||||
* @param from 来源
|
* @param from 来源
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@PostMapping("/audit-publish")
|
@PostMapping("/audit-publish")
|
||||||
public JsonResponse<Boolean> auditAndPublish(String auditId,String courseId,String title, Boolean pass,String remark,Integer from){
|
public JsonResponse<Boolean> auditAndPublish(String auditId,String courseId,String title, Boolean pass,String remark,Integer from){
|
||||||
if(StringUtils.isBlank(auditId)){
|
if(StringUtils.isBlank(auditId)){
|
||||||
@@ -705,13 +707,14 @@ public class CourseManageApi extends ApiBaseController{
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发布课程信息
|
* 发布课程信息,已经没有单独的发布了
|
||||||
* @param id
|
* @param id
|
||||||
* @param title
|
* @param title
|
||||||
* @param pass
|
* @param pass
|
||||||
* @param remark
|
* @param remark
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@PostMapping("/publish")
|
@PostMapping("/publish")
|
||||||
public JsonResponse<Boolean> publish(String ids,String title, Boolean pass){
|
public JsonResponse<Boolean> publish(String ids,String title, Boolean pass){
|
||||||
if(StringUtils.isBlank(ids)){
|
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")
|
@Table(name = SysConstant.TABLE_PRE+"course_HRBP_audit")
|
||||||
public class CourseHRBPAudit extends IdEntity {
|
public class CourseHRBPAudit extends IdEntity {
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**未转发*/
|
||||||
public static final int FORWARD_NONE=1;
|
public static final int FORWARD_NONE=1;
|
||||||
|
|
||||||
|
/**转发到教师审核*/
|
||||||
public static final int FORWARD_TEACHER=2;
|
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;
|
public static final int STATUS_NONE=1;
|
||||||
|
|
||||||
@@ -70,15 +75,21 @@ public class CourseHRBPAudit extends IdEntity {
|
|||||||
private String auditUser;
|
private String auditUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否转发 1表未转发 2表已转发(),3教师审核完成
|
* 是否转发 1表未转发 2表已转发(转发审核中),3教师审核完成,6表公开课审核
|
||||||
* */
|
* */
|
||||||
@Column(name = "forward")
|
@Column(name = "forward")
|
||||||
private Integer forward;
|
private Integer forward;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加时间
|
||||||
|
* */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@Column(name = "add_time")
|
||||||
|
private LocalDateTime addTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 转发给用户id
|
* 转发给用户id
|
||||||
* */
|
*/
|
||||||
@Column(name = "to_aid",length = 20)
|
@Column(name = "to_aid",length = 20)
|
||||||
private String toAid;
|
private String toAid;
|
||||||
|
|
||||||
@@ -93,13 +104,36 @@ public class CourseHRBPAudit extends IdEntity {
|
|||||||
@Column(name = "to_remark")
|
@Column(name = "to_remark")
|
||||||
private String toRemark;
|
private String toRemark;
|
||||||
|
|
||||||
/**
|
//以下是新增加的字段
|
||||||
* 添加时间
|
/**审核时间*/
|
||||||
* */
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@Column(name = "add_time")
|
@Column(name = "to_audit_Time",length = 50)
|
||||||
private LocalDateTime addTime;
|
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
|
@Transient
|
||||||
private String courseName;
|
private String courseName;
|
||||||
@@ -107,6 +141,9 @@ public class CourseHRBPAudit extends IdEntity {
|
|||||||
@Transient
|
@Transient
|
||||||
private String courseUser;
|
private String courseUser;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer courseType;
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private Boolean coursePublished;
|
private Boolean coursePublished;
|
||||||
|
|
||||||
|
|||||||
@@ -2,15 +2,14 @@ package com.xboe.module.course.service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.xboe.common.OrderCondition;
|
|
||||||
import com.xboe.common.PageList;
|
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.CourseAudit;
|
||||||
import com.xboe.module.course.entity.CourseAuditRecord;
|
import com.xboe.module.course.entity.CourseHRBPAudit;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 课程审核的相关处理,注释的审核功能,在CourseSerivce中还没有移过来
|
* 课程审核的相关处理,注释的审核功能,在CourseSerivce中还没有移过来
|
||||||
|
* 最后确认流程后,使用此类来处理审核
|
||||||
* @author seastar
|
* @author seastar
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -35,7 +34,7 @@ public interface ICourseAuditService {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 指定审核人
|
* hrbp指定审核人
|
||||||
* @param auditId
|
* @param auditId
|
||||||
* @param courseId
|
* @param courseId
|
||||||
* @param teacherId
|
* @param teacherId
|
||||||
@@ -45,6 +44,31 @@ public interface ICourseAuditService {
|
|||||||
*/
|
*/
|
||||||
void appointAudit(String auditId,String courseId,String teacherId,String teacherName,String auditInfo, String remark);
|
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
|
* @param courseId
|
||||||
@@ -63,21 +87,21 @@ public interface ICourseAuditService {
|
|||||||
|
|
||||||
//以下是新增加的公开课的审核
|
//以下是新增加的公开课的审核
|
||||||
/**
|
/**
|
||||||
* 查询需要审核的课程
|
* 最后的审核查询,公开课审核查询
|
||||||
* @param pageIndex
|
* @param pageIndex
|
||||||
* @param pageSize
|
* @param pageSize
|
||||||
* @param courseName
|
* @param courseName
|
||||||
* @param auditState
|
* @param lastState
|
||||||
* @param aid
|
* @param aid
|
||||||
* @return
|
* @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
|
* @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;
|
package com.xboe.module.course.service.impl;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
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.QueryBuilder;
|
||||||
import com.xboe.core.orm.UpdateBuilder;
|
import com.xboe.core.orm.UpdateBuilder;
|
||||||
import com.xboe.module.course.dao.CourseAuditDao;
|
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.CourseDao;
|
||||||
import com.xboe.module.course.dao.CourseHRBPAuditDao;
|
import com.xboe.module.course.dao.CourseHRBPAuditDao;
|
||||||
import com.xboe.module.course.dao.CourseTeacherDao;
|
import com.xboe.module.course.dao.CourseTeacherDao;
|
||||||
import com.xboe.module.course.entity.Course;
|
import com.xboe.module.course.entity.Course;
|
||||||
import com.xboe.module.course.entity.CourseAudit;
|
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.CourseHRBPAudit;
|
||||||
import com.xboe.module.course.entity.CourseTeacher;
|
import com.xboe.module.course.entity.CourseTeacher;
|
||||||
import com.xboe.module.course.service.ICourseAuditService;
|
import com.xboe.module.course.service.ICourseAuditService;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程审核的处理,因为这个是后续增加的,所以之前审核的一些操作还是在课程处理中
|
||||||
|
* @author seastar
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class CourseAuditServiceImpl implements ICourseAuditService{
|
public class CourseAuditServiceImpl implements ICourseAuditService{
|
||||||
@@ -36,9 +41,6 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
|||||||
@Resource
|
@Resource
|
||||||
CourseAuditDao auditDao;
|
CourseAuditDao auditDao;
|
||||||
|
|
||||||
@Resource
|
|
||||||
CourseAuditRecordDao auditRecordDao;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
CourseHRBPAuditDao courseHRBPAuditDao;
|
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) {
|
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();
|
// CourseAudit ca=new CourseAudit();
|
||||||
// ca.setAuditRemark(remark);
|
// ca.setAuditRemark(remark);
|
||||||
@@ -80,7 +76,6 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
|||||||
UpdateBuilder.create("toInfo", auditInfo),
|
UpdateBuilder.create("toInfo", auditInfo),
|
||||||
UpdateBuilder.create("toName", teacherName),
|
UpdateBuilder.create("toName", teacherName),
|
||||||
UpdateBuilder.create("toRemark", remark)
|
UpdateBuilder.create("toRemark", remark)
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -141,26 +136,53 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageList<CourseAuditRecord> pageRecord(int pageIndex, int pageSize, String courseName, Integer auditState,String aid) {
|
@Transactional
|
||||||
QueryBuilder builder=QueryBuilder.from(CourseAuditRecord.class);
|
public void teacherSubmitAudit(String auditId,boolean pass,String remark) {
|
||||||
builder.setPageIndex(pageIndex);
|
|
||||||
builder.setPageSize(pageSize);
|
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)
|
||||||
|
);
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void submitAudit(CourseAuditRecord record) {
|
public void hrbpSubmitAudit(String auditId, String courseId,boolean openCourse, boolean pass, String aid, String name, String remark) {
|
||||||
|
|
||||||
auditRecordDao.save(record);
|
LocalDateTime now=LocalDateTime.now();
|
||||||
//同步发布课程
|
int status=Course.STATUS_AUDIT_FINISH;
|
||||||
//同步发布
|
if(!pass) {
|
||||||
Course c= courseDao.get(record.getCourseId());
|
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);
|
publishUtil.fullTextPublish(c);
|
||||||
//发布事件处理
|
//同时添加发布事件,这里的创建人需要修改为教师
|
||||||
if(eventSender!=null) {
|
if(eventSender!=null) {
|
||||||
List<CourseTeacher> teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", record.getCourseId()));
|
List<CourseTeacher> teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", courseId));
|
||||||
if(teachers.size()>0) {
|
if(teachers.size()>0) {
|
||||||
String authorIds="";
|
String authorIds="";
|
||||||
for(CourseTeacher cteacher:teachers) {
|
for(CourseTeacher cteacher:teachers) {
|
||||||
@@ -170,12 +192,123 @@ public class CourseAuditServiceImpl implements ICourseAuditService{
|
|||||||
authorIds+="|"+cteacher.getTeacherId();
|
authorIds+="|"+cteacher.getTeacherId();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eventSender.send("发布课程","PublishCourse", "发布课程【"+record.getCourseName()+"】",record.getCourseId(), "1", record.getCourseName(), record.getAid(),record.getAname(),"authors:"+authorIds);
|
eventSender.send("发布课程","PublishCourse", "发布课程【"+c.getName()+"】", c.getId(), "1", c.getName(), aid,name,"authors:"+authorIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
log.error("未配置事件消息发送的实现");
|
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<CourseHRBPAudit> pageLastAudit(int pageIndex, int pageSize,String courseName,Integer lastState, String aid) {
|
||||||
|
|
||||||
|
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 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;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(CourseFullDto full) {
|
public void save(CourseFullDto full) {
|
||||||
Course c=full.getCourse();
|
Course c=full.getCourse();
|
||||||
|
|||||||
Reference in New Issue
Block a user