mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 20:36:50 +08:00
成长路径考试同步
This commit is contained in:
@@ -9,6 +9,7 @@ import com.xboe.module.course.vo.StudyCourseVo;
|
||||
import com.xboe.module.course.vo.TeacherInfoVo;
|
||||
import com.xboe.module.course.vo.TeacherVo;
|
||||
import com.xboe.module.dict.entity.DictDto;
|
||||
import com.xboe.module.exam.entity.AloneExam;
|
||||
import com.xboe.module.exam.entity.ExamTest;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.system.user.dao.UserDao;
|
||||
@@ -66,6 +67,9 @@ public class ThirdApi {
|
||||
|
||||
@Value("${manageApi.editExam}")
|
||||
private String editExam;
|
||||
|
||||
@Value("${manageApi.getExamSycn}")
|
||||
private String getExamSync;
|
||||
//获取例外人员的id
|
||||
public List<String> getUserId(){
|
||||
String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=316&type=1").execute() //prod 316
|
||||
@@ -218,6 +222,17 @@ public class ThirdApi {
|
||||
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, DynamicBean.class).success());
|
||||
}
|
||||
|
||||
public List<AloneExam> getExamList(String aid, String testId, String token) {
|
||||
AloneExam aloneExam = new AloneExam();
|
||||
aloneExam.setAid(aid);
|
||||
aloneExam.setTestId(testId);
|
||||
// String resp = Optional.ofNullable(
|
||||
// ).orElseThrow(() -> new RuntimeException("token校验失败"));
|
||||
String token1 = HttpRequest.post(getExamSync).body(JSONUtil.toJsonStr(aloneExam)).header("token", token).execute()
|
||||
.body();
|
||||
GetExamSyncResult getExamSyncResult = JSONUtil.toBean(token1, GetExamSyncResult.class);
|
||||
return getExamSyncResult.getResult();
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJjb21wYW55Q29kZSI6IkMwMDEiLCJ1SWQiOiI5NjUzNDIwMjc0OTc2MDcxNjgiLCJjb21wYW55SWQiOiIxMDQxNjczOTc3Mzc5OTQ2NDk2IiwibG9naW5JZCI6IjE2ODg0NDg5MjIwNzY0OTE3NzgiLCJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsImV4cCI6MTY5MTM5OTc2NzU1OCwidXNlck5hbWUiOiLmnY7njonlhrAiLCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEifQ==.8b52dcf4d48a790ed258b9ca2b279bb269f5301722095382fbd352705b51c893";
|
||||
String resp = Optional.ofNullable(HttpRequest.post("https://u-pre.boe.com/statApi/xboe/m/stat/userdynamic/list").body(JSONUtil.toJsonStr(UserdynamicParam.builder().
|
||||
@@ -234,5 +249,4 @@ public class ThirdApi {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.xboe.api.vo;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.xboe.module.course.vo.TeacherVo;
|
||||
import com.xboe.module.exam.dto.ExamTestDto;
|
||||
import com.xboe.module.exam.entity.AloneExam;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Slf4j
|
||||
public class GetExamSyncResult {
|
||||
private String error;
|
||||
private String message;
|
||||
private String permissions;
|
||||
private List<AloneExam> result;
|
||||
private int status;
|
||||
private Date timestamp;
|
||||
|
||||
public GetExamSyncResult success() {
|
||||
if (this.status != 200) {
|
||||
log.error("同步考试记录失败----{}", JSONUtil.toJsonPrettyStr(this));
|
||||
return null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -520,7 +520,7 @@ public class AloneExamApi extends ApiBaseController {
|
||||
*/
|
||||
@PostMapping("/submit")
|
||||
public JsonResponse<Map<String,Object>> saveAnswer(HttpServletRequest request,AloneExamAnswer answer,Integer scoreType) {
|
||||
|
||||
|
||||
if(StringUtils.isBlank(answer.getAnswerJson())) {
|
||||
return badRequest("提交失败,无答卷内容");
|
||||
}
|
||||
@@ -533,11 +533,16 @@ public class AloneExamApi extends ApiBaseController {
|
||||
if(answer.getScore()==null) {
|
||||
return badRequest("考试分数错误");
|
||||
}
|
||||
String token = request.getHeader("Xboe-Access-Token");
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
token = request.getHeader("token");
|
||||
}
|
||||
//前台注意计算总分,在后台这里就先不计算了
|
||||
try {
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
CurrentUser cuser = getCurrent();
|
||||
answer.setAid(cuser.getAccountId());
|
||||
answer.setAid(cuser.getAccountId());
|
||||
answer.setName(cuser.getName());
|
||||
if(StringUtils.isBlank(answer.getId())) {
|
||||
if(answer.getTotalScore()==null || answer.getTotalScore()==0) {
|
||||
@@ -552,7 +557,7 @@ public class AloneExamApi extends ApiBaseController {
|
||||
//Float realScore=this.calculateScore(answer);
|
||||
//转化成百分数
|
||||
//answer.setScore(this.calculateScore(detail));
|
||||
service.submit(answer,scoreType);
|
||||
service.submit(answer,scoreType,token);
|
||||
return success(map);
|
||||
} catch (Exception e) {
|
||||
log.error("提交答卷错误", e);
|
||||
|
||||
@@ -94,7 +94,7 @@ public interface IAloneExamService {
|
||||
* 提交考试
|
||||
* @param aea
|
||||
*/
|
||||
void submit(AloneExamAnswer aea,Integer scoreType);
|
||||
void submit(AloneExamAnswer aea,Integer scoreType,String token);
|
||||
|
||||
/**
|
||||
* 更新答案
|
||||
|
||||
@@ -8,6 +8,8 @@ import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.xboe.api.ThirdApi;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -37,7 +39,9 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
||||
|
||||
@Resource
|
||||
AloneExamDao aeDao;
|
||||
|
||||
|
||||
@Resource
|
||||
ThirdApi thirdApi;
|
||||
@Override
|
||||
@Transactional
|
||||
public void save(AloneExamAnswer aea){
|
||||
@@ -54,7 +58,8 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void submit(AloneExamAnswer aea,Integer scoreType){
|
||||
public void submit(AloneExamAnswer aea,Integer scoreType,String token){
|
||||
|
||||
//dao.update(aea);
|
||||
aea.setStatus(AloneExamAnswer.STATUS_FINISH);
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
@@ -74,8 +79,8 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
||||
UpdateBuilder.create("score", aea.getScore())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//更新状态,状态是未完成的,这里会有问题
|
||||
if(scoreType!=null && scoreType==2) {
|
||||
//最后一次的分数为准
|
||||
@@ -101,6 +106,8 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
||||
// //这种情况汶是不存在的
|
||||
// }
|
||||
}
|
||||
|
||||
thirdApi.getExamList(aea.getAid() ,aea.getTestId(), token);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -72,6 +72,7 @@ infrasApi.dict=${boe.domain}/infrasApi/dict/list
|
||||
#获取非报名课id
|
||||
manageApi.stu.offcourse=${boe.domain}/manageApi/stu/offcourse/getOffCourseId
|
||||
manageApi.editExam=${boe.domain}/manageApi/admin/project/editExam
|
||||
manageApi.getExamSycn=${boe.domain}/manageApi/stu/grow/getExamSync
|
||||
#获取离职教师id
|
||||
userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo
|
||||
coursesuilt.getStudyStatus=${boe.domain}/manageApi/stu/project/completeStatus
|
||||
Reference in New Issue
Block a user