cl
2024-01-22 8de0bed14d364e3d3adae6b6e2260b838d180c23
提交 | 用户 | 时间
71e81e 1 package cn.stylefeng.guns.oauth2.factory;
2
3 import cn.stylefeng.guns.base.consts.ConstantsContext;
4 import cn.stylefeng.guns.sys.core.constant.state.ManagerStatus;
5 import cn.stylefeng.guns.sys.core.util.SaltUtil;
6 import cn.stylefeng.guns.sys.modular.system.entity.User;
7 import cn.stylefeng.guns.base.oauth2.entity.OauthUserInfo;
8 import cn.stylefeng.roses.core.util.ToolUtil;
9 import me.zhyd.oauth.enums.AuthUserGender;
10 import me.zhyd.oauth.model.AuthUser;
11
12 import java.util.Date;
13
14 /**
15  * oauth绑定记录
16  *
17  * @author fengshuonan
18  * @Date 2019/6/9 19:02
19  */
20 public class OAuthUserInfoFactory {
21
22     /**
23      * 创建oauth绑定
24      *
25      * @author fengshuonan
26      * @Date 2019/6/9 19:03
27      */
28     public static OauthUserInfo createOAuthUserInfo(Long userId, AuthUser oauthUser) {
29         OauthUserInfo oauthUserInfo = new OauthUserInfo();
30
31         ToolUtil.copyProperties(oauthUser, oauthUserInfo);
32
33         //设置openId和第三方源
34         oauthUserInfo.setUuid(oauthUser.getUuid());
35         oauthUserInfo.setSource(oauthUser.getSource().name());
36
37         //设置本系统地用户id
38         oauthUserInfo.setUserId(userId);
39
40         return oauthUserInfo;
41     }
42
43     /**
44      * 创建第三方应用在本应用的用户
45      *
46      * @author fengshuonan
47      * @Date 2019/6/9 19:11
48      */
49     public static User createOAuthUser(AuthUser authUser) {
50
51         User systemUser = new User();
52
53         //设置密码,利用token
54         String salt = SaltUtil.getRandomSalt();
55         String password = SaltUtil.md5Encrypt(String.valueOf(authUser.getToken()), salt);
56         systemUser.setPassword(password);
57         systemUser.setSalt(salt);
58
59         //利用openId设置账号
60         systemUser.setAccount(ConstantsContext.getOAuth2UserPrefix() + "_" + authUser.getSource().name() + "_" + authUser.getUsername());
61         systemUser.setName(authUser.getNickname());
62         systemUser.setBirthday(new Date());
63         systemUser.setSex(AuthUserGender.MALE.equals(authUser.getGender()) ? "M" : "F");
64         systemUser.setEmail("未设置");
65         systemUser.setPhone("未设置");
66
67         //固定第三方应用的角色和部门
68         systemUser.setRoleId("5");
69         systemUser.setDeptId(25L);
70
71         systemUser.setStatus(ManagerStatus.OK.getCode());
72         systemUser.setCreateTime(new Date());
73         systemUser.setCreateUser(1L);
74         systemUser.setUpdateTime(new Date());
75         systemUser.setUpdateUser(1L);
76         systemUser.setVersion(0);
77
78         return systemUser;
79     }
80
81 }