UserController.java 3.26 KB
Newer Older
1 2 3
package com.govmade.modules.system.controller;

import java.util.Map;
Administrator's avatar
Administrator committed
4
import java.util.Set;
5 6

import org.springframework.beans.factory.annotation.Autowired;
Administrator's avatar
Administrator committed
7
import org.springframework.web.bind.annotation.DeleteMapping;
8 9 10
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
Administrator's avatar
Administrator committed
11
import org.springframework.web.bind.annotation.PutMapping;
Fred's avatar
Fred committed
12
import org.springframework.web.bind.annotation.RequestBody;
13 14
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
Administrator's avatar
Administrator committed
15

16 17 18
import com.govmade.common.utils.Constant;
import com.govmade.common.utils.PageUtils;
import com.govmade.common.utils.R;
Fred's avatar
Fred committed
19
import com.govmade.common.validator.Assert;
20 21 22
import com.govmade.modules.basic.controller.AbstractController;
import com.govmade.modules.system.entity.UserEntity;
import com.govmade.modules.system.service.UserService;
Administrator's avatar
Administrator committed
23

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
import cn.hutool.crypto.SecureUtil;

/**
 * 系统管理 - 用户设置
 * 
 * @author Fred
 * @email fangtaosh@qq.com
 * @date 2018年8月3日
 */
@RestController
@RequestMapping("/system/user")
public class UserController extends AbstractController {

	@Autowired
	private UserService userService;

	/**
	 * 保存或更新用户
	 */
	@PostMapping("/save")
	public R save(UserEntity ue) {

		if (null == ue.getId()) {
			if (this.userService.checkUser(ue.getUsername()) > 0) {
				return R.error(ue.getUsername() + " 已存在!");
			}
Fred's avatar
Fred committed
50
			String password = SecureUtil.md5(Constant.DEFAULT_PASSWORD);
51 52 53 54 55 56 57 58 59 60 61
			ue.setPassword(password);
		}
		userService.save(ue);

		return R.ok();
	}

	/**
	 * 用户列表
	 */
	@GetMapping("/list")
Fred's avatar
Fred committed
62
	public R list(Map<String, Object> params) {
63 64

		// 只有超级管理员,才能查看所有用户列表
Fred's avatar
Fred committed
65
		if (getUserId() == Constant.SUPER_ADMIN) {
66 67
			params.put("createBy", getUserId());
		} else {
Fred's avatar
Fred committed
68
			// params.put("deptId", getUser().getDeptId()); // 部门管理员,查看本部门用户列表
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
		}
		PageUtils page = userService.queryPage(params);

		return R.ok().put("page", page);

	}

	/**
	 * 根据ID查询用户
	 * 
	 * @param id
	 * @return
	 */
	@GetMapping("info/{id}")
	public R info(@PathVariable("id") Long id) {
		return R.ok().put("user", userService.queryById(id));
	}
Fred's avatar
Fred committed
86 87

	/**
Fred's avatar
Fred committed
88
	 * 批量删除用户
Fred's avatar
Fred committed
89 90 91 92
	 * 
	 * @param ids
	 * @return
	 */
Administrator's avatar
Administrator committed
93
	@DeleteMapping("/delete")
Fred's avatar
Fred committed
94 95 96
	public R deleteUser(@RequestBody Set<Long> ids) {
		Assert.isNull(ids, "删除项不能为空");

Fred's avatar
Fred committed
97 98 99
		userService.deleteBatch(ids);
		return R.ok();
	}
Administrator's avatar
Administrator committed
100 101 102

	/**
	 * 重置密码
Fred's avatar
Fred committed
103
	 * 
Administrator's avatar
Administrator committed
104 105 106
	 * @param id
	 * @return
	 */
Fred's avatar
Fred committed
107
	@PutMapping("/reset")
Fred's avatar
Fred committed
108 109
	public R reset(Long id) {
		Assert.isNull(id, "必选选择一个用户");
Fred's avatar
Fred committed
110

Fred's avatar
Fred committed
111 112 113 114
		String password = SecureUtil.md5(Constant.DEFAULT_PASSWORD);
		UserEntity ue = new UserEntity();
		ue.setPassword(password);
		userService.updateById(ue);
Fred's avatar
Fred committed
115 116 117 118 119 120 121 122 123

		return R.ok();
	}

	/**
	 * 修改登录用户密码
	 */
	@PutMapping("updatePassword")
	public R password(String password, String newPassword) {
Fred's avatar
Fred committed
124
		Assert.isBlank(newPassword, "新密码不为能空");
Fred's avatar
Fred committed
125

Fred's avatar
Fred committed
126 127
		password = SecureUtil.md5(password);
		newPassword = SecureUtil.md5(newPassword);
Fred's avatar
Fred committed
128

Fred's avatar
Fred committed
129 130
		// 更新密码
		boolean flag = userService.updatePassword(getUserId(), password, newPassword);
Fred's avatar
Fred committed
131

Fred's avatar
Fred committed
132 133 134
		if (!flag) {
			return R.error("原密码不正确");
		}
Fred's avatar
Fred committed
135 136
		return R.ok();
	}
137 138

}