mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 11:56:50 +08:00
Merge branch 'zcwy0618-llf' into 'master'
Zcwy0618 llf See merge request !111
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.ExamTest;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.system.user.dao.UserDao;
|
||||
import com.xboe.system.user.entity.User;
|
||||
@@ -62,6 +63,9 @@ public class ThirdApi {
|
||||
|
||||
@Value("${coursesuilt.getStudyStatus}")
|
||||
private String getStudyStatus;
|
||||
|
||||
@Value("${manageApi.editExam}")
|
||||
private String editExam;
|
||||
//获取例外人员的id
|
||||
public List<String> getUserId(){
|
||||
String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=316&type=1").execute() //prod 316
|
||||
@@ -206,6 +210,14 @@ public class ThirdApi {
|
||||
return studyCourseResult.getResult();
|
||||
}
|
||||
|
||||
public void sqlUpdate(ExamTest examTest, String token) {
|
||||
examTest.setSysUpdateTime(null);
|
||||
examTest.setSysCreateTime(null);
|
||||
examTest.setPublishTime(null);
|
||||
String resp = Optional.ofNullable(HttpRequest.post(editExam).body(JSONUtil.toJsonStr(examTest)).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
|
||||
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, DynamicBean.class).success());
|
||||
}
|
||||
|
||||
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().
|
||||
@@ -221,4 +233,6 @@ public class ThirdApi {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.xboe.module.exam.api;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.xboe.api.ThirdApi;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hibernate.exception.ConstraintViolationException;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -29,7 +33,8 @@ public class ExamTestApi extends ApiBaseController {
|
||||
|
||||
@Resource
|
||||
private IExamTestService examTestService;
|
||||
|
||||
@Resource
|
||||
ThirdApi thirdApi;
|
||||
/**
|
||||
*查询考试,分页,搜索,资源归属,状态
|
||||
**/
|
||||
@@ -77,16 +82,33 @@ public class ExamTestApi extends ApiBaseController {
|
||||
* */
|
||||
@PostMapping("update")
|
||||
@AutoLog(module = "考试",action = "修改考试",info = "修改考试")
|
||||
public JsonResponse<ExamTest> update(@RequestBody ExamTest examTest){
|
||||
public JsonResponse<ExamTest> update(@RequestBody ExamTest examTest, HttpServletRequest request){
|
||||
if(StringUtil.isBlank(examTest.getTestName())){
|
||||
return badRequest("标题为空");
|
||||
}
|
||||
|
||||
// 确保examTest有一个有效的主键ID(如果适用)
|
||||
// 这取决于您的业务逻辑是否允许更新主键
|
||||
// 通常,更新操作不会改变主键
|
||||
if (examTest.getId() == null) {
|
||||
return badRequest("更新操作需要有效的主键ID");
|
||||
}
|
||||
String token = request.getHeader("Xboe-Access-Token");
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
token = request.getHeader("token");
|
||||
}
|
||||
try {
|
||||
examTestService.update(examTest);
|
||||
thirdApi.sqlUpdate(examTest,token);
|
||||
return success(examTest);
|
||||
} catch (ConstraintViolationException e) {
|
||||
// 捕获约束违反异常,并返回一个更具体的错误消息
|
||||
log.error("修改失败,违反了约束条件", e);
|
||||
return error("修改失败,违反了约束条件(可能是主键已存在)");
|
||||
} catch (Exception e) {
|
||||
log.error("修改失败",e);
|
||||
return error("修改失败",e.getMessage());
|
||||
// 捕获其他所有异常
|
||||
log.error("修改失败", e);
|
||||
return error("修改失败", e.getMessage());
|
||||
}
|
||||
}
|
||||
/**、
|
||||
|
||||
@@ -101,7 +101,7 @@ public class ExamTest extends BaseEntity {
|
||||
/**
|
||||
* 试卷的ID
|
||||
*/
|
||||
@Column(name = "paper_id",nullable = false,length=20)
|
||||
@Column(name = "paper_id",length=20)
|
||||
private String paperId;
|
||||
|
||||
/**
|
||||
@@ -173,7 +173,7 @@ public class ExamTest extends BaseEntity {
|
||||
|
||||
|
||||
/**启用的,上架*/
|
||||
@Column(name = "enabled", nullable = false, length = 1)
|
||||
@Column(name = "enabled", length = 1)
|
||||
private Boolean enabled;
|
||||
|
||||
@Transient
|
||||
|
||||
@@ -70,7 +70,18 @@ public class ExamTestServiceImpl implements IExamTestService {
|
||||
|
||||
@Override
|
||||
public void update(ExamTest examTest) {
|
||||
examTestDao.update(examTest);
|
||||
if (examTest.getId() == null) {
|
||||
throw new IllegalArgumentException("ID must not be null");
|
||||
}
|
||||
String sql = "update boe_exam_test set arrange = "+ examTest.getArrange() +", deadline_time = '"+examTest.getDeadlineTime() +"' , " +
|
||||
"entrance_time = '"+examTest.getEntranceTime() +"' , paper_id = "+examTest.getPaperId() +",pass_line = "+examTest.getPassLine() +
|
||||
", percent_score = "+examTest.getPercentScore() +" ,publish_time = '"+examTest.getPublishTime()+"' , published = "+examTest.getPublished()+
|
||||
",random_count = "+examTest.getRandomCount()+" ,random_mode = "+examTest.getRandomMode()+",range_type = "+examTest.getRangeType() +
|
||||
",scoring_type = "+examTest.getScoringType() +",show_analysis="+examTest.getShowAnalysis() +",show_answer = "+examTest.getShowAnswer() +
|
||||
",test_duration = "+examTest.getTestDuration() +",test_name = '"+examTest.getTestName() +"',test_remark= '"+examTest.getTestRemark() +
|
||||
"',test_type= "+examTest.getTestType() +" ,test_up = '"+examTest.getTestUp() +"' ,test_front= '"+examTest.getTestFront() +
|
||||
"',times = '"+examTest.getTimes() +"' where id = "+examTest.getId()+"";
|
||||
examTestDao.sqlUpdate(sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -118,23 +118,25 @@ public class StudyExamServiceImpl implements IStudyExamService{
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "score",100.0f);
|
||||
//scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
//1最高一次,用于最高一次的计算
|
||||
if(cexam.getScoringType()==CourseExam.SCORINGTYPE_MAX) {
|
||||
Float f=(Float)dao.findField("max(score)", FieldFilters.eq("contentId", exam.getContentId()));
|
||||
scItemDao.updateFieldById(exam.getStudyItemId(), "score", f);
|
||||
scItemDao.updateFieldById(exam.getStudyItemId(), "status", f>=exam.getPassLine()?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING);
|
||||
scItemDao.updateFieldById(exam.getStudyItemId(), "progress",f>=exam.getPassLine()?100:f.intValue());
|
||||
|
||||
if(f>=exam.getPassLine()){
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "progress",100);
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
|
||||
scItemDao.updateFieldById(exam.getStudyId(), "score",100.0f);
|
||||
//scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
scDao.updateFieldById(exam.getStudyId(), "last_score",exam.getScore());
|
||||
//执行完毕 清除redis记录
|
||||
// redisTemplate.delete(key);
|
||||
return "";
|
||||
|
||||
@@ -71,6 +71,7 @@ audience.getOrgUsers=${boe.domain}/userbasic/user/getOrgUsers
|
||||
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
|
||||
#获取离职教师id
|
||||
userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo
|
||||
coursesuilt.getStudyStatus=${boe.domain}/manageApi/stu/project/completeStatus
|
||||
Reference in New Issue
Block a user