Merge branch 'yx1101-teacher-l' into dev1107

This commit is contained in:
Wangxxz
2024-11-16 10:28:06 +08:00
7 changed files with 113 additions and 6 deletions

View File

@@ -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<String> getUserId(){
String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=136&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);
}
}

View File

@@ -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,6 +58,9 @@ public class CourseAuditApi extends ApiBaseController{
@Resource
private ICourseContentService ccontentService;
@Resource
private ThirdApi thirdApi;
/**
* 教师需要审核的课程
@@ -315,7 +321,7 @@ public class CourseAuditApi extends ApiBaseController{
* @return
*/
@PostMapping("/hrbp-submit-audit")
public JsonResponse<Boolean> hrbpAudit(String auditId,String courseId,String title,Boolean pass,String remark){
public JsonResponse<Boolean> 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<Boolean> submitAndPublish(@RequestBody CourseFullDto dto){
public JsonResponse<Boolean> 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);

View File

@@ -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;
}

View File

@@ -0,0 +1,9 @@
package com.xboe.module.course.dto;
import lombok.Data;
@Data
public class ScoreParam {
private Long courseId;
private Float score;
}

View File

@@ -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<Float> grade(String courseId,Float score,String studyId){
public JsonResponse<Float> 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);

View File

@@ -750,18 +750,26 @@ public class StudyCourseApi extends ApiBaseController{
* @param courseId 课程id 用于删除课程报名信息和修改课程学习人数
* */
@PostMapping("/delete-signup")
public JsonResponse<Boolean> deleteSignUp(String id,String courseId,String studentId){
public JsonResponse<Boolean> 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);
}
/**

View File

@@ -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