|
@@ -52,6 +52,8 @@ import cn.com.qmth.stmms.biz.exam.service.query.ExamQuestionSearchQuery;
|
|
import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
import cn.com.qmth.stmms.biz.file.service.FileService;
|
|
import cn.com.qmth.stmms.biz.lock.LockService;
|
|
import cn.com.qmth.stmms.biz.lock.LockService;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkService;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkService;
|
|
|
|
+import cn.com.qmth.stmms.biz.school.model.School;
|
|
|
|
+import cn.com.qmth.stmms.biz.school.service.SchoolService;
|
|
import cn.com.qmth.stmms.biz.user.model.User;
|
|
import cn.com.qmth.stmms.biz.user.model.User;
|
|
import cn.com.qmth.stmms.biz.user.service.UserService;
|
|
import cn.com.qmth.stmms.biz.user.service.UserService;
|
|
import cn.com.qmth.stmms.biz.utils.ScoreItem;
|
|
import cn.com.qmth.stmms.biz.utils.ScoreItem;
|
|
@@ -63,7 +65,9 @@ import cn.com.qmth.stmms.common.enums.LockType;
|
|
import cn.com.qmth.stmms.common.enums.ObjectiveStatus;
|
|
import cn.com.qmth.stmms.common.enums.ObjectiveStatus;
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
|
|
import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
|
|
|
|
+import cn.com.qmth.stmms.common.enums.UserSource;
|
|
import cn.com.qmth.stmms.common.utils.DateUtils;
|
|
import cn.com.qmth.stmms.common.utils.DateUtils;
|
|
|
|
+import cn.com.qmth.stmms.common.utils.EncryptUtils;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
|
|
|
@Controller("coreApiController")
|
|
@Controller("coreApiController")
|
|
@@ -118,12 +122,17 @@ public class CoreController extends BaseApiController {
|
|
@Autowired
|
|
@Autowired
|
|
private InspectHistoryService inspectHistoryService;
|
|
private InspectHistoryService inspectHistoryService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private SchoolService schoolService;
|
|
|
|
+
|
|
|
|
+ public static final String USER_PASSWORD = "123456";
|
|
|
|
+
|
|
@RequestMapping(value = "/exam/save", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/exam/save", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
public JSONObject examSave(HttpServletRequest request, @RequestParam(required = false) Integer id,
|
|
public JSONObject examSave(HttpServletRequest request, @RequestParam(required = false) Integer id,
|
|
@RequestParam(required = false) String code, @RequestParam String name, @RequestParam String examTime,
|
|
@RequestParam(required = false) String code, @RequestParam String name, @RequestParam String examTime,
|
|
- @RequestParam String type) {
|
|
|
|
|
|
+ @RequestParam String type, @RequestParam(required = false) String schoolCode) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
@@ -131,6 +140,7 @@ public class CoreController extends BaseApiController {
|
|
name = validate("name", name, true, 32);
|
|
name = validate("name", name, true, 32);
|
|
Date time = DateUtils.parseDate(examTime);
|
|
Date time = DateUtils.parseDate(examTime);
|
|
Exam current = null;
|
|
Exam current = null;
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
if (id != null) {
|
|
if (id != null) {
|
|
// 根据id查找考试并校验
|
|
// 根据id查找考试并校验
|
|
current = examService.findById(id);
|
|
current = examService.findById(id);
|
|
@@ -139,7 +149,7 @@ public class CoreController extends BaseApiController {
|
|
}
|
|
}
|
|
} else if (code != null) {
|
|
} else if (code != null) {
|
|
// 根据code查找考试并校验
|
|
// 根据code查找考试并校验
|
|
- current = examService.findBySchoolAndCode(user.getSchoolId(), code);
|
|
|
|
|
|
+ current = examService.findBySchoolAndCode(school.getId(), code);
|
|
} else {
|
|
} else {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("id/code both unexists");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("id/code both unexists");
|
|
}
|
|
}
|
|
@@ -181,7 +191,7 @@ public class CoreController extends BaseApiController {
|
|
@RequestParam(required = false) String examSite, @RequestParam(required = false) String examRoom) {
|
|
@RequestParam(required = false) String examSite, @RequestParam(required = false) String examRoom) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
examNumber = validate("examNumber", examNumber, true, 64);
|
|
examNumber = validate("examNumber", examNumber, true, 64);
|
|
@@ -270,7 +280,8 @@ public class CoreController extends BaseApiController {
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
public JSONArray studentQuery(HttpServletRequest request, @RequestParam String studentCode,
|
|
public JSONArray studentQuery(HttpServletRequest request, @RequestParam String studentCode,
|
|
- @RequestParam(required = false) String subjectCode, @RequestParam(required = false) Date minExamTime) {
|
|
|
|
|
|
+ @RequestParam(required = false) String subjectCode, @RequestParam(required = false) Date minExamTime,
|
|
|
|
+ @RequestParam(required = false) String schoolCode) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
JSONArray array = new JSONArray();
|
|
JSONArray array = new JSONArray();
|
|
studentCode = StringUtils.trimToNull(studentCode);
|
|
studentCode = StringUtils.trimToNull(studentCode);
|
|
@@ -279,7 +290,8 @@ public class CoreController extends BaseApiController {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("studentCode invalid");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("studentCode invalid");
|
|
}
|
|
}
|
|
ExamStudentSearchQuery query = new ExamStudentSearchQuery();
|
|
ExamStudentSearchQuery query = new ExamStudentSearchQuery();
|
|
- query.setSchoolId(user.getSchoolId());
|
|
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
|
|
+ query.setSchoolId(school.getId());
|
|
query.setStudentCode(studentCode);
|
|
query.setStudentCode(studentCode);
|
|
query.setSubjectCode(subjectCode);
|
|
query.setSubjectCode(subjectCode);
|
|
query.orderByExamIdDesc();
|
|
query.orderByExamIdDesc();
|
|
@@ -311,6 +323,7 @@ public class CoreController extends BaseApiController {
|
|
@RequestParam(required = false) String studentCode, @RequestParam(required = false) String subjectCode,
|
|
@RequestParam(required = false) String studentCode, @RequestParam(required = false) String subjectCode,
|
|
@RequestParam(required = false) String college, @RequestParam(required = false) String className,
|
|
@RequestParam(required = false) String college, @RequestParam(required = false) String className,
|
|
@RequestParam(required = false) String teacher, @RequestParam(required = false) Boolean withMarkTrack,
|
|
@RequestParam(required = false) String teacher, @RequestParam(required = false) Boolean withMarkTrack,
|
|
|
|
+ @RequestParam(required = false) String schoolCode,
|
|
@RequestParam(required = false, defaultValue = "1") Integer pageNumber,
|
|
@RequestParam(required = false, defaultValue = "1") Integer pageNumber,
|
|
@RequestParam(required = false, defaultValue = "20") Integer pageSize) {
|
|
@RequestParam(required = false, defaultValue = "20") Integer pageSize) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
@@ -321,8 +334,9 @@ public class CoreController extends BaseApiController {
|
|
if (examId != null) {
|
|
if (examId != null) {
|
|
exam = examService.findById(examId);
|
|
exam = examService.findById(examId);
|
|
}
|
|
}
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
if (examCode != null) {
|
|
if (examCode != null) {
|
|
- exam = examService.findBySchoolAndCode(user.getSchoolId(), examCode);
|
|
|
|
|
|
+ exam = examService.findBySchoolAndCode(school.getId(), examCode);
|
|
}
|
|
}
|
|
if (exam == null) {
|
|
if (exam == null) {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
|
|
@@ -451,7 +465,7 @@ public class CoreController extends BaseApiController {
|
|
@RequestParam(required = false) String examCode, @RequestParam(required = false) String examNumber,
|
|
@RequestParam(required = false) String examCode, @RequestParam(required = false) String examNumber,
|
|
@RequestParam(required = false) String studentCode, @RequestParam(required = false) String subjectCode,
|
|
@RequestParam(required = false) String studentCode, @RequestParam(required = false) String subjectCode,
|
|
@RequestParam(required = false) String college, @RequestParam(required = false) String className,
|
|
@RequestParam(required = false) String college, @RequestParam(required = false) String className,
|
|
- @RequestParam(required = false) String teacher) {
|
|
|
|
|
|
+ @RequestParam(required = false) String teacher, @RequestParam(required = false) String schoolCode) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
if (examId == null && examCode == null) {
|
|
if (examId == null && examCode == null) {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId or examCode is required");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId or examCode is required");
|
|
@@ -460,13 +474,14 @@ public class CoreController extends BaseApiController {
|
|
if (examId != null) {
|
|
if (examId != null) {
|
|
exam = examService.findById(examId);
|
|
exam = examService.findById(examId);
|
|
}
|
|
}
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
if (examCode != null) {
|
|
if (examCode != null) {
|
|
- exam = examService.findBySchoolAndCode(user.getSchoolId(), examCode);
|
|
|
|
|
|
+ exam = examService.findBySchoolAndCode(school.getId(), examCode);
|
|
}
|
|
}
|
|
if (exam == null) {
|
|
if (exam == null) {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
|
|
}
|
|
}
|
|
- if (!exam.getSchoolId().equals(user.getSchoolId())) {
|
|
|
|
|
|
+ if (!validate(user.getSchoolId(), exam.getSchoolId())) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
ExamStudentSearchQuery query = new ExamStudentSearchQuery();
|
|
ExamStudentSearchQuery query = new ExamStudentSearchQuery();
|
|
@@ -497,7 +512,7 @@ public class CoreController extends BaseApiController {
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
if (exam == null) {
|
|
if (exam == null) {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId invalid");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId invalid");
|
|
- } else if (!exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ } else if (!validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
ExamSubject subject = subjectService.find(examId, code);
|
|
ExamSubject subject = subjectService.find(examId, code);
|
|
@@ -524,14 +539,16 @@ public class CoreController extends BaseApiController {
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
|
|
public JSONObject userSave(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,
|
|
|
|
+ @RequestParam(required = false) String schoolCode) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
account = validate("account", account, true, 32);
|
|
account = validate("account", account, true, 32);
|
|
name = validate("name", name, true, 32);
|
|
name = validate("name", name, true, 32);
|
|
password = validate("password", password, false, 32);
|
|
password = validate("password", password, false, 32);
|
|
- User u = userService.externalSaveAndUpdate(user.getSchoolId(), account, name, password, role);
|
|
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
|
|
+ User u = userService.externalSaveAndUpdate(school.getId(), account, name, password, role);
|
|
if (u.isEnable() != enable) {
|
|
if (u.isEnable() != enable) {
|
|
u.setEnable(enable);
|
|
u.setEnable(enable);
|
|
userService.save(u);
|
|
userService.save(u);
|
|
@@ -550,7 +567,7 @@ public class CoreController extends BaseApiController {
|
|
Exam exam = examService.findById(paper.getExamId());
|
|
Exam exam = examService.findById(paper.getExamId());
|
|
if (exam == null) {
|
|
if (exam == null) {
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId invalid");
|
|
throw ApiException.QUERY_PARAM_ERROR.replaceMessage("examId invalid");
|
|
- } else if (!exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ } else if (!validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
ExamSubject subject = subjectService.find(paper.getExamId(), paper.getSubjectCode());
|
|
ExamSubject subject = subjectService.find(paper.getExamId(), paper.getSubjectCode());
|
|
@@ -627,7 +644,7 @@ public class CoreController extends BaseApiController {
|
|
JSONArray result = new JSONArray();
|
|
JSONArray result = new JSONArray();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
@@ -681,7 +698,7 @@ public class CoreController extends BaseApiController {
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
@@ -714,7 +731,7 @@ public class CoreController extends BaseApiController {
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
@@ -734,7 +751,7 @@ public class CoreController extends BaseApiController {
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
Exam exam = examService.findById(dto.getExamId());
|
|
Exam exam = examService.findById(dto.getExamId());
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
String subjectCode = validate("subjectCode", dto.getSubjectCode(), true, 64);
|
|
String subjectCode = validate("subjectCode", dto.getSubjectCode(), true, 64);
|
|
@@ -786,7 +803,7 @@ public class CoreController extends BaseApiController {
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
account = validate("account", account, true, 32);
|
|
account = validate("account", account, true, 32);
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
@@ -821,13 +838,14 @@ public class CoreController extends BaseApiController {
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV, Role.COLLEGE_ADMIN })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV, Role.COLLEGE_ADMIN })
|
|
public JSONObject subjectHeaderSave(HttpServletRequest request, @RequestParam String subjectCode,
|
|
public JSONObject subjectHeaderSave(HttpServletRequest request, @RequestParam String subjectCode,
|
|
- @RequestParam String account) {
|
|
|
|
|
|
+ @RequestParam String account, @RequestParam(required = false) String schoolCode) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
account = validate("account", account, true, 32);
|
|
account = validate("account", account, true, 32);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
- User u = userService.findByAccount(user.getSchoolId(), account);
|
|
|
|
|
|
+ School school = validate(user.getSchoolId(), schoolCode);
|
|
|
|
+ User u = userService.findByAccount(school.getId(), account);
|
|
if (u == null || !Role.SUBJECT_HEADER.equals(u.getRole())) {
|
|
if (u == null || !Role.SUBJECT_HEADER.equals(u.getRole())) {
|
|
throw ApiException.QUERY_PARAM_ERROR.appendMessage(": account error");
|
|
throw ApiException.QUERY_PARAM_ERROR.appendMessage(": account error");
|
|
}
|
|
}
|
|
@@ -851,7 +869,7 @@ public class CoreController extends BaseApiController {
|
|
JSONArray result = new JSONArray();
|
|
JSONArray result = new JSONArray();
|
|
// 输入字段预处理并初步校验
|
|
// 输入字段预处理并初步校验
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
subjectCode = validate("subjectCode", subjectCode, true, 64);
|
|
@@ -887,7 +905,7 @@ public class CoreController extends BaseApiController {
|
|
@RequestParam String examNumber, @RequestParam Double objectiveScore) {
|
|
@RequestParam String examNumber, @RequestParam Double objectiveScore) {
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
ApiUser user = RequestUtils.getApiUser(request);
|
|
Exam exam = examService.findById(examId);
|
|
Exam exam = examService.findById(examId);
|
|
- if (exam == null || !exam.getSchoolId().equals(user.getSchoolId()) || exam.getStatus() != ExamStatus.START
|
|
|
|
|
|
+ if (exam == null || !validate(user.getSchoolId(), exam.getSchoolId()) || exam.getStatus() != ExamStatus.START
|
|
|| exam.getType() != ExamType.MULTI_MEDIA) {
|
|
|| exam.getType() != ExamType.MULTI_MEDIA) {
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
throw ApiException.EXAM_NOT_ACCESSIBLED;
|
|
}
|
|
}
|
|
@@ -904,4 +922,43 @@ public class CoreController extends BaseApiController {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @RequestMapping(value = "/school/sub/save", method = RequestMethod.POST)
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RoleRequire({ Role.SCHOOL_DEV })
|
|
|
|
+ public JSONObject schoolSave(HttpServletRequest request, @RequestParam String code, @RequestParam String name) {
|
|
|
|
+ ApiUser user = RequestUtils.getApiUser(request);
|
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
|
+ // 输入字段预处理并初步校验
|
|
|
|
+ code = validate("code", code, false, 32);
|
|
|
|
+ name = validate("name", name, true, 32);
|
|
|
|
+ School school = schoolService.findByParentIdAndSubCode(user.getSchoolId(), code);
|
|
|
|
+ if (school == null) {
|
|
|
|
+ School parent = schoolService.findById(user.getSchoolId());
|
|
|
|
+ school = new School();
|
|
|
|
+ school.setParentId(parent.getId());
|
|
|
|
+ school.setSubCode(parent.getCode() + "-" + code);
|
|
|
|
+ school.setEnable(true);
|
|
|
|
+ school.setProvince(parent.getProvince());
|
|
|
|
+ school.setCity(parent.getCity());
|
|
|
|
+ school.setAddress(parent.getAddress());
|
|
|
|
+ school.setDescription(parent.getDescription());
|
|
|
|
+ school.resetAccessKeyAndSecret();
|
|
|
|
+ }
|
|
|
|
+ school.setName(name);
|
|
|
|
+ school = schoolService.save(school);
|
|
|
|
+ User admin = userService.findSchoolAdmin(school.getId());
|
|
|
|
+ if (admin == null) {
|
|
|
|
+ admin = new User();
|
|
|
|
+ admin.setSchoolId(school.getId());
|
|
|
|
+ admin.setEnable(true);
|
|
|
|
+ admin.setRole(Role.SCHOOL_ADMIN);
|
|
|
|
+ admin.setSource(UserSource.INTERNAL);
|
|
|
|
+ admin.setLoginName("admin-" + school.getCode());
|
|
|
|
+ admin.setPassword(EncryptUtils.md5(USER_PASSWORD));
|
|
|
|
+ userService.save(admin);
|
|
|
|
+ }
|
|
|
|
+ result.accumulate("id", school.getId());
|
|
|
|
+ result.accumulate("updateTime", DateUtils.formatDateTime(new Date()));
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
}
|
|
}
|