IndexController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.xxl.job.admin.controller;
  2. import com.xxl.job.admin.controller.annotation.PermessionLimit;
  3. import com.xxl.job.admin.controller.interceptor.PermissionInterceptor;
  4. import com.xxl.job.admin.service.XxlJobService;
  5. import com.xxl.job.core.biz.model.ReturnT;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.beans.propertyeditors.CustomDateEditor;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.ui.Model;
  10. import org.springframework.web.bind.WebDataBinder;
  11. import org.springframework.web.bind.annotation.InitBinder;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.bind.annotation.ResponseBody;
  15. import javax.annotation.Resource;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Date;
  20. import java.util.Map;
  21. /**
  22. * index controller
  23. * @author xuxueli 2015-12-19 16:13:16
  24. */
  25. @Controller
  26. public class IndexController {
  27. @Resource
  28. private XxlJobService xxlJobService;
  29. @RequestMapping("/")
  30. public String index(Model model) {
  31. Map<String, Object> dashboardMap = xxlJobService.dashboardInfo();
  32. model.addAllAttributes(dashboardMap);
  33. return "index";
  34. }
  35. @RequestMapping("/triggerChartDate")
  36. @ResponseBody
  37. public ReturnT<Map<String, Object>> triggerChartDate(Date startDate, Date endDate) {
  38. ReturnT<Map<String, Object>> triggerChartDate = xxlJobService.triggerChartDate(startDate, endDate);
  39. return triggerChartDate;
  40. }
  41. @RequestMapping("/toLogin")
  42. @PermessionLimit(limit=false)
  43. public String toLogin(Model model, HttpServletRequest request) {
  44. if (PermissionInterceptor.ifLogin(request)) {
  45. return "redirect:/";
  46. }
  47. return "login";
  48. }
  49. @RequestMapping(value="login", method=RequestMethod.POST)
  50. @ResponseBody
  51. @PermessionLimit(limit=false)
  52. public ReturnT<String> loginDo(HttpServletRequest request, HttpServletResponse response, String userName, String password, String ifRemember){
  53. // valid
  54. if (PermissionInterceptor.ifLogin(request)) {
  55. return ReturnT.SUCCESS;
  56. }
  57. // param
  58. if (StringUtils.isBlank(userName) || StringUtils.isBlank(password)){
  59. return new ReturnT<String>(500, "账号或密码为空");
  60. }
  61. boolean ifRem = (StringUtils.isNotBlank(ifRemember) && "on".equals(ifRemember))?true:false;
  62. // do login
  63. boolean loginRet = PermissionInterceptor.login(response, userName, password, ifRem);
  64. if (!loginRet) {
  65. return new ReturnT<String>(500, "账号或密码错误");
  66. }
  67. return ReturnT.SUCCESS;
  68. }
  69. @RequestMapping(value="logout", method=RequestMethod.POST)
  70. @ResponseBody
  71. @PermessionLimit(limit=false)
  72. public ReturnT<String> logout(HttpServletRequest request, HttpServletResponse response){
  73. if (PermissionInterceptor.ifLogin(request)) {
  74. PermissionInterceptor.logout(request, response);
  75. }
  76. return ReturnT.SUCCESS;
  77. }
  78. @RequestMapping("/help")
  79. public String help() {
  80. /*if (!PermissionInterceptor.ifLogin(request)) {
  81. return "redirect:/toLogin";
  82. }*/
  83. return "help";
  84. }
  85. @InitBinder
  86. public void initBinder(WebDataBinder binder) {
  87. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  88. dateFormat.setLenient(false);
  89. binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
  90. }
  91. }