Преглед на файлове

增加离线工具切换学校接口API支持

ting.yin преди 6 години
родител
ревизия
17c134e9f5

+ 4 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamInfoController.java

@@ -56,9 +56,10 @@ public class ExamInfoController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         List<Exam> list = new LinkedList<Exam>();
-        if (user.getSchoolId() != null) {
-            // query.setCreatorId(user.getId());
+        if (query.getSchoolId() == null && user.getSchoolId() != null) {
             query.setSchoolId(user.getSchoolId());
+        }
+            // query.setCreatorId(user.getId());
             // query.addStatus(ExamStatus.START);
             // query.setPageNumber(1);
             // query.setPageSize(20);
@@ -70,7 +71,6 @@ public class ExamInfoController extends BaseApiController {
             if (query.getCurrentCount() > 0) {
                 list = query.getResult();
             }
-        }
 
         for (Exam exam : list) {
             JSONObject obj = new JSONObject();
@@ -119,7 +119,7 @@ public class ExamInfoController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         JSONObject result = new JSONObject();
         Exam exam = examService.findById(subject.getExamId());
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             ExamSubject es = subjectService.find(subject.getExamId(), subject.getCode());
             if (es != null) {
                 if (subject.getHasAnswer() != null) {

+ 3 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamPackageController.java

@@ -51,7 +51,7 @@ public class ExamPackageController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             List<String> list = examStudentService.findDistinctPackageCode(examId);
             if (list != null) {
                 for (String code : list) {
@@ -72,7 +72,7 @@ public class ExamPackageController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             List<ExamPackage> list = upload != null ? packageService.list(examId, upload) : packageService.list(examId);
             if (list != null) {
                 for (ExamPackage ep : list) {
@@ -95,7 +95,7 @@ public class ExamPackageController extends BaseApiController {
             @RequestBody ExamPackage examPackage) {
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             ExamPackage obj = packageService.find(examId, examPackage.getCode());
             if (obj != null && examPackage.getPicCount() != null) {
                 obj.setPicCount(examPackage.getPicCount());

+ 7 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

@@ -80,7 +80,7 @@ public class ExamStudentController extends BaseApiController {
             @RequestBody MenualAbsentDTO[] datas) {
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             for (MenualAbsentDTO dto : datas) {
                 examStudentService.updateManualAbsent(examId, dto.getExamNumber(), dto.isAbsent());
             }
@@ -96,7 +96,7 @@ public class ExamStudentController extends BaseApiController {
     public Object clearManualAbsent(HttpServletRequest request, @RequestParam Integer examId) {
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             examStudentService.clearManualAbsent(examId);
             return true;
         } else {
@@ -119,7 +119,7 @@ public class ExamStudentController extends BaseApiController {
             pageSize = 1000;
         }
 
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             List<ExamStudent> esList = examStudentService.findByExamId(examId, pageNumber, pageSize);
             for (ExamStudent student : esList) {
                 JSONObject obj = new JSONObject();
@@ -150,7 +150,7 @@ public class ExamStudentController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             ExamStudentSearchQuery query = new ExamStudentSearchQuery();
             query.setExamId(examId);
             query.setUpload(upload);
@@ -185,7 +185,7 @@ public class ExamStudentController extends BaseApiController {
             @RequestParam(required = false) Boolean upload, @RequestParam(required = false) Boolean absent) {
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             ExamStudentSearchQuery query = new ExamStudentSearchQuery();
             query.setExamId(examId);
             query.setUpload(upload);
@@ -206,7 +206,7 @@ public class ExamStudentController extends BaseApiController {
             return array;
         }
         Exam exam = examService.findById(query.getExamId());
-        if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam != null && user.getSchools().contains(exam.getSchoolId())) {
             DecimalFormat format = new DecimalFormat("####.##");
             examStudentService.findByQuery(query);
             for (ExamStudent student : query.getResult()) {
@@ -613,7 +613,7 @@ public class ExamStudentController extends BaseApiController {
         // 验证考试与管理员账号
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
-        if (exam == null || !exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam == null || !user.getSchools().contains(exam.getSchoolId())) {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }
         // 验证考生是否存在

+ 21 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/LoginController.java

@@ -5,15 +5,19 @@ import java.io.IOException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import cn.com.qmth.stmms.biz.api.auth.annotation.AuthValidate;
+import cn.com.qmth.stmms.biz.school.model.School;
 import cn.com.qmth.stmms.biz.user.model.User;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
-import net.sf.json.JSONObject;
 
 @Controller("loginApiController")
 @RequestMapping("/api")
@@ -22,13 +26,28 @@ public class LoginController extends BaseApiController {
     @AuthValidate("adminUser")
     @RequestMapping(value = "/user/login", method = RequestMethod.GET)
     @ResponseBody
-    public JSONObject login(HttpServletRequest request, HttpServletResponse response) throws IOException {
+    public JSONObject login(HttpServletRequest request, HttpServletResponse response,
+    		@RequestParam(required = false) boolean withSchoolList) throws IOException {
         User user = RequestUtils.getApiUser(request);
         JSONObject obj = new JSONObject();
         obj.accumulate("userId", user.getId());
         obj.accumulate("userName", user.getName());
         obj.accumulate("campusId", 0);
         obj.accumulate("schoolId", user.getSchoolId());
+        if(withSchoolList){
+        	obj.accumulate("schoolList", getSchoolList(user));
+        }
         return obj;
     }
+
+	private JSONArray getSchoolList(User user) {
+		JSONArray array = new JSONArray();
+		for (School school : user.getSchools()) {
+			JSONObject obj = new JSONObject();
+			obj.accumulate("schoolId", school.getId());
+			obj.accumulate("schoolName", school.getName());
+			array.add(obj);
+		}
+		return array;
+	}
 }

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

@@ -64,7 +64,7 @@ public class ScanController extends BaseApiController {
 
         Exam exam = examService.findById(examId);
         // 判断上传权限
-        if (exam == null || !exam.getSchoolId().equals(user.getSchoolId())) {
+        if (exam == null || !user.getSchools().contains(exam.getSchoolId())) {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }