修改微信授权逻辑
This commit is contained in:
@@ -244,6 +244,7 @@ public class SysLoginService
|
||||
* @return
|
||||
*/
|
||||
public AjaxResult appLogin(LoginBody dto){
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
System.out.println("小程序微信授权登录---------参数列表========dto========"+ JSON.toJSONString(dto));
|
||||
JSONObject sessionInfo = wechatUtil.code2Session(dto.getCode());
|
||||
String openid = sessionInfo.getString("openid");
|
||||
@@ -252,30 +253,37 @@ public class SysLoginService
|
||||
if (openid == null) {
|
||||
return AjaxResult.error("微信授权失败");
|
||||
}
|
||||
//验证是否登录过
|
||||
AppUser existingUser=appUserService.selectByOpenid(openid);
|
||||
if(existingUser!=null){
|
||||
String token = loginUserIdApp(existingUser);
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}else {
|
||||
JSONObject phoneInfo = wechatUtil.decryptPhoneNumber(dto.getEncryptedData(), sessionKey, dto.getIv());
|
||||
String phone = phoneInfo.getString("phoneNumber");
|
||||
if (phone == null) {
|
||||
return AjaxResult.error("获取手机号失败");
|
||||
}
|
||||
|
||||
JSONObject phoneInfo = wechatUtil.decryptPhoneNumber(dto.getEncryptedData(), sessionKey, dto.getIv());
|
||||
String phone = phoneInfo.getString("phoneNumber");
|
||||
if (phone == null) {
|
||||
return AjaxResult.error("获取手机号失败");
|
||||
// 3. 检查手机号是否已被绑定
|
||||
AppUser existUser = appUserService.getPhone(phone);
|
||||
if (existUser != null) {
|
||||
return AjaxResult.error("该手机号已注册");
|
||||
}
|
||||
|
||||
// 4. 创建用户并存储所有信息
|
||||
AppUser appUser = new AppUser();
|
||||
appUser.setOpenid(openid);
|
||||
appUser.setUnionid(unionid);
|
||||
appUser.setPhone(phone);
|
||||
appUser.setIsCompanyUser(dto.getUserType());//保存角色
|
||||
appUserService.insertAppUser(appUser);
|
||||
|
||||
// 5. 生成系统令牌
|
||||
String token = loginUserIdApp(appUser);
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
// 3. 检查手机号是否已被绑定
|
||||
AppUser existUser = appUserService.getPhone(phone);
|
||||
if (existUser != null) {
|
||||
return AjaxResult.error("该手机号已注册");
|
||||
}
|
||||
|
||||
// 4. 创建用户并存储所有信息
|
||||
AppUser appUser = new AppUser();
|
||||
appUser.setOpenid(openid);
|
||||
appUser.setUnionid(unionid);
|
||||
appUser.setPhone(phone);
|
||||
appUserService.insertAppUser(appUser);
|
||||
|
||||
// 5. 生成系统令牌
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
String token = loginUserIdApp(appUser);
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user