1
0
ting.yin 2 жил өмнө
parent
commit
5c30f84c7e

+ 1 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/BaseApiController.java

@@ -87,6 +87,7 @@ public class BaseApiController extends BaseController {
 
     protected School validate(Integer parentId, String subCode) {
         School school = schoolService.findById(parentId);
+        subCode = school.getCode() + "-" + subCode;
         if (StringUtils.isNotBlank(subCode)) {
             school = schoolService.findByParentIdAndSubCode(parentId, subCode);
             if (school == null || !school.isEnable()) {

+ 12 - 9
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/CoreController.java

@@ -160,14 +160,14 @@ public class CoreController extends BaseApiController {
             }
             current = new Exam();
             current.setCode(code);
-            current.setSchoolId(user.getSchoolId());
+            current.setSchoolId(school.getId());
             current.setType(ExamType.SCAN_IMAGE);
             current.setStatus(ExamStatus.START);
             current.setForbiddenInfo(false);
             current.setObjectiveStatus(ObjectiveStatus.WAITING);
             current.setCreateTime(new Date());
             current.setType(ExamType.valueOf(type));
-        } else if (!current.getSchoolId().equals(user.getSchoolId()) || current.getStatus() != ExamStatus.START) {
+        } else if (!current.getSchoolId().equals(school.getId()) || current.getStatus() != ExamStatus.START) {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }
         current.setName(name);
@@ -341,7 +341,7 @@ public class CoreController extends BaseApiController {
         if (exam == null) {
             throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
         }
-        if (!exam.getSchoolId().equals(user.getSchoolId())) {
+        if (!exam.getSchoolId().equals(school.getId())) {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }
         JSONArray array = new JSONArray();
@@ -481,7 +481,7 @@ public class CoreController extends BaseApiController {
         if (exam == null) {
             throw ApiException.QUERY_PARAM_ERROR.replaceMessage("exam unexists");
         }
-        if (!validate(user.getSchoolId(), exam.getSchoolId())) {
+        if (!validate(school.getId(), exam.getSchoolId())) {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }
         ExamStudentSearchQuery query = new ExamStudentSearchQuery();
@@ -815,7 +815,7 @@ public class CoreController extends BaseApiController {
         if (group == null) {
             throw ApiException.QUERY_PARAM_ERROR.appendMessage(": groupNumber error");
         }
-        User u = userService.findByAccount(user.getSchoolId(), account);
+        User u = userService.findByAccount(exam.getSchoolId(), account);
         if (u == null || !Role.MARKER.equals(u.getRole())) {
             throw ApiException.QUERY_PARAM_ERROR.appendMessage(": account error");
         }
@@ -931,12 +931,13 @@ public class CoreController extends BaseApiController {
         // 输入字段预处理并初步校验
         code = validate("code", code, false, 32);
         name = validate("name", name, true, 32);
-        School school = schoolService.findByParentIdAndSubCode(user.getSchoolId(), code);
+        School parent = schoolService.findById(user.getSchoolId());
+        String subCode = parent.getCode() + "-" + code;
+        School school = schoolService.findByParentIdAndSubCode(parent.getId(), subCode);
         if (school == null) {
-            School parent = schoolService.findById(user.getSchoolId());
             school = new School();
             school.setParentId(parent.getId());
-            school.setSubCode(parent.getCode() + "-" + code);
+            school.setSubCode(subCode);
             school.setEnable(true);
             school.setProvince(parent.getProvince());
             school.setCity(parent.getCity());
@@ -953,8 +954,10 @@ public class CoreController extends BaseApiController {
             admin.setEnable(true);
             admin.setRole(Role.SCHOOL_ADMIN);
             admin.setSource(UserSource.INTERNAL);
-            admin.setLoginName("admin-" + school.getCode());
+            admin.setLoginName("admin-" + school.getSubCode());
+            admin.setName(admin.getLoginName());
             admin.setPassword(EncryptUtils.md5(USER_PASSWORD));
+            admin.setCreatedTime(new Date());
             userService.save(admin);
         }
         result.accumulate("id", school.getId());

+ 4 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/open/controller/OpenUserController.java

@@ -76,7 +76,8 @@ public class OpenUserController {
             return errorRedirect(redirect, returnUrl, "鉴权失败");
         }
         if (StringUtils.isNotBlank(schoolCode)) {
-            school = schoolService.findByParentIdAndSubCode(school.getId(), schoolCode);
+            String subCode = school.getCode() + "-" + schoolCode;
+            school = schoolService.findByParentIdAndSubCode(school.getId(), subCode);
             if (school == null || !school.isEnable()) {
                 return errorRedirect(redirect, returnUrl, "鉴权失败");
             }
@@ -156,7 +157,8 @@ public class OpenUserController {
             return errorRedirect(redirect, returnUrl, "鉴权失败");
         }
         if (StringUtils.isNotBlank(schoolCode)) {
-            school = schoolService.findByParentIdAndSubCode(school.getId(), schoolCode);
+            String subCode = school.getCode() + "-" + schoolCode;
+            school = schoolService.findByParentIdAndSubCode(school.getId(), subCode);
             if (school == null || !school.isEnable()) {
                 return errorRedirect(redirect, returnUrl, "鉴权失败");
             }