From 606f9d2ccf1e8b08c27c48fbb0c03450e3d1dbd6 Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Fri, 10 Mar 2023 06:46:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E4=B8=BA=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/lili/event/impl/MemberExecute.java | 7 ++++++- .../modules/connect/serviceimpl/ConnectServiceImpl.java | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/consumer/src/main/java/cn/lili/event/impl/MemberExecute.java b/consumer/src/main/java/cn/lili/event/impl/MemberExecute.java index 1ec23a5b..27ce3bf7 100644 --- a/consumer/src/main/java/cn/lili/event/impl/MemberExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/MemberExecute.java @@ -11,6 +11,7 @@ import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.system.service.SettingService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +23,7 @@ import org.springframework.stereotype.Service; * @version v1.0 * 2022-01-11 11:08 */ +@Slf4j @Service public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent { @Autowired @@ -38,13 +40,16 @@ public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent @Override public void memberConnectLogin(Member member, ConnectAuthUser authUser) { - + log.info("unionid:"+authUser.getToken().getUnionId()); + log.info("openid:"+authUser.getUuid()); //保存UnionID if (StrUtil.isNotBlank(authUser.getToken().getUnionId())) { connectService.loginBindUser(member.getId(), authUser.getToken().getUnionId(), authUser.getSource()); } //保存OpenID if (StrUtil.isNotBlank(authUser.getUuid())) { + log.info("authUser.getSource():"+authUser.getSource()); + log.info("authUser.getType():"+authUser.getType()); SourceEnum sourceEnum = SourceEnum.getSourceEnum(ConnectEnum.valueOf(authUser.getSource()), ClientTypeEnum.valueOf(authUser.getType())); connectService.loginBindUser(member.getId(), authUser.getUuid(), sourceEnum.name()); } 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 e01b65c5..ed8ee89d 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 @@ -188,7 +188,7 @@ public class ConnectServiceImpl extends ServiceImpl impl connectAuthUser.setUsername("m" + phone); connectAuthUser.setPhone(phone); - AuthToken authToken=new AuthToken(); + AuthToken authToken = new AuthToken(); authToken.setUnionId(unionId); connectAuthUser.setToken(authToken); return this.unionLoginCallback(connectAuthUser, true); @@ -227,9 +227,14 @@ public class ConnectServiceImpl extends ServiceImpl impl Connect connect = this.queryConnect( ConnectQueryDTO.builder().unionId(unionId).unionType(type).build() ); + //如果未绑定则直接绑定 if (connect == null) { connect = new Connect(userId, unionId, type); this.save(connect); + //如果已绑定不是当前用户信息则删除绑定信息,重新绑定 + } else if (!connect.getUserId().equals(userId)) { + this.removeById(connect.getId()); + this.loginBindUser(userId, unionId, type); } }