123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- package com.xxl.job.admin.controller;
- import com.xxl.job.admin.controller.annotation.PermissionLimit;
- import com.xxl.job.admin.core.model.XxlJobGroup;
- import com.xxl.job.admin.core.model.XxlJobUser;
- import com.xxl.job.admin.core.util.I18nUtil;
- import com.xxl.job.admin.dao.XxlJobGroupDao;
- import com.xxl.job.admin.dao.XxlJobUserDao;
- import com.xxl.job.admin.service.LoginService;
- import com.xxl.job.core.biz.model.ReturnT;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.util.DigestUtils;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author xuxueli 2019-05-04 16:39:50
- */
- @Controller
- @RequestMapping("/user")
- public class UserController {
- @Resource
- private XxlJobUserDao xxlJobUserDao;
- @Resource
- private XxlJobGroupDao xxlJobGroupDao;
- @RequestMapping
- @PermissionLimit(adminuser = true)
- public String index(Model model) {
- // 执行器列表
- List<XxlJobGroup> groupList = xxlJobGroupDao.findAll();
- model.addAttribute("groupList", groupList);
- return "user/user.index";
- }
- @RequestMapping("/pageList")
- @ResponseBody
- @PermissionLimit(adminuser = true)
- public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
- @RequestParam(required = false, defaultValue = "10") int length,
- String username, int role) {
- // page list
- List<XxlJobUser> list = xxlJobUserDao.pageList(start, length, username, role);
- int list_count = xxlJobUserDao.pageListCount(start, length, username, role);
- // package result
- Map<String, Object> maps = new HashMap<String, Object>();
- maps.put("recordsTotal", list_count); // 总记录数
- maps.put("recordsFiltered", list_count); // 过滤后的总记录数
- maps.put("data", list); // 分页列表
- return maps;
- }
- @RequestMapping("/add")
- @ResponseBody
- @PermissionLimit(adminuser = true)
- public ReturnT<String> add(XxlJobUser xxlJobUser) {
- // valid username
- if (!StringUtils.hasText(xxlJobUser.getUsername())) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_please_input")+I18nUtil.getString("user_username") );
- }
- xxlJobUser.setUsername(xxlJobUser.getUsername().trim());
- if (!(xxlJobUser.getUsername().length()>=4 && xxlJobUser.getUsername().length()<=20)) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" );
- }
- // valid password
- if (!StringUtils.hasText(xxlJobUser.getPassword())) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_please_input")+I18nUtil.getString("user_password") );
- }
- xxlJobUser.setPassword(xxlJobUser.getPassword().trim());
- if (!(xxlJobUser.getPassword().length()>=4 && xxlJobUser.getPassword().length()<=20)) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" );
- }
- // md5 password
- xxlJobUser.setPassword(DigestUtils.md5DigestAsHex(xxlJobUser.getPassword().getBytes()));
- // check repeat
- XxlJobUser existUser = xxlJobUserDao.loadByUserName(xxlJobUser.getUsername());
- if (existUser != null) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("user_username_repeat") );
- }
- // write
- xxlJobUserDao.save(xxlJobUser);
- return ReturnT.SUCCESS;
- }
- @RequestMapping("/update")
- @ResponseBody
- @PermissionLimit(adminuser = true)
- public ReturnT<String> update(HttpServletRequest request, XxlJobUser xxlJobUser) {
- // avoid opt login seft
- XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
- if (loginUser.getUsername().equals(xxlJobUser.getUsername())) {
- return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit"));
- }
- // valid password
- if (StringUtils.hasText(xxlJobUser.getPassword())) {
- xxlJobUser.setPassword(xxlJobUser.getPassword().trim());
- if (!(xxlJobUser.getPassword().length()>=4 && xxlJobUser.getPassword().length()<=20)) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" );
- }
- // md5 password
- xxlJobUser.setPassword(DigestUtils.md5DigestAsHex(xxlJobUser.getPassword().getBytes()));
- } else {
- xxlJobUser.setPassword(null);
- }
- // write
- xxlJobUserDao.update(xxlJobUser);
- return ReturnT.SUCCESS;
- }
- @RequestMapping("/remove")
- @ResponseBody
- @PermissionLimit(adminuser = true)
- public ReturnT<String> remove(HttpServletRequest request, int id) {
- // avoid opt login seft
- XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
- if (loginUser.getId() == id) {
- return new ReturnT<String>(ReturnT.FAIL.getCode(), I18nUtil.getString("user_update_loginuser_limit"));
- }
- xxlJobUserDao.delete(id);
- return ReturnT.SUCCESS;
- }
- @RequestMapping("/updatePwd")
- @ResponseBody
- public ReturnT<String> updatePwd(HttpServletRequest request, String password){
- // valid password
- if (password==null || password.trim().length()==0){
- return new ReturnT<String>(ReturnT.FAIL.getCode(), "密码不可为空");
- }
- password = password.trim();
- if (!(password.length()>=4 && password.length()<=20)) {
- return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("system_lengh_limit")+"[4-20]" );
- }
- // md5 password
- String md5Password = DigestUtils.md5DigestAsHex(password.getBytes());
- // update pwd
- XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY);
- // do write
- XxlJobUser existUser = xxlJobUserDao.loadByUserName(loginUser.getUsername());
- existUser.setPassword(md5Password);
- xxlJobUserDao.update(existUser);
- return ReturnT.SUCCESS;
- }
- }
|