Browse Source

SubjectController.save,缺少previous非空判断

xiatian 1 năm trước cách đây
mục cha
commit
3dc9589293

+ 11 - 5
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/SubjectController.java

@@ -82,11 +82,19 @@ public class SubjectController extends BaseExamController {
     @SuppressWarnings("unchecked")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @RoleRequire(Role.SCHOOL_ADMIN)
-    public String save(HttpServletRequest request, ExamSubject subject, Model model, @RequestParam String picList,
+    public String save(RedirectAttributes redirectAttributes,HttpServletRequest request, ExamSubject subject, Model model, @RequestParam String picList,
             @RequestParam(required = false) Double passScore, @RequestParam(required = false) Double excellentScore,
             ExamSubjectSearchQuery query, @RequestParam(required = false) String queryCode,
             @RequestParam(required = false) Boolean upload) {
+    	String u = upload == null ? "" : upload.toString();
+    	String t = query.getTotalScoreNotEqual() == null ? "" : query.getTotalScoreNotEqual().toString();
+    	String url="redirect:/admin/exam/paper?code=" + queryCode + "&pageNumber=" + query.getPageNumber() + "&category="
+                + query.getCategory() + "&level=" + query.getLevel() + "&upload=" + u + "&totalScoreNotEqual=" + t;
         ExamSubject previous = subjectService.find(getSessionExamId(request), subject.getCode());
+        if(previous==null) {
+        	addMessage(redirectAttributes, "科目代码有误,科目不存在");
+        	return url;
+        }
         if (previous != null && StringUtils.isNotBlank(picList)) {
             String sheetConfig = StringEscapeUtils.unescapeHtml(picList);
             JSONArray array = JSONArray.fromObject(sheetConfig);
@@ -103,9 +111,7 @@ public class SubjectController extends BaseExamController {
                 .getDisplayQuestionName());
         subjectService.save(previous);
         model.addAttribute("message", "修改成功");
-        String u = upload == null ? "" : upload.toString();
-        String t = query.getTotalScoreNotEqual() == null ? "" : query.getTotalScoreNotEqual().toString();
-        return "redirect:/admin/exam/paper?code=" + queryCode + "&pageNumber=" + query.getPageNumber() + "&category="
-                + query.getCategory() + "&level=" + query.getLevel() + "&upload=" + u + "&totalScoreNotEqual=" + t;
+       
+        return url;
     }
 }