diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java index 7a55cd36..e2f7527c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java @@ -5,6 +5,8 @@ import cn.hutool.core.lang.Opt; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; import com.xboe.api.vo.*; +import com.xboe.module.course.dto.CourseParam; +import com.xboe.module.course.dto.ScoreParam; import com.xboe.module.course.vo.StudyCourseVo; import com.xboe.module.course.vo.TeacherInfoVo; import com.xboe.module.course.vo.TeacherVo; @@ -72,6 +74,16 @@ public class ThirdApi { @Value("${userBasic.getUserBasicInfo}") private String getUserBasicInfo; + @Value("${coursesuilt.updateOrSaveCourse}") + private String updateOrSaveCourse; + @Value("${coursesuilt.syncCourseStudent}") + private String syncCourseStudent; + @Value("${coursesuilt.syncOnLineScore}") + private String syncOnLineScore; + @Value("${coursesuilt.updateOnLineStatua}") + private String updateOnLineStatua; + + //获取例外人员的id public List getUserId(){ String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=316&type=1").execute() //prod 316 @@ -302,4 +314,31 @@ public class ThirdApi { return basicInfos; } + + public void updateOrSaveCourse(CourseParam param, String token){ + log.info("---------------准备同步在线课到讲师管理完毕 ------- param " + param); + String resp = Optional.ofNullable( + HttpRequest.post(updateOrSaveCourse).body(JSONUtil.toJsonStr(param)).header("token", token).execute() + .body()).orElseThrow(() -> new RuntimeException("token校验失败")); + log.info("updateOrSaveCourse = " + resp); + } + public void syncCourseStudent(Long courseId, String token){ + String resp = Optional.ofNullable( + HttpRequest.post(syncCourseStudent).body(JSONUtil.toJsonStr(courseId)).header("token", token).execute() + .body()).orElseThrow(() -> new RuntimeException("token校验失败")); + log.info("syncCourseStudent = " + resp); + } + + public void syncOnLineScore(ScoreParam param, String token) { + String resp = Optional.ofNullable( + HttpRequest.post(syncOnLineScore).body(JSONUtil.toJsonStr(param)).header("token", token).execute() + .body()).orElseThrow(() -> new RuntimeException("token校验失败")); + log.info("syncOnLineScore = " + resp); + } + public void updateOnLineStatua(CourseParam param, String token){ + String resp = Optional.ofNullable( + HttpRequest.post(updateOnLineStatua).body(JSONUtil.toJsonStr(param)).header("token", token).execute() + .body()).orElseThrow(() -> new RuntimeException("token校验失败")); + log.info("updateOrSaveCourse = " + resp); + } } 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 ff9892ec..8d68b26a 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 @@ -5,7 +5,10 @@ import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import com.xboe.api.ThirdApi; +import com.xboe.module.course.dto.CourseParam; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -55,7 +58,10 @@ public class CourseAuditApi extends ApiBaseController{ @Resource private ICourseContentService ccontentService; - + @Resource + private ThirdApi thirdApi; + + /** * 教师需要审核的课程 * @param pager @@ -315,7 +321,7 @@ public class CourseAuditApi extends ApiBaseController{ * @return */ @PostMapping("/hrbp-submit-audit") - public JsonResponse hrbpAudit(String auditId,String courseId,String title,Boolean pass,String remark){ + public JsonResponse hrbpAudit(String auditId,String courseId,String title,Boolean pass,String remark, HttpServletRequest request){ if(StringUtils.isBlank(auditId)){ return badRequest("参数错误"); } @@ -347,6 +353,14 @@ public class CourseAuditApi extends ApiBaseController{ try { CurrentUser cu=getCurrent(); service.hrbpSubmitAudit(auditId, courseId,open, pass,cu.getAccountId(),cu.getName(), remark); + + if (pass){ + //修改在线课开课状态=已开课 + String token = request.getHeader("Xboe-Access-Token"); + CourseParam param = new CourseParam(); + param.setId(courseId); + thirdApi.updateOnLineStatua(param,token); + } return success(true); } catch (Exception e) { log.error("HRBP审核提交处理错误",e); @@ -378,7 +392,8 @@ public class CourseAuditApi extends ApiBaseController{ */ @PostMapping("/submit-publish") @AutoLog(module = "课程",action = "默认管理员提交发布",info = "") - public JsonResponse submitAndPublish(@RequestBody CourseFullDto dto){ + public JsonResponse submitAndPublish(@RequestBody CourseFullDto dto, HttpServletRequest request){ + log.info("---------------提交并直接发布,用于默认管理直接操作 -------"); if(dto.getCourse()==null){ return badRequest("无课程信息"); } @@ -402,12 +417,22 @@ public class CourseAuditApi extends ApiBaseController{ if(StringUtils.isBlank(dto.getCourse().getOrgId())) { return badRequest("请选择资源归属"); } + String token = request.getHeader("Xboe-Access-Token"); + CurrentUser cuser=getCurrent(); dto.getCourse().setStatus(Course.STATUS_AUDIT_FINISH);//设置为审核通过状态 dto.getCourse().setEnabled(true);//设置启用状态问题 dto.getCourse().setPublished(false);//重新提交审核设置为未发布状态 try { + courseService.submitAndPublish(dto,cuser.getAccountId(),cuser.getName()); + log.info("---------------在线课开始同步到讲师管理 ------- token = " + token); + CourseParam param = new CourseParam(); + param.setId(dto.getCourse().getId()); + param.setOrgId(dto.getCourse().getOrgId()); + param.setOrgName(dto.getCourse().getOrgName()); + thirdApi.updateOrSaveCourse(param,token); + log.info("---------------在线课同步到讲师管理完毕 -------"); return success(true); } catch (Exception e) { log.error("默认管理员提交直接发布处理失败",e); 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 c3a31e73..d1b74b90 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 @@ -7,6 +7,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.xboe.api.ThirdApi; +import com.xboe.module.course.dto.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,6 @@ import com.xboe.data.dto.UserOrgIds; import com.xboe.data.outside.IOutSideDataService; import com.xboe.data.service.IDataUserSyncService; import com.xboe.module.assistance.service.IEmailService; -import com.xboe.module.course.dto.CourseExportDto; -import com.xboe.module.course.dto.CourseFullDto; -import com.xboe.module.course.dto.CourseQueryDto; -import com.xboe.module.course.dto.CourseTeacherAndCourse; -import com.xboe.module.course.dto.CourseTeacherExportDto; import com.xboe.module.course.entity.Course; import com.xboe.module.course.entity.CourseContent; import com.xboe.module.course.entity.CourseCrowd; @@ -100,7 +97,8 @@ public class CourseManageApi extends ApiBaseController{ @Autowired IDataUserSyncService userSyncService; - + @Resource + private ThirdApi thirdApi; // @PostMapping("/test") // public JsonResponse> findTest(Pagination pager,CourseQueryDto dto){ @@ -271,7 +269,7 @@ public class CourseManageApi extends ApiBaseController{ */ @PostMapping("/save") @AutoLog(module = "课程",action = "保存课程基本信息",info = "") - public JsonResponse saveCourseFull(@RequestBody CourseFullDto dto){ + public JsonResponse saveCourseFull(@RequestBody CourseFullDto dto, HttpServletRequest request){ if(dto.getCourse()==null){ return badRequest("无课程信息"); } @@ -302,7 +300,14 @@ public class CourseManageApi extends ApiBaseController{ dto.getCourse().setStatus(Course.STATUS_NONE); courseService.update(dto); } - + String token = request.getHeader("Xboe-Access-Token"); + log.info("---------------在线课开始同步到讲师管理 ------- token = " + token); + CourseParam param = new CourseParam(); + param.setId(dto.getCourse().getId()); + param.setOrgId(dto.getCourse().getOrgId()); + param.setOrgName(dto.getCourse().getOrgName()); + thirdApi.updateOrSaveCourse(param,token); + log.info("---------------在线课同步到讲师管理完毕 -------"); return success(dto); } catch (Exception e) { log.error("整体保存课程信息错误",e); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseParam.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseParam.java new file mode 100644 index 00000000..beb701f5 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseParam.java @@ -0,0 +1,10 @@ +package com.xboe.module.course.dto; + +import lombok.Data; + +@Data +public class CourseParam { + private String id; + private String orgId; + private String orgName; +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/ScoreParam.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/ScoreParam.java new file mode 100644 index 00000000..8efda2cc --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/ScoreParam.java @@ -0,0 +1,9 @@ +package com.xboe.module.course.dto; + +import lombok.Data; + +@Data +public class ScoreParam { + private Long courseId; + private Float score; +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/interaction/api/CourseGradeApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/interaction/api/CourseGradeApi.java index 2b8dd7d0..69dbb9be 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/interaction/api/CourseGradeApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/interaction/api/CourseGradeApi.java @@ -1,7 +1,10 @@ package com.xboe.module.interaction.api; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import com.xboe.api.ThirdApi; +import com.xboe.module.course.dto.ScoreParam; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -25,18 +28,26 @@ public class CourseGradeApi extends ApiBaseController { @Resource private ICourseGradeService service; + @Resource + private ThirdApi thirdApi; + /** * 评分 * */ @PostMapping("/grade") @AutoLog(module = "评分",action = "评分") - public JsonResponse grade(String courseId,Float score,String studyId){ + public JsonResponse grade(String courseId,Float score,String studyId, HttpServletRequest request){ CourseGrade courseGrade = new CourseGrade(); courseGrade.setCourseId(courseId); courseGrade.setScores(score); courseGrade.setStudyId(studyId); try { Float aFloat = service.save(courseGrade); + String token = request.getHeader("Xboe-Access-Token"); + ScoreParam param = new ScoreParam(); + param.setCourseId(Long.parseLong(courseId)); + param.setScore(score); + thirdApi.syncOnLineScore(param,token); return success(aFloat); }catch(Exception e) { log.error("评分保存错误",e); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java index 58da2ee7..98c94734 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java @@ -206,4 +206,8 @@ public class Teacher extends BaseEntity { @Column(name = "expertise") private String expertise; + @Column(name = "user_no",length = 1) + private Integer userNo; + + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index bed566ec..43331cf8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -102,9 +102,12 @@ public class TeacherServiceImpl implements ITeacherService { public List findByName(String name) { String hql="Select t.id,t.name,u.userNo from "+Teacher.class.getSimpleName()+" t,"+User.class.getSimpleName()+" u "; hql+=" where t.id=u.id and (t.name like '%"+name+"%' or u.userNo=?1)"; +// String hql="Select t.id,t.name,t.userNo from "+Teacher.class.getSimpleName()+" t"; +// hql+=" where t.deleted =0 and t.status =1 and (t.name like '%"+name+"%' or t.userNo like '%"+name+"%' )"; + List teachers=new ArrayList(); try { - List list =dao.findListFields(hql,name); + List list =dao.findListFields(hql); for(Object[] objs :list) { Teacher t=new Teacher(); t.setId((String)objs[0]); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index 34a57f49..8663e426 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -750,18 +750,26 @@ public class StudyCourseApi extends ApiBaseController{ * @param courseId 课程id 用于删除课程报名信息和修改课程学习人数 * */ @PostMapping("/delete-signup") - public JsonResponse deleteSignUp(String id,String courseId,String studentId){ + public JsonResponse deleteSignUp(String id,String courseId,String studentId, HttpServletRequest request){ if(StringUtils.isBlank(id)){ return badRequest("参数异常"); } //String aid = this.getCurrent().getAccountId(); try { service.deleteSignUp(id,courseId,studentId); - return success(true); } catch (Exception e) { log.error("删除报名信息失败",e.getMessage()); return error("删除失败",e.getMessage()); } + + try { + String token = request.getHeader("Xboe-Access-Token"); + thirdApi.syncCourseStudent(Long.parseLong(courseId),token); + } catch (Exception e) { + e.printStackTrace(); + } + return success(true); + } /** diff --git a/servers/boe-server-all/src/main/resources/application.properties b/servers/boe-server-all/src/main/resources/application.properties index 28a89c6e..4f0fac87 100644 --- a/servers/boe-server-all/src/main/resources/application.properties +++ b/servers/boe-server-all/src/main/resources/application.properties @@ -76,3 +76,8 @@ manageApi.editExam=${boe.domain}/manageApi/admin/project/editExam userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo coursesuilt.getStudyStatus=${boe.domain}/manageApi/stu/project/completeStatus userBasic.getUserBasicInfo=${boe.domain}/userbasic/user/getUserBasicInfo +#讲师管理创建或修改在线课授课记录 +coursesuilt.updateOrSaveCourse=${boe.domain}/manageApi/admin/teacherRecord/updateOrSaveCourse +coursesuilt.syncCourseStudent=${boe.domain}/manageApi/admin/teacherRecord/syncCourseStudent +coursesuilt.syncOnLineScore=${boe.domain}/manageApi/admin/teacherRecord/syncOnLineScore +coursesuilt.updateOnLineStatua=${boe.domain}/manageApi/admin/teacherRecord/updateOnLineStatua