添加一体机身份证登录(身份证和手机号)

This commit is contained in:
sh
2026-01-14 16:58:09 +08:00
parent eaca90a521
commit 4051c67af5
4 changed files with 43 additions and 3 deletions

View File

@@ -95,6 +95,9 @@ public class SysLoginController
if(loginBody==null||StringUtils.isBlank(loginBody.getIdCard())){
return AjaxResult.error("请输入有效的身份证号!");
}
if(StringUtils.isBlank(loginBody.getUsername())){
return AjaxResult.error("姓名不能为空!");
}
AjaxResult ajax = AjaxResult.success();
ajax=loginService.idCardLogin(loginBody);
return ajax;

View File

@@ -83,4 +83,6 @@ public interface IAppUserService
public List<AppUserShow> selectUserApplyList(AppUser appUser);
public AppUser getYtjValidPhone(String phone);
public AppUser getYtjValidIdcard(String phone);
}

View File

@@ -511,7 +511,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
public AppUser selectAppuserByIdcard(String idCard) {
return appUserMapper.selectOne(Wrappers.<AppUser>lambdaQuery()
//.eq(AppUser::getIdCard, idCard)
.apply("UPPER(id_card) = {0}", idCard)
.apply("UPPER(id_card) = {0}", StringUtil.toUpperCaseIgnoreBlank(idCard))
.eq(AppUser::getDelFlag,"0")
.orderByDesc(AppUser::getUpdateTime).last("LIMIT 1"));
}
@@ -651,6 +651,28 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
return queryPhoneUser(phone);
}
@Override
public AppUser getYtjValidIdcard(String phone) {
return queryIdcardUser(phone);
}
/**
* 查询用户
* @param phone
* @return
*/
private AppUser queryIdcardUser(String phone) {
AppUser user = appUserMapper.selectOne(buildBaseIdcardQuery(phone)
.isNotNull(AppUser::getIsCompanyUser)
.eq(AppUser::getIsCompanyUser, "1"));
if (user == null) {
user = appUserMapper.selectOne(buildBaseIdcardQuery(phone)
.isNotNull(AppUser::getIsCompanyUser));
}
return user;
}
/**
* 查询用户
* @param phone
@@ -680,4 +702,11 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
.orderByDesc(AppUser::getUpdateTime)
.last("LIMIT 1");
}
private LambdaQueryWrapper<AppUser> buildBaseIdcardQuery(String idCard) {
return new LambdaQueryWrapper<AppUser>()
.apply("UPPER(id_card) = {0}", idCard)
.eq(AppUser::getDelFlag,"0")
.orderByDesc(AppUser::getUpdateTime).last("LIMIT 1");
}
}

View File

@@ -687,9 +687,15 @@ public class SysLoginService
* @return
*/
public AjaxResult idCardLogin(LoginBody loginBody){
AppUser appUser=appUserService.selectAppuserByIdcard(loginBody.getIdCard());
String idCard=StringUtil.toUpperCaseIgnoreBlank(loginBody.getIdCard());
AppUser appUser=appUserService.getYtjValidIdcard(idCard);
if(appUser==null){
return AjaxResult.error("未查询到您的注册信息,请先完成注册后再登录~");
AppUser userParm=new AppUser();
userParm.setIdCard(idCard);
userParm.setName(loginBody.getUsername());
userParm.setIsCompanyUser("1");
appUserService.insertAppUser(userParm);
appUser = appUserService.getYtjValidIdcard(idCard);
}
return getAjax(appUser);
}