需求:用户手机号码字段,必须保持唯一;
分析:新增时,手机号码不能在库里查到;更新时,如果在库里查看,比较用户id是否一致。
二、代码实现 public void checkMobileUnique(Long id, String mobile) {
//手机号为空不进行校验
if (StrUtil.isBlank(mobile)) {
return;
}
AdminUserDO user = userMapper.selectByMobile(mobile);
//没有查到有用户使用此手机号码
if (user == null) {
return;
}
//新增时校验
if (id == null) {
//手机号已经存在
throw exception("手机号已经存在");
}
//更新时校验,判断查出的用户是否是当前用户
if (!user.getId().equals(id)) {
//手机号已经存在
throw exception("手机号已经存在");
}
三、使用示例
//新增 checkMobileUnique(null,mobile); //更新 checkMobileUnique(id,mobile)



