添加第三方登录,判断是否为当前用户信息
This commit is contained in:
parent
0261b7e9ab
commit
606f9d2ccf
@ -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());
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ public class ConnectServiceImpl extends ServiceImpl<ConnectMapper, Connect> 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<ConnectMapper, Connect> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user