Browse Source

新增绑定科组长与科目的开放接口

ting.yin 3 years ago
parent
commit
c4be2e0934

+ 29 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/CoreController.java

@@ -36,6 +36,7 @@ import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.model.Marker;
+import cn.com.qmth.stmms.biz.exam.model.SubjectUser;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
@@ -43,6 +44,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
+import cn.com.qmth.stmms.biz.exam.service.SubjectUserService;
 import cn.com.qmth.stmms.biz.file.service.FileService;
 import cn.com.qmth.stmms.biz.lock.LockService;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
@@ -106,6 +108,9 @@ public class CoreController extends BaseApiController {
     @Autowired
     private AsyncTaskExecutor taskExecutor;
 
+    @Autowired
+    private SubjectUserService subjectUserService;
+
     @RequestMapping(value = "/exam/save", method = RequestMethod.POST)
     @ResponseBody
     @RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
@@ -795,4 +800,28 @@ public class CoreController extends BaseApiController {
         result.accumulate("updateTime", DateUtils.formatDateTime(new Date()));
         return result;
     }
+
+    @RequestMapping(value = "/exam/subject_header/save", method = RequestMethod.POST)
+    @ResponseBody
+    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
+    public JSONObject subjectHeaderSave(HttpServletRequest request, @RequestParam String subjectCode,
+            @RequestParam String account) {
+        ApiUser user = RequestUtils.getApiUser(request);
+        JSONObject result = new JSONObject();
+        // 输入字段预处理并初步校验
+        account = validate("account", account, true, 32);
+        subjectCode = validate("subjectCode", subjectCode, true, 64);
+        User u = userService.findByAccount(user.getSchoolId(), account);
+        if (u == null || !Role.SUBJECT_HEADER.equals(u.getRole())) {
+            throw ApiException.QUERY_PARAM_ERROR.appendMessage(": account error");
+        }
+        SubjectUser subjectUser = subjectUserService.findBySubjectCodeAndUserId(subjectCode, u.getId());
+        if (subjectUser == null) {
+            subjectUser = new SubjectUser();
+            subjectUser.setSubjectCode(subjectCode);
+            subjectUser.setUserId(u.getId());
+        }
+        result.accumulate("updateTime", DateUtils.formatDateTime(new Date()));
+        return result;
+    }
 }

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

@@ -77,7 +77,7 @@ public class ExamController extends BaseApiController {
             obj.accumulate("id", exam.getId());
             obj.accumulate("name", exam.getName());
             obj.accumulate("examTime", exam.getExamTime().getTime());
-            if (StringUtils.isBlank(exam.getScanConfig())) {
+            if (StringUtils.isNotBlank(exam.getScanConfig())) {
                 obj.accumulate("config", exam.getScanConfig());
             }
             array.add(obj);