1.添加手机号和身份证的安全性和保密性
2.添加对应的定时任务
This commit is contained in:
@@ -4,6 +4,7 @@ import com.ruoyi.cms.service.CompanyContactService;
|
||||
import com.ruoyi.cms.service.IAppUserService;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.cms.util.StringUtil;
|
||||
import com.ruoyi.cms.util.encrypt.QuickValidUtils;
|
||||
import com.ruoyi.cms.util.oauth.OauthClient;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
@@ -26,6 +27,7 @@ import com.ruoyi.framework.manager.AsyncManager;
|
||||
import com.ruoyi.framework.manager.factory.AsyncFactory;
|
||||
import com.ruoyi.framework.security.context.AuthenticationContextHolder;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
@@ -102,15 +104,17 @@ public class OauthLoginHlwService {
|
||||
*/
|
||||
private String getOrCreateLocalUser(WwTyInfo wwTyInfo) {
|
||||
String idCard="";
|
||||
String cacheKey;
|
||||
switch (wwTyInfo.getUsertype()){
|
||||
case "1"://个人
|
||||
idCard=wwTyInfo.getIdno();
|
||||
cacheKey=REDIS_KEY_PORTAL_USER_MAPPING+QuickValidUtils.getSm4Encrypt(idCard);
|
||||
break;
|
||||
default:
|
||||
idCard=wwTyInfo.getEnterprisecode();
|
||||
cacheKey=REDIS_KEY_PORTAL_USER_MAPPING+idCard;
|
||||
}
|
||||
// 先从Redis查询缓存的本地用户名
|
||||
String cacheKey = REDIS_KEY_PORTAL_USER_MAPPING + idCard;
|
||||
String localUsername = redisCache.getCacheObject(cacheKey);
|
||||
if (StringUtils.isNotBlank(localUsername)) {
|
||||
if ("hlw_".equals(localUsername)) {
|
||||
@@ -121,7 +125,7 @@ public class OauthLoginHlwService {
|
||||
return localUsername;
|
||||
}
|
||||
|
||||
SysUser localUser=sysUserService.selectUserByIdCard(wwTyInfo.getIdno());
|
||||
SysUser localUser=sysUserService.selectUserByIdCard(idCard);
|
||||
if (localUser == null) {
|
||||
// 本地无用户,自动创建
|
||||
localUser = createLocalUser(wwTyInfo);
|
||||
@@ -149,44 +153,51 @@ public class OauthLoginHlwService {
|
||||
/**
|
||||
* 自动创建本地用户
|
||||
*/
|
||||
private SysUser createLocalUser(WwTyInfo wwTyInfo) {
|
||||
public SysUser createLocalUser(WwTyInfo wwTyInfo) {
|
||||
//移动端用户
|
||||
AppUser appUserParm=new AppUser();
|
||||
appUserParm.setIsRecommend(1);
|
||||
//pc端
|
||||
SysUser newUser = new SysUser();
|
||||
String localUsername=StringUtil.USER_KEY+wwTyInfo.getIdno();
|
||||
String localUsername;
|
||||
switch (wwTyInfo.getUsertype()) {
|
||||
case "1"://个人
|
||||
newUser.setNickName(wwTyInfo.getName());
|
||||
newUser.setIdCard(wwTyInfo.getIdno());
|
||||
newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QZZ)});
|
||||
newUser.setPhonenumber(wwTyInfo.getPhone());
|
||||
localUsername=StringUtil.USER_KEY+ QuickValidUtils.getSm4Encrypt(wwTyInfo.getIdno());
|
||||
//移动端
|
||||
appUserParm.setPhone(wwTyInfo.getPhone());
|
||||
appUserParm.setIdCard(wwTyInfo.getIdno());
|
||||
appUserParm.setName(wwTyInfo.getName());
|
||||
appUserParm.setIsCompanyUser(StringUtil.IS_JOB_REQUEST_USER);
|
||||
break;
|
||||
default://单位
|
||||
newUser.setNickName(wwTyInfo.getEnterprisename());
|
||||
newUser.setIdCard(wwTyInfo.getEnterprisecode());
|
||||
newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QY)});
|
||||
String phone = StringUtils.isNotBlank(wwTyInfo.getPhone()) ? wwTyInfo.getPhone() : wwTyInfo.getContactphone();
|
||||
newUser.setPhonenumber(phone);
|
||||
localUsername=StringUtil.USER_KEY+wwTyInfo.getEnterprisecode();
|
||||
//修改企业和企业联系人
|
||||
updateCompanyContact(wwTyInfo);
|
||||
|
||||
//移动端
|
||||
appUserParm.setPhone(wwTyInfo.getPhone());
|
||||
appUserParm.setPhone(phone);
|
||||
appUserParm.setIdCard(wwTyInfo.getEnterprisecode());
|
||||
appUserParm.setName(wwTyInfo.getEnterprisename());
|
||||
appUserParm.setIsCompanyUser(StringUtil.IS_COMPANY_USER);
|
||||
}
|
||||
//插入app_user
|
||||
Long appUserId=null;
|
||||
AppUser appUser=appUserService.selectAppuserByIdcard(wwTyInfo.getIdno());
|
||||
AppUser appUser=appUserService.selectAppuserByIdcard(wwTyInfo.getIdno(),wwTyInfo.getUsertype());
|
||||
if(appUser!=null){
|
||||
appUserParm.setUserId(appUser.getUserId());
|
||||
appUserService.updateAppUser(appUserParm);
|
||||
appUserId=appUser.getUserId();
|
||||
}else{
|
||||
int i=appUserService.insertAppUser(appUserParm);
|
||||
appUserService.insertAppUser(appUserParm);
|
||||
appUserId=appUserParm.getUserId();
|
||||
}
|
||||
//查询系统用户
|
||||
@@ -251,6 +262,7 @@ public class OauthLoginHlwService {
|
||||
* @param wwTokenResult
|
||||
* @return
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String getWwTjmHlwToken(WwTokenResult wwTokenResult){
|
||||
try {
|
||||
//获取门户userInfo
|
||||
@@ -274,12 +286,13 @@ public class OauthLoginHlwService {
|
||||
* 修改个人信息
|
||||
* @param wwTyInfo
|
||||
*/
|
||||
private void updateUserInfo(WwTyInfo wwTyInfo){
|
||||
public void updateUserInfo(WwTyInfo wwTyInfo){
|
||||
//移动端用户
|
||||
AppUser appUserParm=new AppUser();
|
||||
appUserParm.setIsRecommend(1);
|
||||
//pc端
|
||||
String code="";
|
||||
String localUsername;
|
||||
SysUser sysUser=new SysUser();
|
||||
switch (wwTyInfo.getUsertype()){
|
||||
case "1":
|
||||
@@ -292,6 +305,7 @@ public class OauthLoginHlwService {
|
||||
appUserParm.setName(wwTyInfo.getName());
|
||||
appUserParm.setIsCompanyUser(StringUtil.IS_JOB_REQUEST_USER);
|
||||
code=wwTyInfo.getIdno();
|
||||
localUsername=StringUtil.USER_KEY+QuickValidUtils.getSm4Encrypt(code);
|
||||
break;
|
||||
default:
|
||||
sysUser.setNickName(wwTyInfo.getEnterprisename());
|
||||
@@ -306,13 +320,14 @@ public class OauthLoginHlwService {
|
||||
appUserParm.setName(wwTyInfo.getEnterprisename());
|
||||
appUserParm.setIsCompanyUser(StringUtil.IS_COMPANY_USER);
|
||||
code=wwTyInfo.getEnterprisecode();
|
||||
localUsername=StringUtil.USER_KEY+code;
|
||||
}
|
||||
String localUsername=StringUtil.USER_KEY+code;
|
||||
//查询用户角色
|
||||
sysUser.setUserName(localUsername);
|
||||
//查询用户id
|
||||
SysUser parmUser=sysUserService.selectUserByIdCard(code);
|
||||
sysUser.setUserId(parmUser.getUserId());
|
||||
sysUser.setPhonenumber(wwTyInfo.getPhone());
|
||||
sysUserService.updateUser(sysUser);
|
||||
//插入app_user
|
||||
AppUser appUser=appUserService.selectAppuserByIdcard(code);
|
||||
@@ -328,7 +343,7 @@ public class OauthLoginHlwService {
|
||||
* 修改联系人信息
|
||||
* @param wwTyInfo
|
||||
*/
|
||||
public void updateCompanyContact(WwTyInfo wwTyInfo) {
|
||||
private void updateCompanyContact(WwTyInfo wwTyInfo) {
|
||||
if (wwTyInfo == null) {
|
||||
throw new IllegalArgumentException("参数WwTyInfo不能为空");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user