IndexController.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.xxl.job.admin.controller;
  2. import com.xxl.job.admin.controller.annotation.PermissionLimit;
  3. import com.xxl.job.admin.service.LoginService;
  4. import com.xxl.job.admin.service.XxlJobService;
  5. import com.xxl.job.core.biz.model.ReturnT;
  6. import org.springframework.beans.propertyeditors.CustomDateEditor;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.Model;
  9. import org.springframework.web.bind.WebDataBinder;
  10. import org.springframework.web.bind.annotation.InitBinder;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestMethod;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import org.springframework.web.servlet.ModelAndView;
  15. import org.springframework.web.servlet.view.RedirectView;
  16. import javax.annotation.Resource;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.text.SimpleDateFormat;
  20. import java.util.Date;
  21. import java.util.Map;
  22. /**
  23. * index controller
  24. * @author xuxueli 2015-12-19 16:13:16
  25. */
  26. @Controller
  27. public class IndexController {
  28. @Resource
  29. private XxlJobService xxlJobService;
  30. @Resource
  31. private LoginService loginService;
  32. @RequestMapping("/")
  33. public String index(Model model) {
  34. Map<String, Object> dashboardMap = xxlJobService.dashboardInfo();
  35. model.addAllAttributes(dashboardMap);
  36. return "index";
  37. }
  38. @RequestMapping("/chartInfo")
  39. @ResponseBody
  40. public ReturnT<Map<String, Object>> chartInfo(Date startDate, Date endDate) {
  41. ReturnT<Map<String, Object>> chartInfo = xxlJobService.chartInfo(startDate, endDate);
  42. return chartInfo;
  43. }
  44. @RequestMapping("/toLogin")
  45. @PermissionLimit(limit=false)
  46. public ModelAndView toLogin(HttpServletRequest request, HttpServletResponse response,ModelAndView modelAndView) {
  47. if (loginService.ifLogin(request, response) != null) {
  48. modelAndView.setView(new RedirectView("/",true,false));
  49. return modelAndView;
  50. }
  51. return new ModelAndView("login");
  52. }
  53. @RequestMapping(value="login", method=RequestMethod.POST)
  54. @ResponseBody
  55. @PermissionLimit(limit=false)
  56. public ReturnT<String> loginDo(HttpServletRequest request, HttpServletResponse response, String userName, String password, String ifRemember){
  57. boolean ifRem = (ifRemember!=null && ifRemember.trim().length()>0 && "on".equals(ifRemember))?true:false;
  58. return loginService.login(request, response, userName, password, ifRem);
  59. }
  60. @RequestMapping(value="logout", method=RequestMethod.POST)
  61. @ResponseBody
  62. @PermissionLimit(limit=false)
  63. public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response){
  64. return loginService.logout(request, response);
  65. }
  66. @RequestMapping("/help")
  67. public String help() {
  68. /*if (!PermissionInterceptor.ifLogin(request)) {
  69. return "redirect:/toLogin";
  70. }*/
  71. return "help";
  72. }
  73. @InitBinder
  74. public void initBinder(WebDataBinder binder) {
  75. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  76. dateFormat.setLenient(false);
  77. binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
  78. }
  79. }