// 登录 @RequestMapping('users') @RestController public class UserController{

@Autowired
private UserService userService;

@Autowired
private TokenService tokenService;

/**
 * 登录
 */
@IgnoreAuth // 忽略认证注解
@PostMapping(value = '/login')
public R login(String username, String password, String captcha, HttpServletRequest request) {
	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq('username', username));
	// 判断用户是否存在或密码是否正确
	if(user==null || !user.getPassword().equals(password)) {
		return R.error('账号或密码不正确');
	}
	// 生成token并返回
	String token = tokenService.generateToken(user.getId(),username, 'users', user.getRole());
	return R.ok().put('token', token);
}

/**
 * 注册
 */
@IgnoreAuth // 忽略认证注解
@PostMapping(value = '/register')
public R register(@RequestBody UserEntity user){

// ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper().eq('username', user.getUsername())) !=null) { return R.error('用户已存在'); } userService.insert(user); return R.ok(); }

/**
 * 退出
 */
@GetMapping(value = 'logout')
public R logout(HttpServletRequest request) {
	request.getSession().invalidate(); // 使session失效
	return R.ok('退出成功');
}

/**
 * 密码重置
 */
@IgnoreAuth // 忽略认证注解
@RequestMapping(value = '/resetPass')
public R resetPass(String username, HttpServletRequest request){
	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq('username', username));
	if(user==null) {
		return R.error('账号不存在');
	}
	user.setPassword('123456'); // 重置密码为默认密码
	userService.update(user,null);
	return R.ok('密码已重置为:123456');
}

/**
 * 列表
 */
@RequestMapping('/page')
public R page(@RequestParam Map<String, Object> params,UserEntity user){
	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
	return R.ok().put('data', page);
}

/**
 * 列表
 */
@RequestMapping('/list')
public R list( UserEntity user){
   	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
  	ew.allEq(MPUtil.allEQMapPre( user, 'user')); 
	return R.ok().put('data', userService.selectListView(ew));
}

/**
 * 信息
 */
@RequestMapping('/info/{id}')
public R info(@PathVariable('id') String id){
	UserEntity user = userService.selectById(id);
	return R.ok().put('data', user);
}

/**
 * 获取用户的session用户信息
 */
@RequestMapping('/session')
public R getCurrUser(HttpServletRequest request){
	Long id = (Long)request.getSession().getAttribute('userId');
	UserEntity user = userService.selectById(id);
	return R.ok().put('data', user);
}

/**
 * 保存
 */
@PostMapping('/save')
public R save(@RequestBody UserEntity user){

// ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper().eq('username', user.getUsername())) !=null) { return R.error('用户已存在'); } userService.insert(user); return R.ok(); }

/**
 * 修改
 */
@RequestMapping('/update')
public R update(@RequestBody UserEntity user){

// ValidatorUtils.validateEntity(user); UserEntity u = userService.selectOne(new EntityWrapper().eq('username', user.getUsername())); if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) { return R.error('用户名已存在。'); } userService.updateById(user);//全部更新 return R.ok(); }

/**
 * 删除
 */
@RequestMapping('/delete')
public R delete(@RequestBody Long[] ids){
	userService.deleteBatchIds(Arrays.asList(ids));
	return R.ok();
}

}

用户管理 RESTful API 文档

原文地址: https://www.cveoy.top/t/topic/n9Ca 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录