一、参数校验
public class RoleParam {
private Integer id;
@NotBlank(message = "角色名称不可以为空")
@Length(min = 2, max = 20, message = "角色名称长度需要在2-20个字之间")
private String name;
@Min(value = 1, message = "角色类型不合法")
@Max(value = 2, message = "角色类型不合法")
private Integer type = 1;
@NotNull(message = "角色状态不可以为空")
@Min(value = 0, message = "角色状态不合法")
@Max(value = 1, message = "角色状态不合法")
private Integer status;
@Length(min = 0, max = 200, message = "角色备注长度需要在200个字符以内")
private String remark;
}
2、Service层
@Service
public class SysRoleService {
@Autowired
private SysRoleMapper sysRoleMapper;
@Autowired
private SysRoleAclMapper sysRoleAclMapper;
@Autowired
private SysRoleUserMapper sysRoleUserMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Resource
private SysLogService sysLogService;
public void save(RoleParam param) {
BeanValidator.check(param);
if (checkExist(param.getName(), param.getId())) {
throw new ParamException("角色名称已经存在");
}
//类名.builder().属性(data)
SysRole role = SysRole.builder().name(param.getName()).status(param.getStatus()).type(param.getType())
.remark(param.getRemark()).build();
role.setOperator(RequestHolder.getCurrentUser().getUsername());
role.setOperateIp(IpUtil.getRemoteIp(RequestHolder.getCurrentRequest()));
role.setOperateTime(new Date());
sysRoleMapper.insertSelective(role);