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 7e899b07..b15812ff 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 @@ -4,6 +4,7 @@ import cn.hutool.core.collection.ListUtil; import cn.hutool.core.lang.Opt; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; +import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.xboe.api.vo.*; import com.xboe.module.course.vo.StudyCourseVo; import com.xboe.module.course.vo.TeacherInfoVo; @@ -65,6 +66,9 @@ public class ThirdApi { @Value("${userBasic.getUserIdByWorkNum}") private String getUserIdByWorkNum; + @Value("${coursesuilt.checkBanding}") + private String checkBanding; + //获取例外人员的id public List getUserId(){ String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=136&type=1").execute() //prod 316 @@ -247,4 +251,15 @@ public class ThirdApi { HashMap result = getUserIdByWorkNumResult.getResult(); return result; } + + + public String checkExamBanding(String testId, String token){ + String url = checkBanding+"?testId=" + testId; + String resp = Optional.ofNullable( + HttpRequest.get(url).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败")); + Gson gson = new Gson(); + CheckExamBandingBean checkExamBandingBean = gson.fromJson(resp, CheckExamBandingBean.class); + return checkExamBandingBean.getData(); + } + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/CheckExamBandingBean.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/CheckExamBandingBean.java new file mode 100644 index 00000000..f1e4cc41 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/CheckExamBandingBean.java @@ -0,0 +1,36 @@ +package com.xboe.api.vo; + +import cn.hutool.json.JSONUtil; +import com.xboe.school.study.entity.StudyCourse; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +@Data +@Slf4j +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CheckExamBandingBean { + + private boolean show; + private String version; + private int code; + private String msg; + private String data; + private boolean success; + + public CheckExamBandingBean success() { + if (this.code!=200) { + log.error("获取绑定关系失败----{}", JSONUtil.toJsonPrettyStr(this)); + return null; + } + return this; + } +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java index 00b8220b..41149671 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java @@ -33,8 +33,10 @@ public class ExamTestApi extends ApiBaseController { @Resource private IExamTestService examTestService; + @Resource - ThirdApi thirdApi; + private ThirdApi thirdApi; + /** *查询考试,分页,搜索,资源归属,状态 **/ @@ -133,11 +135,21 @@ public class ExamTestApi extends ApiBaseController { * */ @GetMapping("/delete") @AutoLog(module = "考试",action = "删除考试",info = "删除考试") - public JsonResponse delete(String id){ + public JsonResponse delete(String id, HttpServletRequest request){ if(StringUtil.isBlank(id)){ return badRequest("缺少必要参数"); } + + String token = request.getHeader("Xboe-Access-Token"); + if (StringUtil.isEmpty(token)) { + token = request.getHeader("token"); + } + try { + String bandInfo = thirdApi.checkExamBanding(id, token); + if (StringUtils.isNotBlank(bandInfo)){ + return error("删除失败",bandInfo); + } examTestService.delete(id); return success(true); } catch (Exception e) { diff --git a/servers/boe-server-all/src/main/resources/application.properties b/servers/boe-server-all/src/main/resources/application.properties index 9fe14258..1deb58ca 100644 --- a/servers/boe-server-all/src/main/resources/application.properties +++ b/servers/boe-server-all/src/main/resources/application.properties @@ -75,4 +75,5 @@ manageApi.editExam=${boe.domain}/manageApi/admin/project/editExam #获取离职教师id userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo userBasic.getUserIdByWorkNum=${boe.domain}/userbasic/user/getUserIdByWorkNum -coursesuilt.getStudyStatus=${boe.domain}/manageApi/stu/project/completeStatus \ No newline at end of file +coursesuilt.getStudyStatus=${boe.domain}/manageApi/stu/project/completeStatus +coursesuilt.checkBanding=${boe.domain}/manageApi/stu/task/exam/checkBanding \ No newline at end of file