添加第三方登录,判断是否为当前用户信息
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.entity.dos.Member;
|
||||||
import cn.lili.modules.member.service.MemberService;
|
import cn.lili.modules.member.service.MemberService;
|
||||||
import cn.lili.modules.system.service.SettingService;
|
import cn.lili.modules.system.service.SettingService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|||||||
* @version v1.0
|
* @version v1.0
|
||||||
* 2022-01-11 11:08
|
* 2022-01-11 11:08
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent {
|
public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent {
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -38,13 +40,16 @@ public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void memberConnectLogin(Member member, ConnectAuthUser authUser) {
|
public void memberConnectLogin(Member member, ConnectAuthUser authUser) {
|
||||||
|
log.info("unionid:"+authUser.getToken().getUnionId());
|
||||||
|
log.info("openid:"+authUser.getUuid());
|
||||||
//保存UnionID
|
//保存UnionID
|
||||||
if (StrUtil.isNotBlank(authUser.getToken().getUnionId())) {
|
if (StrUtil.isNotBlank(authUser.getToken().getUnionId())) {
|
||||||
connectService.loginBindUser(member.getId(), authUser.getToken().getUnionId(), authUser.getSource());
|
connectService.loginBindUser(member.getId(), authUser.getToken().getUnionId(), authUser.getSource());
|
||||||
}
|
}
|
||||||
//保存OpenID
|
//保存OpenID
|
||||||
if (StrUtil.isNotBlank(authUser.getUuid())) {
|
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()));
|
SourceEnum sourceEnum = SourceEnum.getSourceEnum(ConnectEnum.valueOf(authUser.getSource()), ClientTypeEnum.valueOf(authUser.getType()));
|
||||||
connectService.loginBindUser(member.getId(), authUser.getUuid(), sourceEnum.name());
|
connectService.loginBindUser(member.getId(), authUser.getUuid(), sourceEnum.name());
|
||||||
}
|
}
|
||||||
|
@ -227,9 +227,14 @@ public class ConnectServiceImpl extends ServiceImpl<ConnectMapper, Connect> impl
|
|||||||
Connect connect = this.queryConnect(
|
Connect connect = this.queryConnect(
|
||||||
ConnectQueryDTO.builder().unionId(unionId).unionType(type).build()
|
ConnectQueryDTO.builder().unionId(unionId).unionType(type).build()
|
||||||
);
|
);
|
||||||
|
//如果未绑定则直接绑定
|
||||||
if (connect == null) {
|
if (connect == null) {
|
||||||
connect = new Connect(userId, unionId, type);
|
connect = new Connect(userId, unionId, type);
|
||||||
this.save(connect);
|
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