|
@@ -482,7 +482,7 @@ public class CoreController extends BaseApiController {
|
|
@RequestMapping(value = "/user/external/save", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/user/external/save", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
- public JSONObject subjectSave(HttpServletRequest request, @RequestParam String account,
|
|
|
|
|
|
+ public JSONObject userSave(HttpServletRequest request, @RequestParam String account,
|
|
@RequestParam(required = false) String name, @RequestParam(required = false) String password,
|
|
@RequestParam(required = false) String name, @RequestParam(required = false) String password,
|
|
@RequestParam(required = false) Role role, @RequestParam boolean enable) {
|
|
@RequestParam(required = false) Role role, @RequestParam boolean enable) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
@@ -523,25 +523,25 @@ public class CoreController extends BaseApiController {
|
|
}
|
|
}
|
|
// 客观题更新
|
|
// 客观题更新
|
|
if (paper.getObjective()) {
|
|
if (paper.getObjective()) {
|
|
|
|
+ List<ExamQuestion> oList = parseQustionList(paper.getQuestions(), paper.getExamId(),
|
|
|
|
+ paper.getSubjectCode(), paper.getPaperType(), paper.getObjective());
|
|
if (0 != questionService.countByExamIdAndSubjectAndObjectiveAndGroupNumberIsNull(paper.getExamId(),
|
|
if (0 != questionService.countByExamIdAndSubjectAndObjectiveAndGroupNumberIsNull(paper.getExamId(),
|
|
subject.getCode(), true)) {
|
|
subject.getCode(), true)) {
|
|
questionService.deleteByExamAndSubjectAndObjective(paper.getExamId(), subject.getCode(), true);
|
|
questionService.deleteByExamAndSubjectAndObjective(paper.getExamId(), subject.getCode(), true);
|
|
}
|
|
}
|
|
- List<ExamQuestion> oList = parseQustionList(paper.getQuestions(), paper.getExamId(),
|
|
|
|
- paper.getSubjectCode(), paper.getPaperType(), paper.getObjective());
|
|
|
|
questionService.save(oList);
|
|
questionService.save(oList);
|
|
examService.updateObjectiveStatus(paper.getExamId(), ObjectiveStatus.WAITING);
|
|
examService.updateObjectiveStatus(paper.getExamId(), ObjectiveStatus.WAITING);
|
|
subjectService.updateScore(paper.getExamId(), subject.getCode(), true,
|
|
subjectService.updateScore(paper.getExamId(), subject.getCode(), true,
|
|
questionService.sumTotalScore(paper.getExamId(), subject.getCode(), true));
|
|
questionService.sumTotalScore(paper.getExamId(), subject.getCode(), true));
|
|
} else {
|
|
} else {
|
|
List<MarkGroup> groups = groupService.findByExamAndSubject(paper.getExamId(), subject.getCode());
|
|
List<MarkGroup> groups = groupService.findByExamAndSubject(paper.getExamId(), subject.getCode());
|
|
|
|
+ List<ExamQuestion> sList = parseQustionList(paper.getQuestions(), paper.getExamId(),
|
|
|
|
+ paper.getSubjectCode(), paper.getPaperType(), paper.getObjective());
|
|
if (groups == null || groups.size() == 0) {
|
|
if (groups == null || groups.size() == 0) {
|
|
if (0 != questionService.countByExamIdAndSubjectAndObjectiveAndGroupNumberIsNull(paper.getExamId(),
|
|
if (0 != questionService.countByExamIdAndSubjectAndObjectiveAndGroupNumberIsNull(paper.getExamId(),
|
|
subject.getCode(), false)) {
|
|
subject.getCode(), false)) {
|
|
questionService.deleteByExamAndSubjectAndObjective(paper.getExamId(), subject.getCode(), false);
|
|
questionService.deleteByExamAndSubjectAndObjective(paper.getExamId(), subject.getCode(), false);
|
|
}
|
|
}
|
|
- List<ExamQuestion> sList = parseQustionList(paper.getQuestions(), paper.getExamId(),
|
|
|
|
- paper.getSubjectCode(), paper.getPaperType(), paper.getObjective());
|
|
|
|
questionService.save(sList);
|
|
questionService.save(sList);
|
|
subjectService.updateScore(paper.getExamId(), subject.getCode(), false,
|
|
subjectService.updateScore(paper.getExamId(), subject.getCode(), false,
|
|
questionService.sumTotalScore(paper.getExamId(), subject.getCode(), false));
|
|
questionService.sumTotalScore(paper.getExamId(), subject.getCode(), false));
|
|
@@ -556,6 +556,10 @@ public class CoreController extends BaseApiController {
|
|
List<ExamQuestion> list = new ArrayList<ExamQuestion>();
|
|
List<ExamQuestion> list = new ArrayList<ExamQuestion>();
|
|
for (QuestionDTO dto : questions) {
|
|
for (QuestionDTO dto : questions) {
|
|
ExamQuestion q = dto.transform();
|
|
ExamQuestion q = dto.transform();
|
|
|
|
+ int score = (int) (q.getTotalScore() * 100);
|
|
|
|
+ if ((q.getTotalScore() * 100) - score > 0) {
|
|
|
|
+ throw ApiException.QUERY_PARAM_ERROR.replaceMessage(":qurstion totalScore invalid");
|
|
|
|
+ }
|
|
q.setExamId(examId);
|
|
q.setExamId(examId);
|
|
q.setSubjectCode(subjectCode);
|
|
q.setSubjectCode(subjectCode);
|
|
if (StringUtils.isNotBlank(paperType)) {
|
|
if (StringUtils.isNotBlank(paperType)) {
|