package cn.stylefeng.guns.oauth2.factory;
|
|
import cn.stylefeng.guns.base.consts.ConstantsContext;
|
import cn.stylefeng.guns.sys.core.constant.state.ManagerStatus;
|
import cn.stylefeng.guns.sys.core.util.SaltUtil;
|
import cn.stylefeng.guns.sys.modular.system.entity.User;
|
import cn.stylefeng.guns.base.oauth2.entity.OauthUserInfo;
|
import cn.stylefeng.roses.core.util.ToolUtil;
|
import me.zhyd.oauth.enums.AuthUserGender;
|
import me.zhyd.oauth.model.AuthUser;
|
|
import java.util.Date;
|
|
/**
|
* oauth绑定记录
|
*
|
* @author fengshuonan
|
* @Date 2019/6/9 19:02
|
*/
|
public class OAuthUserInfoFactory {
|
|
/**
|
* 创建oauth绑定
|
*
|
* @author fengshuonan
|
* @Date 2019/6/9 19:03
|
*/
|
public static OauthUserInfo createOAuthUserInfo(Long userId, AuthUser oauthUser) {
|
OauthUserInfo oauthUserInfo = new OauthUserInfo();
|
|
ToolUtil.copyProperties(oauthUser, oauthUserInfo);
|
|
//设置openId和第三方源
|
oauthUserInfo.setUuid(oauthUser.getUuid());
|
oauthUserInfo.setSource(oauthUser.getSource().name());
|
|
//设置本系统地用户id
|
oauthUserInfo.setUserId(userId);
|
|
return oauthUserInfo;
|
}
|
|
/**
|
* 创建第三方应用在本应用的用户
|
*
|
* @author fengshuonan
|
* @Date 2019/6/9 19:11
|
*/
|
public static User createOAuthUser(AuthUser authUser) {
|
|
User systemUser = new User();
|
|
//设置密码,利用token
|
String salt = SaltUtil.getRandomSalt();
|
String password = SaltUtil.md5Encrypt(String.valueOf(authUser.getToken()), salt);
|
systemUser.setPassword(password);
|
systemUser.setSalt(salt);
|
|
//利用openId设置账号
|
systemUser.setAccount(ConstantsContext.getOAuth2UserPrefix() + "_" + authUser.getSource().name() + "_" + authUser.getUsername());
|
systemUser.setName(authUser.getNickname());
|
systemUser.setBirthday(new Date());
|
systemUser.setSex(AuthUserGender.MALE.equals(authUser.getGender()) ? "M" : "F");
|
systemUser.setEmail("未设置");
|
systemUser.setPhone("未设置");
|
|
//固定第三方应用的角色和部门
|
systemUser.setRoleId("5");
|
systemUser.setDeptId(25L);
|
|
systemUser.setStatus(ManagerStatus.OK.getCode());
|
systemUser.setCreateTime(new Date());
|
systemUser.setCreateUser(1L);
|
systemUser.setUpdateTime(new Date());
|
systemUser.setUpdateUser(1L);
|
systemUser.setVersion(0);
|
|
return systemUser;
|
}
|
|
}
|