From 5476f0366c2042d8b3858369fc0c149d57b2fb9f Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 24 七月 2025 17:47:27 +0800 Subject: [PATCH] 会员密码问题 --- framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java | 62 +++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 7 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..42dfb1d 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; @@ -82,10 +83,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 @@ -193,7 +196,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 +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); + } /** * 绗笁鏂硅仈鍚堢櫥闄� @@ -257,7 +305,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,14 +336,14 @@ 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); } } } @@ -389,4 +437,4 @@ } -} \ No newline at end of file +} -- Gitblit v1.8.0