From 711c855e134edc75faf03d96ec8b3dd0e269fb0a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 30 Nov 2023 11:22:08 +0800
Subject: [PATCH] 微信登录修改
---
src/main/java/org/springblade/modules/auth/granter/WxTokenGranter.java | 55 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 40 insertions(+), 15 deletions(-)
diff --git a/src/main/java/org/springblade/modules/auth/granter/WxTokenGranter.java b/src/main/java/org/springblade/modules/auth/granter/WxTokenGranter.java
index 3cfb20e..64b9aa4 100644
--- a/src/main/java/org/springblade/modules/auth/granter/WxTokenGranter.java
+++ b/src/main/java/org/springblade/modules/auth/granter/WxTokenGranter.java
@@ -18,6 +18,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthResponse;
@@ -30,14 +31,13 @@
import org.springblade.core.social.props.SocialProperties;
import org.springblade.core.social.utils.SocialUtil;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.auth.enums.UserEnum;
import org.springblade.modules.auth.provider.ITokenGranter;
import org.springblade.modules.auth.provider.TokenParameter;
import org.springblade.modules.auth.utils.TokenUtil;
-import org.springblade.modules.system.entity.Tenant;
-import org.springblade.modules.system.entity.UserInfo;
-import org.springblade.modules.system.entity.UserOauth;
+import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.service.ITenantService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Component;
@@ -45,10 +45,7 @@
import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
/**
* 微信小程序 TokenGranter
@@ -77,17 +74,14 @@
// 判断用户是否存在
UserInfo userInfo = userService.getUserByPhone(phone);
if (null==userInfo){
- throw new ServiceException("用户不存在!");
+ User user = new User();
+ user.setPhone(phone);
+ UserInfo userInfo1 = buildUserInfo(user, UserEnum.WEB);
+ return userInfo1;
}else {
- //判断是否为保安员
- //判断是否已报名
- boolean flag = userService.getUserIsApply(userInfo.getUser().getId());
- if (!flag){
- throw new ServiceException("没有报名不能进行刷题!");
- }
+ return userInfo;
}
// 返回UserInfo
- return userInfo;
}
/**
@@ -126,4 +120,35 @@
return accessToken;
}
+ private UserInfo buildUserInfo(User user, UserEnum userEnum) {
+ if (ObjectUtil.isEmpty(user)) {
+ return null;
+ }
+ UserInfo userInfo = new UserInfo();
+ userInfo.setUser(user);
+ // 根据每个用户平台,建立对应的detail表,通过查询将结果集写入到detail字段
+ Kv detail = Kv.create().set("type", userEnum.getName());
+ if (userEnum == UserEnum.WEB) {
+ UserWeb userWeb = new UserWeb();
+ UserWeb query = userWeb.selectOne(Wrappers.<UserWeb>lambdaQuery().eq(UserWeb::getUserId, user.getId()));
+ if (ObjectUtil.isNotEmpty(query)) {
+ detail.set("ext", query.getUserExt());
+ }
+ } else if (userEnum == UserEnum.APP) {
+ UserApp userApp = new UserApp();
+ UserApp query = userApp.selectOne(Wrappers.<UserApp>lambdaQuery().eq(UserApp::getUserId, user.getId()));
+ if (ObjectUtil.isNotEmpty(query)) {
+ detail.set("ext", query.getUserExt());
+ }
+ } else {
+ UserOther userOther = new UserOther();
+ UserOther query = userOther.selectOne(Wrappers.<UserOther>lambdaQuery().eq(UserOther::getUserId, user.getId()));
+ if (ObjectUtil.isNotEmpty(query)) {
+ detail.set("ext", query.getUserExt());
+ }
+ }
+ userInfo.setDetail(detail);
+ return userInfo;
+ }
+
}
--
Gitblit v1.9.3