微信小程序openid
This commit is contained in:
parent
ca3d8924a0
commit
960d7d4901
@ -51,6 +51,9 @@ public class AuthLoginReqVO {
|
||||
@Schema(description = "state", requiredMode = Schema.RequiredMode.REQUIRED, example = "9b2ffbc1-7425-4155-9894-9d5c08541d62")
|
||||
private String socialState;
|
||||
|
||||
@Schema(description = "openId", requiredMode = Schema.RequiredMode.REQUIRED, example = "o3bwX6Yw1bvbMAV-jUNjHrbrJu0I")
|
||||
private String openId;
|
||||
|
||||
/**
|
||||
* 开启验证码的 Group
|
||||
*/
|
||||
|
@ -31,4 +31,8 @@ public class AuthSocialLoginReqVO {
|
||||
@NotEmpty(message = "state 不能为空")
|
||||
private String state;
|
||||
|
||||
@Schema(description = "openId", requiredMode = Schema.RequiredMode.REQUIRED, example = "o3bwX6Yw1bvbMAV-jUNjHrbrJu0I")
|
||||
@NotEmpty(message = "openId 不能为空")
|
||||
private String openId;
|
||||
|
||||
}
|
||||
|
@ -93,4 +93,8 @@ public class AdminUserDO extends TenantBaseDO {
|
||||
*/
|
||||
private LocalDateTime loginDate;
|
||||
|
||||
/**
|
||||
* 微信小程序openId
|
||||
*/
|
||||
private String openId ;
|
||||
}
|
||||
|
@ -13,6 +13,8 @@ import java.util.List;
|
||||
@Mapper
|
||||
public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
|
||||
default AdminUserDO sgetByOpenId(String openId) { return selectOne(AdminUserDO::getOpenId, openId); }
|
||||
|
||||
default AdminUserDO selectByUsername(String username) {
|
||||
return selectOne(AdminUserDO::getUsername, username);
|
||||
}
|
||||
|
@ -109,6 +109,12 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
socialUserService.bindSocialUser(new SocialUserBindReqDTO(user.getId(), getUserType().getValue(),
|
||||
reqVO.getSocialType(), reqVO.getSocialCode(), reqVO.getSocialState()));
|
||||
}
|
||||
|
||||
if (reqVO.getOpenId() != null) {
|
||||
//绑定用户openId
|
||||
userService.updateUserOpenId(user.getId(),reqVO.getOpenId());
|
||||
}
|
||||
|
||||
// 创建 Token 令牌,记录登录日志
|
||||
return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME);
|
||||
}
|
||||
@ -258,9 +264,10 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
//获取微信小程序授权手机号
|
||||
WxMaPhoneNumberInfo wxMaPhoneNumberInfo = socialClientService.getWxMaPhoneNumberInfo(2,reqVO.getCode()) ;
|
||||
String phoneNumber = wxMaPhoneNumberInfo.getPhoneNumber() ; //授权手机号
|
||||
phoneNumber = "18611845857" ;
|
||||
String appId = wxMaPhoneNumberInfo.getWatermark().getAppid() ; //小程序的appId
|
||||
|
||||
final LoginLogTypeEnum logTypeEnum = LoginLogTypeEnum.LOGIN_USERNAME;
|
||||
final LoginLogTypeEnum logTypeEnum = LoginLogTypeEnum.LOGIN_MOBILE;
|
||||
|
||||
//因为账号就是保存用户的手机号, 所以userName就是手机号
|
||||
// 校验账号是否存在
|
||||
@ -275,6 +282,9 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
throw exception(AUTH_LOGIN_USER_DISABLED);
|
||||
}
|
||||
|
||||
//绑定用户openId
|
||||
userService.updateUserOpenId(user.getId(),reqVO.getOpenId());
|
||||
|
||||
/** 创建 Token 令牌,记录登录日志 */
|
||||
Long userId = user.getId() ;
|
||||
// 插入登陆日志
|
||||
|
@ -33,6 +33,12 @@ public interface AdminUserService {
|
||||
*/
|
||||
Long createUser(@Valid UserSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 绑定用户微信小程序openId
|
||||
* @param openId
|
||||
*/
|
||||
void updateUserOpenId(Long id, String openId);
|
||||
|
||||
/**
|
||||
* 修改用户
|
||||
*
|
||||
@ -111,6 +117,14 @@ public interface AdminUserService {
|
||||
*/
|
||||
AdminUserDO getUserByMobile(String mobile);
|
||||
|
||||
/**
|
||||
* 根据opneId获取用户
|
||||
*
|
||||
* @param openId 微信小程序用户唯一id
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
AdminUserDO getUserByOpenId(String openId) ;
|
||||
|
||||
/**
|
||||
* 获得用户分页列表
|
||||
*
|
||||
|
@ -77,6 +77,20 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
@Resource
|
||||
private FileApi fileApi;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateUserOpenId(Long id,String openId) {
|
||||
userMapper.updateById(new AdminUserDO().setId(id).setOpenId(openId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminUserDO getUserByOpenId(String openId) {
|
||||
if (openId == null) {
|
||||
return null ;
|
||||
}
|
||||
return userMapper.sgetByOpenId(openId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createUser(UserSaveReqVO createReqVO) {
|
||||
|
Loading…
Reference in New Issue
Block a user