修改互联网端用户信息和用户权限
This commit is contained in:
@@ -24,6 +24,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 io.jsonwebtoken.lang.Collections;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.Authentication;
|
||||
@@ -32,6 +33,7 @@ import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service
|
||||
@@ -109,13 +111,14 @@ public class OauthLoginHlwService {
|
||||
String cacheKey = REDIS_KEY_PORTAL_USER_MAPPING + idCard;
|
||||
String localUsername = redisCache.getCacheObject(cacheKey);
|
||||
if (StringUtils.isNotBlank(localUsername)) {
|
||||
updateUserInfo(localUsername,wwTyInfo);
|
||||
return localUsername;
|
||||
}
|
||||
|
||||
SysUser localUser=sysUserService.selectUserByIdCard(wwTyInfo.getIdno());
|
||||
if (localUser == null) {
|
||||
// 本地无用户,自动创建
|
||||
localUser = createLocalUser(wwTyInfo);
|
||||
localUser = createLocalUser(cacheKey,wwTyInfo);
|
||||
// 缓存门户UserID与本地用户名的映射(有效期1天,可调整)
|
||||
redisCache.setCacheObject(cacheKey, localUser.getUserName(), 1, TimeUnit.DAYS);
|
||||
return localUser.getUserName();
|
||||
@@ -140,20 +143,20 @@ public class OauthLoginHlwService {
|
||||
/**
|
||||
* 自动创建本地用户
|
||||
*/
|
||||
private SysUser createLocalUser(WwTyInfo wwTyInfo) {
|
||||
private SysUser createLocalUser(String localUsername,WwTyInfo wwTyInfo) {
|
||||
SysUser newUser = new SysUser();
|
||||
switch (wwTyInfo.getUsertype()) {
|
||||
case "1"://个人
|
||||
newUser.setNickName(wwTyInfo.getName());
|
||||
newUser.setIdCard(wwTyInfo.getIdno());
|
||||
newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QZZ)});
|
||||
newUser.setUserName(wwTyInfo.getName());
|
||||
newUser.setUserName(localUsername);
|
||||
break;
|
||||
default://单位
|
||||
newUser.setNickName(wwTyInfo.getEnterprisename());
|
||||
newUser.setIdCard(wwTyInfo.getEnterprisecode());
|
||||
newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QY)});
|
||||
newUser.setUserName(wwTyInfo.getEnterprisename());
|
||||
newUser.setUserName(localUsername);
|
||||
//企业联系人->现根据社会信用代码查询企业信息
|
||||
Company company=companyService.queryCodeCompany(wwTyInfo.getEnterprisecode());
|
||||
if(company!=null){
|
||||
@@ -241,4 +244,54 @@ public class OauthLoginHlwService {
|
||||
throw new ServiceException("OAuth 登录失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改个人信息
|
||||
* @param localUsername
|
||||
* @param wwTyInfo
|
||||
*/
|
||||
private void updateUserInfo(String localUsername,WwTyInfo wwTyInfo){
|
||||
SysUser sysUser=new SysUser();
|
||||
switch (wwTyInfo.getUsertype()){
|
||||
case "1":
|
||||
sysUser.setNickName(wwTyInfo.getName());
|
||||
sysUser.setIdCard(wwTyInfo.getIdno());
|
||||
sysUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QZZ)});
|
||||
break;
|
||||
default:
|
||||
sysUser.setNickName(wwTyInfo.getEnterprisename());
|
||||
sysUser.setIdCard(wwTyInfo.getEnterprisecode());
|
||||
sysUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QY)});
|
||||
//企业联系人->现根据社会信用代码查询企业信息
|
||||
updateCompanyContact(wwTyInfo);
|
||||
}
|
||||
//查询用户角色
|
||||
sysUser.setUserName(localUsername);
|
||||
//查询用户id
|
||||
SysUser parmUser=sysUserService.selectUserByUserName(localUsername);
|
||||
sysUser.setUserId(parmUser.getUserId());
|
||||
sysUserService.updateUser(sysUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改联系人信息
|
||||
* @param wwTyInfo
|
||||
*/
|
||||
public void updateCompanyContact(WwTyInfo wwTyInfo){
|
||||
Company company=companyService.queryCodeCompany(wwTyInfo.getEnterprisecode());
|
||||
if(company!=null){
|
||||
CompanyContact parm=new CompanyContact();
|
||||
parm.setContactPerson(wwTyInfo.getContactperson());
|
||||
parm.setContactPersonPhone(wwTyInfo.getContactphone());
|
||||
parm.setCompanyId(company.getCompanyId());
|
||||
List<CompanyContact> companyContacts=companyContactService.getSelectList(parm);
|
||||
if(Collections.isEmpty(companyContacts)){
|
||||
CompanyContact companyContact=new CompanyContact();
|
||||
companyContact.setContactPerson(wwTyInfo.getContactperson());
|
||||
companyContact.setContactPersonPhone(wwTyInfo.getContactphone());
|
||||
companyContact.setCompanyId(company.getCompanyId());
|
||||
companyContactService.insertContact(companyContact);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user