|
@@ -1,5 +1,6 @@
|
|
|
package com.jzg.config;
|
|
package com.jzg.config;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alipay.api.AlipayApiException;
|
|
import com.alipay.api.AlipayApiException;
|
|
|
import com.alipay.api.AlipayClient;
|
|
import com.alipay.api.AlipayClient;
|
|
|
import com.alipay.api.AlipayConfig;
|
|
import com.alipay.api.AlipayConfig;
|
|
@@ -17,10 +18,7 @@ import com.jzg.entity.SysRolePerms;
|
|
|
import com.jzg.entity.SysUser;
|
|
import com.jzg.entity.SysUser;
|
|
|
import com.jzg.entity.vo.SysUserJzgVo;
|
|
import com.jzg.entity.vo.SysUserJzgVo;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
-import com.jzg.mapper.SysAreaMapper;
|
|
|
|
|
-import com.jzg.mapper.SysRoleDataScopeLinkMapper;
|
|
|
|
|
-import com.jzg.mapper.SysRoleDataScopeMapper;
|
|
|
|
|
-import com.jzg.mapper.SysUserJzgAppMapper;
|
|
|
|
|
|
|
+import com.jzg.mapper.*;
|
|
|
import com.jzg.service.SysSystemService;
|
|
import com.jzg.service.SysSystemService;
|
|
|
import com.jzg.service.SysUserRoleService;
|
|
import com.jzg.service.SysUserRoleService;
|
|
|
import com.jzg.service.SysUserService;
|
|
import com.jzg.service.SysUserService;
|
|
@@ -66,6 +64,8 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
|
|
|
|
|
private SysUserJzgAppMapper sysUserJzgAppMapper;
|
|
private SysUserJzgAppMapper sysUserJzgAppMapper;
|
|
|
|
|
|
|
|
|
|
+ private SysUserJzgInfoMapper sysUserJzgInfoMapper;
|
|
|
|
|
+
|
|
|
private Map<String, WxMpService> wxMpService;
|
|
private Map<String, WxMpService> wxMpService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -73,7 +73,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
|
|
|
|
|
public JzgAuthenticationProvider(UserDetailsService userDetailsService, SysUserService sysUserService, SysUserRoleService sysUserRoleService,
|
|
public JzgAuthenticationProvider(UserDetailsService userDetailsService, SysUserService sysUserService, SysUserRoleService sysUserRoleService,
|
|
|
RedissonClient redissonClient, SysRoleDataScopeMapper sysRoleDataScopeMapper, SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper,
|
|
RedissonClient redissonClient, SysRoleDataScopeMapper sysRoleDataScopeMapper, SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper,
|
|
|
- SysSystemService sysSystemService, SysUserJzgAppMapper sysUserJzgAppMapper,Map<String, WxMpService> wxMpService) {
|
|
|
|
|
|
|
+ SysSystemService sysSystemService, SysUserJzgAppMapper sysUserJzgAppMapper,Map<String, WxMpService> wxMpService, SysUserJzgInfoMapper sysUserJzgInfoMapper) {
|
|
|
this.userDetailsService = userDetailsService;
|
|
this.userDetailsService = userDetailsService;
|
|
|
this.sysUserService = sysUserService;
|
|
this.sysUserService = sysUserService;
|
|
|
this.sysUserRoleService = sysUserRoleService;
|
|
this.sysUserRoleService = sysUserRoleService;
|
|
@@ -83,6 +83,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
this.sysSystemService = sysSystemService;
|
|
this.sysSystemService = sysSystemService;
|
|
|
this.sysUserJzgAppMapper = sysUserJzgAppMapper;
|
|
this.sysUserJzgAppMapper = sysUserJzgAppMapper;
|
|
|
this.wxMpService = wxMpService;
|
|
this.wxMpService = wxMpService;
|
|
|
|
|
+ this.sysUserJzgInfoMapper = sysUserJzgInfoMapper;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -113,17 +114,25 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
throw new SystemException("验证码错误,请重新输入");
|
|
throw new SystemException("验证码错误,请重新输入");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- SysUser byId = new SysUser();
|
|
|
|
|
|
|
+ SysUser weblogUser = new SysUser();
|
|
|
String salt = null;
|
|
String salt = null;
|
|
|
if(StringUtils.isNotBlank(username)){
|
|
if(StringUtils.isNotBlank(username)){
|
|
|
- byId = sysUserService.getByUserName(username);
|
|
|
|
|
- if(Objects.isNull(byId)){
|
|
|
|
|
|
|
+ weblogUser = sysUserService.getByUserName(username);
|
|
|
|
|
+ if(Objects.isNull(weblogUser)){
|
|
|
throw new SystemException("用户名不存在");
|
|
throw new SystemException("用户名不存在");
|
|
|
}
|
|
}
|
|
|
- salt = byId.getSalt();
|
|
|
|
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoMapper.queryJzgInfoByUserId(weblogUser.getId());
|
|
|
|
|
+ if(sysUserJzgInfo == null){
|
|
|
|
|
+ log.info("登录异常:用户不存在。 userId=[{}]",weblogUser.getId());
|
|
|
|
|
+ throw new SystemException("业务员不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!sysUserJzgInfo.canLogin()) {
|
|
|
|
|
+ log.info("用户被禁用,不能登录。sysUserJzgInfo=[{}]", JSONUtil.toJsonStr(sysUserJzgInfo));
|
|
|
|
|
+ throw new SystemException("用户已被禁用,无法登录");
|
|
|
|
|
+ }
|
|
|
|
|
+ salt = weblogUser.getSalt();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
//检验短信验证码
|
|
//检验短信验证码
|
|
|
if(Objects.nonNull(code)){
|
|
if(Objects.nonNull(code)){
|
|
|
String systemSmsCode = redissonClient.getBucket(RedisKeyConstants.SMS_CODE + username).get().toString();
|
|
String systemSmsCode = redissonClient.getBucket(RedisKeyConstants.SMS_CODE + username).get().toString();
|
|
@@ -138,7 +147,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
//调试时候用 万能密码
|
|
//调试时候用 万能密码
|
|
|
if(!rawPassword.equals("Aa159357")) {
|
|
if(!rawPassword.equals("Aa159357")) {
|
|
|
// 对比密码
|
|
// 对比密码
|
|
|
- if (!encryptedPassword.equals(byId.getPassword())) {
|
|
|
|
|
|
|
+ if (!encryptedPassword.equals(weblogUser.getPassword())) {
|
|
|
throw new SystemException("用户名或密码错误");
|
|
throw new SystemException("用户名或密码错误");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -176,12 +185,12 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
}
|
|
}
|
|
|
if(StringUtils.isNotBlank(username)){ // 未绑定手机登录
|
|
if(StringUtils.isNotBlank(username)){ // 未绑定手机登录
|
|
|
SysUserJzgApp jzgUserApp = sysUserJzgAppMapper.selectOne(new LambdaQueryWrapper<SysUserJzgApp>()
|
|
SysUserJzgApp jzgUserApp = sysUserJzgAppMapper.selectOne(new LambdaQueryWrapper<SysUserJzgApp>()
|
|
|
- .eq(SysUserJzgApp::getUserId, byId.getId())
|
|
|
|
|
|
|
+ .eq(SysUserJzgApp::getUserId, weblogUser.getId())
|
|
|
.eq(SysUserJzgApp::getIsDelete,0));
|
|
.eq(SysUserJzgApp::getIsDelete,0));
|
|
|
// 如果用户存在,app信息为空,则创建app信息
|
|
// 如果用户存在,app信息为空,则创建app信息
|
|
|
if(Objects.isNull(jzgUserApp)){
|
|
if(Objects.isNull(jzgUserApp)){
|
|
|
jzgUserApp = new SysUserJzgApp();
|
|
jzgUserApp = new SysUserJzgApp();
|
|
|
- jzgUserApp.setUserId(byId.getId());
|
|
|
|
|
|
|
+ jzgUserApp.setUserId(weblogUser.getId());
|
|
|
jzgUserApp.setSystemCode("APP");
|
|
jzgUserApp.setSystemCode("APP");
|
|
|
if(type.equals(0)){
|
|
if(type.equals(0)){
|
|
|
jzgUserApp.setOpenId(openId);
|
|
jzgUserApp.setOpenId(openId);
|
|
@@ -211,8 +220,8 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
if(StringUtils.isNull(sysSystem)){
|
|
if(StringUtils.isNull(sysSystem)){
|
|
|
throw new SystemException("该租户已经禁用或者删除,请联系运营平台!");
|
|
throw new SystemException("该租户已经禁用或者删除,请联系运营平台!");
|
|
|
}
|
|
}
|
|
|
- byId = sysUserService.getById(userJzgApp.getUserId());
|
|
|
|
|
- if(Objects.isNull(byId)){
|
|
|
|
|
|
|
+ weblogUser = sysUserService.getById(userJzgApp.getUserId());
|
|
|
|
|
+ if(Objects.isNull(weblogUser)){
|
|
|
throw new SystemException("用户名不存在");
|
|
throw new SystemException("用户名不存在");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -225,12 +234,12 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
|
|
|
|
|
if(system.equals(SystemConstants.SYSTEM_JZG_APP.getCode())){
|
|
if(system.equals(SystemConstants.SYSTEM_JZG_APP.getCode())){
|
|
|
SysUserJzgApp jzgUserApp = sysUserJzgAppMapper.selectOne(new LambdaQueryWrapper<SysUserJzgApp>()
|
|
SysUserJzgApp jzgUserApp = sysUserJzgAppMapper.selectOne(new LambdaQueryWrapper<SysUserJzgApp>()
|
|
|
- .eq(SysUserJzgApp::getUserId, byId.getId())
|
|
|
|
|
|
|
+ .eq(SysUserJzgApp::getUserId, weblogUser.getId())
|
|
|
.eq(SysUserJzgApp::getIsDelete,0));
|
|
.eq(SysUserJzgApp::getIsDelete,0));
|
|
|
// 如果用户存在,app信息为空,则创建app信息
|
|
// 如果用户存在,app信息为空,则创建app信息
|
|
|
if(Objects.isNull(jzgUserApp)){
|
|
if(Objects.isNull(jzgUserApp)){
|
|
|
jzgUserApp = new SysUserJzgApp();
|
|
jzgUserApp = new SysUserJzgApp();
|
|
|
- jzgUserApp.setUserId(byId.getId());
|
|
|
|
|
|
|
+ jzgUserApp.setUserId(weblogUser.getId());
|
|
|
jzgUserApp.setSystemCode("APP");
|
|
jzgUserApp.setSystemCode("APP");
|
|
|
sysUserJzgAppMapper.insert(jzgUserApp);
|
|
sysUserJzgAppMapper.insert(jzgUserApp);
|
|
|
}
|
|
}
|
|
@@ -241,17 +250,17 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
jzgUserApp.setLastLoginTime(LocalDateTime.now());
|
|
jzgUserApp.setLastLoginTime(LocalDateTime.now());
|
|
|
sysUserJzgAppMapper.updateById(jzgUserApp);
|
|
sysUserJzgAppMapper.updateById(jzgUserApp);
|
|
|
}else if(!system.equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
|
|
}else if(!system.equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
|
|
|
- SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId(),system);
|
|
|
|
|
|
|
+ SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(weblogUser.getId(),system);
|
|
|
name = jzgUserInfo.getName();
|
|
name = jzgUserInfo.getName();
|
|
|
workNumber = jzgUserInfo.getWorkNumber();
|
|
workNumber = jzgUserInfo.getWorkNumber();
|
|
|
province = jzgUserInfo.getProvince();
|
|
province = jzgUserInfo.getProvince();
|
|
|
}else{
|
|
}else{
|
|
|
- name = byId.getUsername();
|
|
|
|
|
|
|
+ name = weblogUser.getUsername();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//获取用户角色权限标识
|
|
//获取用户角色权限标识
|
|
|
- List<SysRolePerms> userPerms = sysUserRoleService.getUserPerms(byId.getId(), system);
|
|
|
|
|
|
|
+ List<SysRolePerms> userPerms = sysUserRoleService.getUserPerms(weblogUser.getId(), system);
|
|
|
|
|
|
|
|
List<JzgGrantedAuthority> authorities = userPerms.stream()
|
|
List<JzgGrantedAuthority> authorities = userPerms.stream()
|
|
|
.map(perms -> new JzgGrantedAuthority(perms.getSysCode(),perms.getPermsId(),perms.getPerms()))
|
|
.map(perms -> new JzgGrantedAuthority(perms.getSysCode(),perms.getPermsId(),perms.getPerms()))
|
|
@@ -264,17 +273,17 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
SysUserJzgVo jzgUserInfo = new SysUserJzgVo();
|
|
SysUserJzgVo jzgUserInfo = new SysUserJzgVo();
|
|
|
//获取用户头像
|
|
//获取用户头像
|
|
|
if(SystemConstants.SYSTEM_JZG_APP.getCode().equals(system)){
|
|
if(SystemConstants.SYSTEM_JZG_APP.getCode().equals(system)){
|
|
|
- SysUser user = sysUserService.getById(byId.getId());
|
|
|
|
|
|
|
+ SysUser user = sysUserService.getById(weblogUser.getId());
|
|
|
if(!Objects.isNull(user.getHeadSculpture()) && !user.getHeadSculpture().isEmpty()) {
|
|
if(!Objects.isNull(user.getHeadSculpture()) && !user.getHeadSculpture().isEmpty()) {
|
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", user.getHeadSculpture()));
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", user.getHeadSculpture()));
|
|
|
}
|
|
}
|
|
|
}else if(SystemConstants.SYSTEM_PLATFORM.getCode().equals(system)){
|
|
}else if(SystemConstants.SYSTEM_PLATFORM.getCode().equals(system)){
|
|
|
- SysUser user = sysUserService.getById(byId.getId());
|
|
|
|
|
|
|
+ SysUser user = sysUserService.getById(weblogUser.getId());
|
|
|
if(!Objects.isNull(user.getHeadSculpture()) && !user.getHeadSculpture().isEmpty()) {
|
|
if(!Objects.isNull(user.getHeadSculpture()) && !user.getHeadSculpture().isEmpty()) {
|
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", user.getHeadSculpture()));
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", user.getHeadSculpture()));
|
|
|
}
|
|
}
|
|
|
}else{
|
|
}else{
|
|
|
- jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId(),system);
|
|
|
|
|
|
|
+ jzgUserInfo = sysUserService.getJzgUserInfo(weblogUser.getId(),system);
|
|
|
if(!Objects.isNull(jzgUserInfo.getHeadSculpture()) && !jzgUserInfo.getHeadSculpture().isEmpty()) {
|
|
if(!Objects.isNull(jzgUserInfo.getHeadSculpture()) && !jzgUserInfo.getHeadSculpture().isEmpty()) {
|
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", jzgUserInfo.getHeadSculpture()));
|
|
jzgUserInfo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", jzgUserInfo.getHeadSculpture()));
|
|
|
}
|
|
}
|
|
@@ -321,8 +330,8 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
detailMap.put("dataScope",sysRoleDataScopeVo);
|
|
detailMap.put("dataScope",sysRoleDataScopeVo);
|
|
|
detailMap.put("name",name);
|
|
detailMap.put("name",name);
|
|
|
detailMap.put("workNumber",workNumber);
|
|
detailMap.put("workNumber",workNumber);
|
|
|
- detailMap.put("id",byId.getId());
|
|
|
|
|
- detailMap.put("username",byId.getUsername());
|
|
|
|
|
|
|
+ detailMap.put("id",weblogUser.getId());
|
|
|
|
|
+ detailMap.put("username",weblogUser.getUsername());
|
|
|
detailMap.put("headSculpture",jzgUserInfo.getHeadSculpture());
|
|
detailMap.put("headSculpture",jzgUserInfo.getHeadSculpture());
|
|
|
detailMap.put("isFirst",isFirst);
|
|
detailMap.put("isFirst",isFirst);
|
|
|
if (Objects.nonNull(province) && !province.equals("")) {
|
|
if (Objects.nonNull(province) && !province.equals("")) {
|