admin
2020-12-03 55f808742eb4117dbb840955cb11bb9b9ae4f04c
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.ks.daylucky.service.impl.remote;
 
import com.beust.jcommander.ParameterException;
import com.ks.daylucky.exception.UserInfoException;
import com.ks.daylucky.mapper.UserInfoExtraMapper;
import com.ks.daylucky.mapper.UserInfoMapper;
import com.ks.daylucky.pojo.DO.UserInfo;
import com.ks.daylucky.pojo.DO.UserInfoExtra;
import com.ks.daylucky.query.UserInfoQuery;
import com.ks.daylucky.service.UserInfoExtraService;
import com.ks.daylucky.service.UserInfoService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.validation.annotation.Validated;
 
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
 
@Service(version = "1.0.0")
public class UserInfoServiceImpl implements UserInfoService {
 
    @Resource
    private UserInfoMapper userInfoMapper;
 
    @Resource
    private UserInfoExtraMapper userInfoExtraMapper;
 
    @Resource
    private UserInfoExtraService userInfoExtraService;
 
    @Override
    public UserInfo getUserInfo(Long appId, String identifyCode) {
        UserInfoQuery query = new UserInfoQuery();
        query.appId = appId;
        query.identifyCode = identifyCode;
        query.count = 1;
        List<UserInfo> list = userInfoMapper.list(query);
        if (list != null && list.size() > 0) {
            return list.get(0);
        }
        return null;
    }
 
    @Validated
    @Override
    public Long addUserInfo(@Valid UserInfo userInfo) throws ParameterException, UserInfoException {
        UserInfo old = getUserInfo(userInfo.getAppId(), userInfo.getIdentifyCode());
        if (old != null) {
            throw new UserInfoException(UserInfoException.CODE_EXIST, "用户已存在");
        }
 
        if (userInfo.getCreateTime() != null) {
            userInfo.setCreateTime(new Date());
        }
        userInfoMapper.insertSelective(userInfo);
 
        //初始化附加信息
        userInfoExtraService.init(userInfo.getId());
        return userInfo.getId();
    }
 
    @Override
    public List<UserInfo> getUserList(UserInfoQuery query, int page, int pageSize) {
        query.start = (page - 1) * pageSize;
        query.count = pageSize;
        return userInfoMapper.list(query);
    }
 
    @Override
    public long countUser(UserInfoQuery query) {
        return userInfoMapper.count(query);
    }
 
    @Override
    public UserInfo getUserDetail(Long appId, String identifyCode) {
        UserInfo userInfo = getUserInfo(appId, identifyCode);
        if (userInfo == null) {
            return null;
        }
 
        UserInfoExtra extra = userInfoExtraMapper.selectByPrimaryKey(userInfo.getId());
        userInfo.setUserInfoExtra(extra);
        return userInfo;
    }
 
    @Override
    public UserInfo getUserDetail(Long id) {
        UserInfo userInfo = userInfoMapper.selectByPrimaryKey(id);
        if (userInfo == null) {
            return null;
        }
        UserInfoExtra extra = userInfoExtraMapper.selectByPrimaryKey(userInfo.getId());
        userInfo.setUserInfoExtra(extra);
        return userInfo;
    }
 
    @Override
    public void updateUserInfo(UserInfo userInfo) {
        if (userInfo == null || userInfo.getId() == null) {
            return;
        }
        userInfo.setUpdateTime(new Date());
        userInfoMapper.updateByPrimaryKeySelective(userInfo);
    }
}