From 9fe0aefb466a87815ef450cb4ef99405dad63b4e Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 17 十一月 2025 11:49:11 +0800
Subject: [PATCH] 中奖用户打* 解决首页视频显示不全问题
---
framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java | 72 ++++++++++++++++++++++++++++++++----
1 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
index 6758887..07587fc 100644
--- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
+import cn.lili.base.Result;
import cn.lili.cache.Cache;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.enums.ResultCode;
@@ -13,6 +14,7 @@
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.token.Token;
import cn.lili.common.utils.HttpUtils;
+import cn.lili.common.utils.StringUtils;
import cn.lili.common.utils.UuidUtils;
import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.dto.AuthToken;
@@ -82,10 +84,12 @@
@Autowired
private RocketmqCustomProperties rocketmqCustomProperties;
+ static String DEFAULT_PASSWORD = "111111";
+
@Override
@Transactional(rollbackFor = Exception.class)
- public Token unionLoginCallback(ConnectAuthUser authUser, String uuid) {
- return this.unionLoginCallback(authUser, false);
+ public Token unionLoginCallback(ConnectAuthUser authUser, String uuid,boolean encryptTwice) {
+ return this.unionLoginCallback(authUser, false,encryptTwice);
}
@Override
@@ -127,6 +131,7 @@
Map<String, String> map = new HashMap<>(3);
//寰楀埌寰俊灏忕▼搴忚仈鍚堢櫥闄嗕俊鎭�
JSONObject json = this.getConnect(params.getCode());
+ System.out.println(json);
//瀛樺偍session key 鍚庣画鐧诲綍鐢ㄥ緱鍒�
String sessionKey = json.getStr("session_key");
String unionId = json.getStr("unionid");
@@ -134,7 +139,7 @@
map.put("sessionKey", sessionKey);
map.put("unionId", unionId);
map.put("openId", openId);
-
+ System.out.println(sessionKey);
//寰俊鑱斿悎鐧婚檰鍙傛暟
return phoneMpBindAndLogin(map.get("sessionKey"), params, map.get("openId"), map.get("unionId"));
}
@@ -193,7 +198,7 @@
AuthToken authToken = new AuthToken();
authToken.setUnionId(unionId);
connectAuthUser.setToken(authToken);
- return this.unionLoginCallback(connectAuthUser, true);
+ return this.unionLoginCallback(connectAuthUser, true,true);
} catch (Exception e) {
e.printStackTrace();
}
@@ -243,6 +248,51 @@
}
}
+ @Override
+ public Result silentLogin(String code) {
+ JSONObject res = this.getConnect(code);
+ String unionId = res.getStr("unionid");
+ String openId = res.getStr("openid");
+ Member user = memberService.findByUUID(openId);
+ // 涓嶅瓨鍦ㄥ氨娉ㄥ唽
+ if (Objects.isNull(user)) {
+ user = new Member();
+ user.setUuId(openId);
+ user.setUsername(UuidUtils.getUUID());
+ user.setNickName("寰俊鐢ㄦ埛");
+ user.setPassword(DEFAULT_PASSWORD);
+ user.setFace("");
+ user.setDisabled(Boolean.TRUE);
+ memberService.registerHandler(user);
+ }
+
+ ConnectAuthUser connectAuthUser = new ConnectAuthUser();
+ connectAuthUser.setUuid(openId);
+ connectAuthUser.setNickname(user.getNickName());
+ connectAuthUser.setAvatar(user.getFace());
+
+
+ connectAuthUser.setUsername(UuidUtils.getUUID());
+
+ connectAuthUser.setSource(ConnectEnum.WECHAT);
+ connectAuthUser.setType(ClientTypeEnum.WECHAT_MP);
+
+ AuthToken authToken = new AuthToken();
+ authToken.setUnionId(unionId);
+ connectAuthUser.setToken(authToken);
+
+ //鍙戦�佺敤鎴风涓夋柟鐧诲綍娑堟伅
+ MemberConnectLoginMessage memberConnectLoginMessage = new MemberConnectLoginMessage();
+ memberConnectLoginMessage.setMember(user);
+ memberConnectLoginMessage.setConnectAuthUser(connectAuthUser);
+ String destination =
+ rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_CONNECT_LOGIN.name();
+ //鍙戦�佺敤鎴风涓夋柟鐧诲綍娑堟伅
+ rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(memberConnectLoginMessage),
+ RocketmqSendCallbackBuilder.commonCallback());
+ Token token = memberTokenGenerate.createToken(user, Boolean.TRUE);
+ return Result.ok().data(token);
+ }
/**
* 绗笁鏂硅仈鍚堢櫥闄�
@@ -257,7 +307,7 @@
* @return token
* @throws NoPermissionException 涓嶅厑璁告搷浣�
*/
- private Token unionLoginCallback(ConnectAuthUser authUser, boolean longTerm) {
+ private Token unionLoginCallback(ConnectAuthUser authUser, boolean longTerm,boolean encryptTwice) {
try {
Member member = null;
@@ -288,15 +338,21 @@
Connect connect = this.getOne(queryWrapper);
if (connect == null) {
- member = memberService.autoRegister(authUser);
+ member = memberService.autoRegister(authUser,encryptTwice);
} else {
//鏌ヨ浼氬憳
member = memberService.getById(connect.getUserId());
//濡傛灉鏈粦瀹氫細鍛橈紝鍒欐妸鍒氭墠鏌ヨ鍒扮殑鑱斿悎鐧诲綍琛ㄦ暟鎹垹闄�
if (member == null) {
this.remove(queryWrapper);
- member = memberService.autoRegister(authUser);
+
+ member = memberService.autoRegister(authUser,encryptTwice);
}
+ }
+ }else {
+ if (StringUtils.isBlank(member.getMobile())) {
+ member.setMobile(authUser.getPhone());
+ memberService.updateById(member);
}
}
@@ -389,4 +445,4 @@
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0