|
@@ -7,16 +7,15 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
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.servlet.ModelAndView;
|
|
|
|
|
|
-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.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.user.model.User;
|
|
@@ -37,17 +36,104 @@ public class LoginController {
|
|
|
@Autowired
|
|
|
private MarkerService markerService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private ExamSubjectService examSubjectService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private MarkGroupService groupService;
|
|
|
|
|
|
+ @Value("${index.logo}")
|
|
|
+ private String indexLogo;
|
|
|
+
|
|
|
@RequestMapping("/")
|
|
|
public ModelAndView index(HttpServletRequest request) {
|
|
|
return new ModelAndView("index");
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "/login", method = RequestMethod.GET)
|
|
|
+ public ModelAndView login(HttpServletRequest request) {
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/login", method = RequestMethod.POST)
|
|
|
+ public ModelAndView login(User user, String loginType, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ if (loginType.equals("admin-login")) {
|
|
|
+ User u = userService.findByLoginName(user.getLoginName());
|
|
|
+ if (u != null) {
|
|
|
+ if (u.getPassword().equals(Md5EncryptUtils.md5(user.getPassword()))) {
|
|
|
+ u.setLastLoginTime(new Date());
|
|
|
+ u.setLastLoginIp(request.getRemoteAddr());
|
|
|
+ userService.save(u);
|
|
|
+
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ new WebUser(u.getId(), u.getRole()).writeToSession(session);
|
|
|
+
|
|
|
+ if (u.getRole() == Role.SYS_ADMIN || u.getRole() == Role.SCHOOL_ADMIN
|
|
|
+ || u.getRole() == Role.SUBJECT_HEADER || u.getRole() == Role.SCHOOL_VIEWER) {
|
|
|
+ ModelAndView modelAndView = new ModelAndView("redirect:admin/home");
|
|
|
+ return modelAndView;
|
|
|
+ } else {
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject("message", "用户没有访问权限");
|
|
|
+ view.addObject("loginType", loginType);
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
+ modelAndView.addObject("message", "密码错误");
|
|
|
+ modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("indexLogo", indexLogo);
|
|
|
+ return modelAndView;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
+ modelAndView.addObject("message", "无此用户");
|
|
|
+ modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("indexLogo", indexLogo);
|
|
|
+ return modelAndView;
|
|
|
+ }
|
|
|
+ } else if (loginType.equals("mark-login")) {
|
|
|
+ Marker marker = markerService.findByLoginName(user.getLoginName());
|
|
|
+ if (marker != null) {
|
|
|
+ ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
+ if (!marker.getPassword().equals(user.getPassword())) {
|
|
|
+ modelAndView.addObject("message", "密码错误");
|
|
|
+ modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("indexLogo", indexLogo);
|
|
|
+ return modelAndView;
|
|
|
+ }
|
|
|
+ if (marker.isEnable() == false) {
|
|
|
+ modelAndView.addObject("message", "帐号已禁用");
|
|
|
+ modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("indexLogo", indexLogo);
|
|
|
+ return modelAndView;
|
|
|
+ }
|
|
|
+
|
|
|
+ new WebUser(marker.getId(), Role.MARKER).writeToSession(RequestUtils.getSession(request));
|
|
|
+
|
|
|
+ if (marker.getLastLoginTime() == null) {
|
|
|
+ return new ModelAndView("redirect:/mark/reset");
|
|
|
+ } else {
|
|
|
+ marker.setLastLoginTime(new Date());
|
|
|
+ marker.setLastLoginIp(request.getRemoteAddr());
|
|
|
+ markerService.save(marker);
|
|
|
+ }
|
|
|
+ return new ModelAndView("redirect:/mark/index");
|
|
|
+ }
|
|
|
+
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject("message", "帐号不存在");
|
|
|
+ view.addObject("loginType", loginType);
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
+ } else {
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject("loginType", loginType);
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@RequestMapping(value = "/admin-login", method = RequestMethod.GET)
|
|
|
public ModelAndView adminIndex(HttpServletRequest request) {
|
|
|
// StmmsSession session = RequestUtils.getSession(request);
|
|
@@ -167,11 +253,6 @@ public class LoginController {
|
|
|
modelAndView.addObject("message", "帐号已禁用");
|
|
|
return modelAndView;
|
|
|
}
|
|
|
- ExamSubject subject = examSubjectService.find(marker.getExamId(), marker.getSubjectCode());
|
|
|
- if (subject == null) {
|
|
|
- modelAndView.addObject("message", "科目不存在");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
|
|
|
if (group == null) {
|
|
|
modelAndView.addObject("message", "大题不存在");
|