package cn.lili.event.impl;
|
|
import cn.hutool.core.util.StrUtil;
|
import cn.lili.common.enums.ClientTypeEnum;
|
import cn.lili.event.MemberConnectLoginEvent;
|
import cn.lili.event.MemberLoginEvent;
|
import cn.lili.modules.connect.entity.dto.ConnectAuthUser;
|
import cn.lili.modules.connect.entity.enums.ConnectEnum;
|
import cn.lili.modules.connect.entity.enums.SourceEnum;
|
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;
|
|
/**
|
* 会员自身业务
|
* 会员登录,会员第三方登录
|
*
|
* @author Chopper
|
* @version v1.0
|
* 2022-01-11 11:08
|
*/
|
@Slf4j
|
@Service
|
public class MemberExecute implements MemberLoginEvent, MemberConnectLoginEvent {
|
@Autowired
|
private MemberService memberService;
|
@Autowired
|
private ConnectService connectService;
|
@Autowired
|
private SettingService settingService;
|
|
@Override
|
public void memberLogin(Member member) {
|
memberService.updateMemberLoginTime(member.getId());
|
}
|
|
@Override
|
public void memberConnectLogin(Member member, ConnectAuthUser authUser) {
|
//保存UnionID
|
if (StrUtil.isNotBlank(authUser.getToken().getUnionId())) {
|
connectService.loginBindUser(member.getId(), authUser.getToken().getUnionId(), authUser.getSource().name());
|
}
|
//保存OpenID
|
if (StrUtil.isNotBlank(authUser.getUuid())) {
|
SourceEnum sourceEnum = SourceEnum.getSourceEnum(authUser.getSource(), authUser.getType());
|
connectService.loginBindUser(member.getId(), authUser.getUuid(), sourceEnum.name());
|
}
|
//保存手机号,判断用户是否存手机号,如果不存在则保存手机号
|
if (StrUtil.isNotBlank(authUser.getPhone())&&StrUtil.isBlank(member.getMobile())) {
|
memberService.changeMobile(member.getId(),member.getMobile());
|
}
|
|
}
|
}
|