|
@@ -3,6 +3,11 @@ package com.zjugis.module.system.service.social;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.xingyuv.jushauth.model.AuthCallback;
|
|
|
+import com.xingyuv.jushauth.model.AuthResponse;
|
|
|
+import com.xingyuv.jushauth.model.AuthUser;
|
|
|
+import com.xingyuv.jushauth.request.AuthRequest;
|
|
|
+import com.xingyuv.jushauth.utils.AuthStateUtils;
|
|
|
import com.zjugis.framework.common.util.http.HttpUtils;
|
|
|
import com.zjugis.framework.social.core.ZjugisAuthRequestFactory;
|
|
|
import com.zjugis.module.system.api.social.dto.SocialUserBindReqDTO;
|
|
@@ -13,11 +18,6 @@ import com.zjugis.module.system.dal.mysql.social.SocialUserBindMapper;
|
|
|
import com.zjugis.module.system.dal.mysql.social.SocialUserMapper;
|
|
|
import com.zjugis.module.system.dal.mysql.user.AdminUserMapper;
|
|
|
import com.zjugis.module.system.enums.social.SocialTypeEnum;
|
|
|
-import com.xingyuv.jushauth.model.AuthCallback;
|
|
|
-import com.xingyuv.jushauth.model.AuthResponse;
|
|
|
-import com.xingyuv.jushauth.model.AuthUser;
|
|
|
-import com.xingyuv.jushauth.request.AuthRequest;
|
|
|
-import com.xingyuv.jushauth.utils.AuthStateUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -30,7 +30,8 @@ import java.util.List;
|
|
|
import static com.zjugis.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static com.zjugis.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
import static com.zjugis.framework.common.util.json.JsonUtils.toJsonString;
|
|
|
-import static com.zjugis.module.system.enums.ErrorCodeConstants.*;
|
|
|
+import static com.zjugis.module.system.enums.ErrorCodeConstants.SOCIAL_USER_AUTH_FAILURE;
|
|
|
+import static com.zjugis.module.system.enums.ErrorCodeConstants.SOCIAL_USER_NOT_FOUND;
|
|
|
|
|
|
/**
|
|
|
* 社交用户 Service 实现类
|
|
@@ -150,13 +151,15 @@ public class SocialUserServiceImpl implements SocialUserService {
|
|
|
if (socialUserBind == null) {
|
|
|
String rawUserInfo = socialUser.getRawUserInfo();
|
|
|
String mobile = JSONObject.parseObject(rawUserInfo).get("mobile").toString();
|
|
|
- String avatarUrl = JSONObject.parseObject(rawUserInfo).get("avatarUrl").toString();
|
|
|
+ Object avatarUrl = JSONObject.parseObject(rawUserInfo).get("avatarUrl");
|
|
|
AdminUserDO user = adminUserMapper.selectByMobile(mobile);
|
|
|
bindSocialUser(new SocialUserBindReqDTO(user.getId(), userType,
|
|
|
type, code, state));
|
|
|
userId = user.getId();
|
|
|
- adminUserMapper.updateById(new AdminUserDO().setId(userId).setAvatar(avatarUrl));
|
|
|
- }else {
|
|
|
+ if(avatarUrl != null){
|
|
|
+ adminUserMapper.updateById(new AdminUserDO().setId(userId).setAvatar(avatarUrl.toString()));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
userId = socialUserBind.getUserId();
|
|
|
}
|
|
|
return userId;
|
|
@@ -165,8 +168,8 @@ public class SocialUserServiceImpl implements SocialUserService {
|
|
|
/**
|
|
|
* 请求社交平台,获得授权的用户
|
|
|
*
|
|
|
- * @param type 社交平台的类型
|
|
|
- * @param code 授权码
|
|
|
+ * @param type 社交平台的类型
|
|
|
+ * @param code 授权码
|
|
|
* @param state 授权 state
|
|
|
* @return 授权的用户
|
|
|
*/
|