xiangpei
2025-05-09 641b4a3b1572f3a75ce0bd7d645e34252237cf9c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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());
        }
 
    }
}