保存用户信息接口 - Java Spring Boot 后端代码示例
这段代码是一个保存用户信息的接口,使用了 POST 请求方式。
在方法上标注了 @SysLog 注解,表示保存用户操作会被记录到系统日志中。同时使用了 @RequiresPermissions 注解表示需要有 'sys:user:save' 权限才能调用该接口。
方法中首先对传入的 user 参数进行了校验,确保其满足 AddGroup 校验组的要求。然后判断密码是否符合要求,要求密码由数字和字母加起来 8 位组成。如果不符合要求,则返回错误信息。
接着判断用户角色是否为患者或医院操作员,并根据其角色判断用户名是否符合要求。患者的用户名只能由 9 位数字组成,医院操作员的用户名只能由 6 位数字组成。如果不符合要求,则返回错误信息。
最后设置用户的创建者为当前用户的 ID,并调用 sysUserService 的 saveUser 方法保存用户信息。最终返回操作成功的信息。
代码示例:
@SysLog('保存用户')
@PostMapping('/save')
@RequiresPermissions('sys:user:save')
public R save(@RequestBody SysUserEntity user) {
ValidatorUtils.validateEntity(user, AddGroup.class);
// 密码由数字和字母加起来8位组成
if (!(user.getPassword().matches('^[A-Za-z0-9]{8}$'))) {
return R.error('密码由数字和字母加起来8位组成');
}
if (user.getRoleIdList().contains(2L)) {
// 患者
if (!(user.getUsername().matches('\d{9}'))) {
return R.error('患者的用户名只能由9位数字组成');
}
}
if (user.getRoleIdList().contains(3L)) {
// 操作员
if (!(user.getUsername().matches('\d{6}'))) {
return R.error('医院操作员的用户名只能由6位数字组成');
}
}
user.setCreateUserId(user.getUserId());
sysUserService.saveUser(user);
return R.ok();
}
解释:
@SysLog('保存用户'):记录日志,记录保存用户操作。@PostMapping('/save'):使用 POST 请求方式访问该接口。@RequiresPermissions('sys:user:save'):需要sys:user:save权限才能访问该接口。ValidatorUtils.validateEntity(user, AddGroup.class):校验用户数据,确保其满足AddGroup校验组的要求。user.getPassword().matches('^[A-Za-z0-9]{8}$'):校验密码是否符合要求,要求密码由数字和字母加起来 8 位组成。user.getRoleIdList().contains(2L)和user.getRoleIdList().contains(3L):判断用户角色是否为患者或医院操作员。user.getUsername().matches('\d{9}')和user.getUsername().matches('\d{6}'):校验用户名是否符合要求。user.setCreateUserId(user.getUserId()):设置用户的创建者为当前用户的 ID。sysUserService.saveUser(user):调用服务层保存用户信息。R.ok():返回操作成功的信息。
原文地址: https://www.cveoy.top/t/topic/n6gx 著作权归作者所有。请勿转载和采集!