diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppUserMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppUserMapper.java index dbe438f..e404458 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppUserMapper.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/AppUserMapper.java @@ -32,4 +32,6 @@ public interface AppUserMapper extends BaseMapper int insertSysUser(SysUser sysUser); MyChart getMyTj(Long userId); + + SysUser selectSysUserIdcard(String idCard); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java index f5d4018..04da9a4 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java @@ -240,20 +240,23 @@ public class AppUserServiceImpl extends ServiceImpl imple mapUserRole.put("roleId",StringUtil.SYS_QZZ); } //保存sys_user - SysUser sysUser=new SysUser(); - sysUser.setUserName(appUser.getPhone()); - sysUser.setNickName(StringUtils.isEmpty(appUser.getName())?appUser.getPhone():appUser.getName()); - sysUser.setPassword(SiteSecurityUtils.encryptPassword("123456")); - sysUser.setPhonenumber(appUser.getPhone()); - sysUser.setSex(appUser.getSex()); - sysUser.setStatus("0"); - sysUser.setLoginIp(appUser.getLoginIp()); - sysUser.setLoginDate(appUser.getLoginDate()); - sysUser.setIdCard(appUser.getIdCard()); - appUserMapper.insertSysUser(sysUser); - //保存sys_user_role - mapUserRole.put("userId",sysUser.getUserId()); - appUserMapper.insertSysUserRole(mapUserRole); + SysUser parmUser=appUserMapper.selectSysUserIdcard(appUser.getIdCard()); + if(parmUser==null){ + SysUser sysUser=new SysUser(); + sysUser.setUserName(StringUtil.USER_KEY+appUser.getIdCard()); + sysUser.setNickName(StringUtils.isEmpty(appUser.getName())?appUser.getPhone():appUser.getName()); + sysUser.setPassword(SiteSecurityUtils.encryptPassword("123456")); + sysUser.setPhonenumber(appUser.getPhone()); + sysUser.setSex(appUser.getSex()); + sysUser.setStatus("0"); + sysUser.setLoginIp(appUser.getLoginIp()); + sysUser.setLoginDate(appUser.getLoginDate()); + sysUser.setIdCard(appUser.getIdCard()); + appUserMapper.insertSysUser(sysUser); + //保存sys_user_role + mapUserRole.put("userId",sysUser.getUserId()); + appUserMapper.insertSysUserRole(mapUserRole); + } //一体机密码 if(StringUtils.isNotEmpty(appUser.getYtjPassword())){ appUser.setYtjPassword(SiteSecurityUtils.encryptPassword(appUser.getYtjPassword())); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java index 16d990a..31aad2f 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java @@ -25,6 +25,11 @@ public class StringUtil { */ public static final String SYS_QY = "1102"; + /** + * 互联网用户头 + */ + public static final String USER_KEY="hlw_"; + public static Boolean isEmptyOrNull(String s){ if(Objects.isNull(s)){return true;} return s.isEmpty(); diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml index a6a5ef0..1c0d6d0 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/AppUserMapper.xml @@ -115,4 +115,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" CROSS JOIN (SELECT COUNT(user_id) AS ytd FROM job_apply WHERE user_id = #{userId} AND del_flag = '0') t3 + + \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java index b646575..d036b2e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java @@ -59,7 +59,6 @@ public class OauthLoginHlwService { private static final String REDIS_KEY_PORTAL_USER_MAPPING = "hlw:user:mapping:"; // 门户 Token 存储前缀(Redis 键:门户 userId → 门户 Token 信息) private static final String REDIS_KEY_PORTAL_TOKEN = "hlw:token:"; - private static final String USER_KEY="hlw_"; final private int expireTime=30; protected static final long MILLIS_SECOND = 1000; @@ -111,14 +110,14 @@ public class OauthLoginHlwService { String cacheKey = REDIS_KEY_PORTAL_USER_MAPPING + idCard; String localUsername = redisCache.getCacheObject(cacheKey); if (StringUtils.isNotBlank(localUsername)) { - updateUserInfo(localUsername,wwTyInfo); + updateUserInfo(wwTyInfo); return localUsername; } SysUser localUser=sysUserService.selectUserByIdCard(wwTyInfo.getIdno()); if (localUser == null) { // 本地无用户,自动创建 - localUser = createLocalUser(cacheKey,wwTyInfo); + localUser = createLocalUser(wwTyInfo); // 缓存门户UserID与本地用户名的映射(有效期1天,可调整) redisCache.setCacheObject(cacheKey, localUser.getUserName(), 1, TimeUnit.DAYS); return localUser.getUserName(); @@ -143,20 +142,19 @@ public class OauthLoginHlwService { /** * 自动创建本地用户 */ - private SysUser createLocalUser(String localUsername,WwTyInfo wwTyInfo) { + private SysUser createLocalUser(WwTyInfo wwTyInfo) { SysUser newUser = new SysUser(); + String localUsername=StringUtil.USER_KEY+wwTyInfo.getIdno(); switch (wwTyInfo.getUsertype()) { case "1"://个人 newUser.setNickName(wwTyInfo.getName()); newUser.setIdCard(wwTyInfo.getIdno()); newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QZZ)}); - newUser.setUserName(localUsername); break; default://单位 newUser.setNickName(wwTyInfo.getEnterprisename()); newUser.setIdCard(wwTyInfo.getEnterprisecode()); newUser.setRoleIds(new Long[]{parseStringToLoing(StringUtil.SYS_QY)}); - newUser.setUserName(localUsername); //企业联系人->现根据社会信用代码查询企业信息 Company company=companyService.queryCodeCompany(wwTyInfo.getEnterprisecode()); if(company!=null){ @@ -169,6 +167,7 @@ public class OauthLoginHlwService { } newUser.setPassword(SecurityUtils.encryptPassword("123456")); newUser.setDelFlag("0"); + newUser.setUserName(localUsername); sysUserService.insertUser(newUser); return newUser; } @@ -247,10 +246,10 @@ public class OauthLoginHlwService { /** * 修改个人信息 - * @param localUsername * @param wwTyInfo */ - private void updateUserInfo(String localUsername,WwTyInfo wwTyInfo){ + private void updateUserInfo(WwTyInfo wwTyInfo){ + String localUsername=StringUtil.USER_KEY+wwTyInfo.getIdno(); SysUser sysUser=new SysUser(); switch (wwTyInfo.getUsertype()){ case "1":