From 9911eefd300c7f1a9bb1030b94d03d7562cf7858 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期二, 08 七月 2025 15:52:29 +0800
Subject: [PATCH] 商品发布
---
framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 54 insertions(+), 1 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 eac79b1..f0c599a 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;
@@ -81,6 +82,8 @@
*/
@Autowired
private RocketmqCustomProperties rocketmqCustomProperties;
+
+ static String DEFAULT_PASSWORD = "111111";
@Override
@Transactional(rollbackFor = Exception.class)
@@ -243,6 +246,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);
+ }
/**
* 绗笁鏂硅仈鍚堢櫥闄�
@@ -265,6 +313,11 @@
if (StrUtil.isNotBlank(authUser.getPhone())) {
member = memberService.findByMobile(authUser.getPhone());
}
+
+ if (StrUtil.isNotBlank(authUser.getUuid())) {
+ member = memberService.findByUUID(authUser.getUuid());
+ }
+
//濡傛灉鏈煡鍒版墜鏈哄彿鐨勪細鍛樺垯浣跨敤绗笁鏂圭櫥褰�
if (member == null) {
LambdaQueryWrapper<Connect> queryWrapper = new LambdaQueryWrapper<Connect>();
@@ -384,4 +437,4 @@
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0