|
|
|
@ -19,6 +19,8 @@ import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.model.platform.AndonQueryUserResultModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysLogUserLoginRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserDepartmentRepository;
|
|
|
|
@ -157,11 +159,10 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
AuthUtil.setSessionUser(sessionUser);
|
|
|
|
|
AuthUtil.online(sessionUser);
|
|
|
|
|
resultBean = ResultBean.success().setResultObject(sessionUser);
|
|
|
|
|
}catch (ImppBusiException e) {
|
|
|
|
|
} catch (ImppBusiException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultBean = ResultBean.fail(e);
|
|
|
|
|
}
|
|
|
|
|
catch (CredentialsException e) {
|
|
|
|
|
} catch (CredentialsException e) {
|
|
|
|
|
// 用户名或密码错误
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultBean = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_NAME);
|
|
|
|
@ -173,7 +174,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
// 用户信息不存在
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultBean = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_INFO_NULL);
|
|
|
|
|
}catch (AuthenticationException e) {
|
|
|
|
|
} catch (AuthenticationException e) {
|
|
|
|
|
// 系统异常
|
|
|
|
|
resultBean = ResultBean.fail(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getDescription()).setCode(ImppExceptionEnum.LOGIN_EXCEPTION_USER_PASSWORD.getCode());
|
|
|
|
|
if (e.getCause() != null) {
|
|
|
|
@ -187,8 +188,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
resultBean.setErrorMsg(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
LOGGER.warn("Impp业务异常AuthenticationException 登录失败 ", e);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e) {
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultBean = ResultBean.fail(e);
|
|
|
|
|
if (e.getCause() != null) {
|
|
|
|
@ -198,7 +198,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
//如果登录成功,刷新登录成功次数和上次登录时间
|
|
|
|
|
try{
|
|
|
|
|
try {
|
|
|
|
|
if (resultBean.isSuccess()) {
|
|
|
|
|
this.refreshUserLoginInformation(user.getId());
|
|
|
|
|
} else {
|
|
|
|
@ -207,8 +207,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
this.refreshUserLoginDateTime(user.getId(), user.getUserInfoId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e){
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -265,9 +264,9 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
//判断条件,如果有authPlatform限制,则进行校验,没有,按照原有登录
|
|
|
|
|
//authPlatform限制,如果不包含平台权限,则不能登录,这里可以扩展多个登录权限限制。
|
|
|
|
|
String authPlatform = user.getAuthPlatform();
|
|
|
|
|
if (Strings.isNotBlank(authPlatform)){
|
|
|
|
|
if (Strings.isNotBlank(authPlatform)) {
|
|
|
|
|
List<Integer> authPlatforms = Arrays.stream(authPlatform.split(",")).map(Integer::parseInt).collect(Collectors.toList());
|
|
|
|
|
if (!authPlatforms.contains(loginPlatform)){
|
|
|
|
|
if (!authPlatforms.contains(loginPlatform)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance().setErrorDetail("此账号没有权限登录此平台,请联系管理员!").build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -386,19 +385,19 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
@Override
|
|
|
|
|
public void updateSysUserPwdByLoginName(String loginName, String password) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(loginName,"userLoginName",ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(loginName, "userLoginName", ddlPackBean);
|
|
|
|
|
List<SysUser> sysUsers = userRDao.findByHqlWhere(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(sysUsers)){
|
|
|
|
|
if (Objects.isNull(sysUsers)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance().setErrorDetail("修改密码失败,账号在系统中不存在!").build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sysUsers.size() > 1){
|
|
|
|
|
if (sysUsers.size() > 1) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance().setErrorDetail("登录名不唯一,修改失败!").build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SysUser sysUser = sysUsers.get(0);
|
|
|
|
|
Long pwdId = sysUser.getUserLoginPasswordId();
|
|
|
|
|
userPasswordService.updatePasswordByPwdIdAndNewPwd(pwdId,password);
|
|
|
|
|
userPasswordService.updatePasswordByPwdIdAndNewPwd(pwdId, password);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -693,7 +692,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(distinctUserIds)) {
|
|
|
|
|
return null;
|
|
|
|
|
return new ArrayList();
|
|
|
|
|
}
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
|
|
|
|
|
DdlPreparedPack.getInPackList(distinctUserIds, "id", packBean);
|
|
|
|
@ -740,15 +739,15 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser getSysUserByLoginNameAndEmail(String loginName, String email) {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find By Login Name :{},and email:{}", loginName,email);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find By Login Name :{},and email:{}", loginName, email);
|
|
|
|
|
|
|
|
|
|
SysUser sysUser = userRDao.getByProperty(new String[]{"userLoginName", "isValid", "isDeleted"},
|
|
|
|
|
new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()});
|
|
|
|
|
if (!Objects.isNull(sysUser)){
|
|
|
|
|
if (!Objects.isNull(sysUser)) {
|
|
|
|
|
String emails = sysUser.getUserEmail();
|
|
|
|
|
if (Strings.isNotBlank(emails)){
|
|
|
|
|
if (Strings.isNotBlank(emails)) {
|
|
|
|
|
List<String> emailList = Arrays.asList(emails.split(","));
|
|
|
|
|
if (emailList.contains(email)){
|
|
|
|
|
if (emailList.contains(email)) {
|
|
|
|
|
return sysUser;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1027,6 +1026,42 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<AndonQueryUserResultModel> findUserByAndonQueryUserModel(AndonQueryUserModel andonQueryUserModel, Pager pager) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(andonQueryUserModel.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(andonQueryUserModel.getOrganizeCode(), "organizeCode", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getDepartment(), "departmentNameRdd", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getUserLoginName(), "userLoginName", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(andonQueryUserModel.getUserName(), "userName", ddlPackBean);
|
|
|
|
|
pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(ddlPackBean));
|
|
|
|
|
return new ListPager(packAndonQueryUserResultModel(userRDao.findByHqlWherePage(ddlPackBean, pager)), pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<AndonQueryUserResultModel> packAndonQueryUserResultModel(List<SysUser> sysUserList) {
|
|
|
|
|
if (ObjectUtils.isEmpty(sysUserList)) {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return sysUserList.stream().map(el -> {
|
|
|
|
|
AndonQueryUserResultModel andonQueryUserModel = new AndonQueryUserResultModel();
|
|
|
|
|
andonQueryUserModel.setDepartment(el.getDepartmentNameRdd());
|
|
|
|
|
andonQueryUserModel.setLoginName(el.getUserLoginName());
|
|
|
|
|
andonQueryUserModel.setUserId(el.getId());
|
|
|
|
|
andonQueryUserModel.setUserInfoId(el.getUserInfoId());
|
|
|
|
|
andonQueryUserModel.setUserName(el.getUserName());
|
|
|
|
|
return andonQueryUserModel;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<SysUser> findSysUserByLoginName(List<String> userLoginNamegenList) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
|
|
|
|
|
DdlPreparedPack.getInPackList(userLoginNamegenList,"userLoginName",ddlPackBean);
|
|
|
|
|
return userRDao.findByHqlWhere(ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 账号数据排序
|
|
|
|
|
* 创建时间 角色升序
|
|
|
|
|