|
|
|
@ -2,16 +2,19 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.base.ISysUserService;
|
|
|
|
|
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
|
|
|
|
|
import cn.estsh.i3plus.pojo.model.flatform.UserModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.*;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
|
|
|
|
|
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.shiro.authc.AuthenticationToken;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
@ -101,7 +104,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
SessionUser sessionUser = AuthUtil.login(token);
|
|
|
|
|
|
|
|
|
|
user = getSysUserInfo(user); //设置用户详细信息
|
|
|
|
|
user = dealSysUserInfo(user); //设置用户详细信息
|
|
|
|
|
packSessionUser(sessionUser, user, user.getUserTypeId(), languageCode);
|
|
|
|
|
AuthUtil.setSessionUser(sessionUser);
|
|
|
|
|
return sessionUser;
|
|
|
|
@ -117,57 +120,106 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
sysUserRDao.update(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser updateSysUserModel(UserModel model, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER model:{}", model);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER user:{}", user);
|
|
|
|
|
|
|
|
|
|
// 数据真实性校验
|
|
|
|
|
SysRole sysRole = sysRoleRDao.getById(model.getRole().id);
|
|
|
|
|
checkSysRole(sysRole);
|
|
|
|
|
|
|
|
|
|
Department dep = departmentRDao.getById(model.getDepartment().getId());
|
|
|
|
|
checkDepartment(dep);
|
|
|
|
|
// @Override
|
|
|
|
|
// public SysUser updateSysUserModel(UserModel model, SessionUser user) {
|
|
|
|
|
// LOGGER.info("平台用户 SYS_USER model:{}", model);
|
|
|
|
|
// LOGGER.info("平台用户 SYS_USER user:{}", user);
|
|
|
|
|
//
|
|
|
|
|
// // 数据真实性校验
|
|
|
|
|
// SysRole sysRole = sysRoleRDao.getById(model.getRole().id);
|
|
|
|
|
// checkSysRole(sysRole);
|
|
|
|
|
//
|
|
|
|
|
// Department dep = departmentRDao.getById(model.getDepartment().getId());
|
|
|
|
|
// checkDepartment(dep);
|
|
|
|
|
//
|
|
|
|
|
// Position pos = positionRDao.getById(model.getPosition().getId());
|
|
|
|
|
// checkPosition(pos);
|
|
|
|
|
//
|
|
|
|
|
// Organize organize = organizeRDao.getById(model.getDepartment().getOrganizeId());
|
|
|
|
|
// checkOrganize(organize);
|
|
|
|
|
//
|
|
|
|
|
// SysUser sysUser = model.getUser();
|
|
|
|
|
//
|
|
|
|
|
// //TODO UserLoginName Count
|
|
|
|
|
// SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
// // 判断是否修改登录名称
|
|
|
|
|
// if (loginUser == null || loginUser.getId().equals(sysUser.getId())) {
|
|
|
|
|
// // 冗余部分信息
|
|
|
|
|
// sysUser.setRedDepartmentName(dep.getDepartmentName());
|
|
|
|
|
// sysUser.setRedRoleName(sysRole.getName());
|
|
|
|
|
// sysUser.setRedPositionName(pos.getPositionName());
|
|
|
|
|
// sysUser.setOrganizeId(organize.getId());
|
|
|
|
|
// sysUser.setRedOrganizeName(organize.getRedParentName());
|
|
|
|
|
//
|
|
|
|
|
// if (!sysUser.getUserLoginPassword().isEmpty()) {
|
|
|
|
|
// //TODO 密码加密
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// // 刷新用户角色关系信息
|
|
|
|
|
// refreshRefUserRole(model, sysUser);
|
|
|
|
|
//
|
|
|
|
|
// // 刷新用户部门关系信息
|
|
|
|
|
// refreshRefUserDepartment(model, sysUser);
|
|
|
|
|
//
|
|
|
|
|
// // 刷新用户岗位关系信息
|
|
|
|
|
// refreshRefUserPosition(model, sysUser);
|
|
|
|
|
//
|
|
|
|
|
// // 保存用户信息
|
|
|
|
|
// sysUserInfoRDao.save(model.getUserInfo());
|
|
|
|
|
// return sysUserRDao.save(sysUser);
|
|
|
|
|
// } else {
|
|
|
|
|
// throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
// .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
// .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
// .setErrorDetail("用户名已存在")
|
|
|
|
|
// .setErrorSolution("请重新输入用户名")
|
|
|
|
|
// .build();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// @Override
|
|
|
|
|
// public SysUser insertSysUserModel(UserModel model, SessionUser user) {
|
|
|
|
|
// LOGGER.info("平台用户 SYS_USER model:{}", model);
|
|
|
|
|
// LOGGER.info("平台用户 SYS_USER user:{}", user);
|
|
|
|
|
//
|
|
|
|
|
// SysUser sysUser = model.getUser();
|
|
|
|
|
// SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
// if (null == loginUser) {
|
|
|
|
|
// sysUser = sysUserRDao.insert(sysUser);
|
|
|
|
|
// model.getUserInfo().setUserId(sysUser.getId());
|
|
|
|
|
// model.setUser(sysUser);
|
|
|
|
|
// return updateSysUserModel(model, user);
|
|
|
|
|
// } else {
|
|
|
|
|
// throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
// .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
// .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
// .setErrorDetail("用户名已存在")
|
|
|
|
|
// .setErrorSolution("请重新输入用户名")
|
|
|
|
|
// .build();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
Position pos = positionRDao.getById(model.getPosition().getId());
|
|
|
|
|
checkPosition(pos);
|
|
|
|
|
|
|
|
|
|
Organize organize = organizeRDao.getById(model.getDepartment().getOrganizeId());
|
|
|
|
|
checkOrganize(organize);
|
|
|
|
|
|
|
|
|
|
SysUser sysUser = model.getUser();
|
|
|
|
|
@Override
|
|
|
|
|
public void updateSysUser(SysUser sysUser) throws Exception{
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser :{}", sysUser);
|
|
|
|
|
|
|
|
|
|
//TODO UserLoginName Count
|
|
|
|
|
SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
// 判断是否修改登录名称
|
|
|
|
|
if (loginUser == null || loginUser.getId().equals(sysUser.getId())) {
|
|
|
|
|
// 冗余部分信息
|
|
|
|
|
sysUser.setRedDepartmentName(dep.getDepartmentName());
|
|
|
|
|
sysUser.setRedRoleName(sysRole.getName());
|
|
|
|
|
sysUser.setRedPositionName(pos.getPositionName());
|
|
|
|
|
sysUser.setOrganizeId(organize.getId());
|
|
|
|
|
sysUser.setRedOrganizeName(organize.getRedParentName());
|
|
|
|
|
|
|
|
|
|
if (!sysUser.getUserLoginPassword().isEmpty()) {
|
|
|
|
|
//TODO 密码加密
|
|
|
|
|
// 密码加密 输入的密码不等于密码一致时修改密码
|
|
|
|
|
if(!sysUser.getUserLoginPassword().isEmpty()){
|
|
|
|
|
if(sysUser.getUserLoginPassword().equals(loginUser.getUserLoginPassword())){
|
|
|
|
|
String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword());
|
|
|
|
|
sysUser.setUserLoginPassword(md5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 刷新用户角色关系信息
|
|
|
|
|
refreshRefUserRole(model, sysUser);
|
|
|
|
|
|
|
|
|
|
// 刷新用户部门关系信息
|
|
|
|
|
refreshRefUserDepartment(model, sysUser);
|
|
|
|
|
|
|
|
|
|
// 刷新用户岗位关系信息
|
|
|
|
|
refreshRefUserPosition(model, sysUser);
|
|
|
|
|
|
|
|
|
|
// 保存用户信息
|
|
|
|
|
sysUserInfoRDao.save(model.getUserInfo());
|
|
|
|
|
return sysUserRDao.save(sysUser);
|
|
|
|
|
} else {
|
|
|
|
|
sysUserInfoRDao.update(sysUser.getUserInfo());
|
|
|
|
|
sysUserRDao.save(sysUser);
|
|
|
|
|
}else {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.USER_LOGIN_NAME_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("用户名已存在")
|
|
|
|
|
.setErrorSolution("请重新输入用户名")
|
|
|
|
|
.build();
|
|
|
|
@ -175,17 +227,28 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser insertSysUserModel(UserModel model, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER model:{}", model);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER user:{}", user);
|
|
|
|
|
public SysUser insertSysUser(SysUser sysUser )throws Exception {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
|
|
|
|
|
SysUser sysUser = model.getUser();
|
|
|
|
|
SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
if (null == loginUser) {
|
|
|
|
|
sysUser = sysUserRDao.insert(sysUser);
|
|
|
|
|
model.getUserInfo().setUserId(sysUser.getId());
|
|
|
|
|
model.setUser(sysUser);
|
|
|
|
|
return updateSysUserModel(model, user);
|
|
|
|
|
// 密码加密 输入的密码不等于密码一致时修改密码
|
|
|
|
|
if(!sysUser.getUserLoginPassword().isEmpty()){
|
|
|
|
|
if(sysUser.getUserLoginPassword().equals(loginUser.getUserLoginPassword())){
|
|
|
|
|
String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword());
|
|
|
|
|
sysUser.setUserLoginPassword(md5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SysUser user = sysUserRDao.insert(sysUser);
|
|
|
|
|
|
|
|
|
|
// 保存用户详细信息
|
|
|
|
|
SysUserInfo userInfo = new SysUserInfo();
|
|
|
|
|
userInfo.setUserId(user.getId());
|
|
|
|
|
SysUserInfo info = sysUserInfoRDao.insert(userInfo);
|
|
|
|
|
|
|
|
|
|
user.setUserInfo(info);
|
|
|
|
|
return user;
|
|
|
|
|
} else {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
@ -197,6 +260,81 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void refreshRefUserDepartment(SysUser sysUser, String departmentId, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER departmentId:{}", departmentId);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SessionUser:{}", user);
|
|
|
|
|
|
|
|
|
|
refUserDepartmentRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系
|
|
|
|
|
|
|
|
|
|
Department dep = departmentRDao.getById(Long.parseLong(departmentId));
|
|
|
|
|
if(dep != null ){
|
|
|
|
|
ValidatorBean.checkNotNull(dep);
|
|
|
|
|
|
|
|
|
|
// 用户部门关系保存
|
|
|
|
|
RefUserDepartment refUserDepartment = new RefUserDepartment(sysUser.getId(), dep.getId(), dep.getDepartmentName());
|
|
|
|
|
refUserDepartmentRDao.save(refUserDepartment);
|
|
|
|
|
|
|
|
|
|
Organize organize = organizeRDao.getById(dep.getOrganizeId());
|
|
|
|
|
if(organize != null){
|
|
|
|
|
sysUser.setRedOrganizeName(organize.getName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 冗余 部门信息
|
|
|
|
|
sysUser.setRedDepartmentName(dep.getDepartmentName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void refreshRefUserRole(SysUser sysUser, String[] roleIds, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER String[] :{}", roleIds);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SessionUser:{}", user);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据IDS 查询所有的角色信息
|
|
|
|
|
String where = CoreHqlPack.packHqlIds("id", roleIds);
|
|
|
|
|
List<SysRole> list = sysRoleRDao.findByHqlWhere(where);
|
|
|
|
|
|
|
|
|
|
// 删除角色关系信息
|
|
|
|
|
refUserRoleRDao.deleteByProperties("userId", sysUser.getId()); // 删除用户角色关系
|
|
|
|
|
|
|
|
|
|
// 新增用户角色关系
|
|
|
|
|
if(null != list && list.size() > 0){
|
|
|
|
|
List<RefUserRole> refUserRoles = new ArrayList<>();
|
|
|
|
|
List<String> roleNameList = new ArrayList<>();
|
|
|
|
|
RefUserRole refUserRole = null;
|
|
|
|
|
for (SysRole role : list) {
|
|
|
|
|
roleNameList.add(role.getName());
|
|
|
|
|
// 用户角色关系创建
|
|
|
|
|
refUserRole = new RefUserRole(sysUser.getId(), role.getId(), role.getName());
|
|
|
|
|
refUserRoles.add(refUserRole);
|
|
|
|
|
}
|
|
|
|
|
refUserRoleRDao.saveAll(refUserRoles);
|
|
|
|
|
// 角色名称冗余
|
|
|
|
|
sysUser.getUserInfo().setRedRoleNames(String.join(",", roleNameList));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void refreshRefUserPosition(SysUser sysUser, String positionId, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER positionId :{}", positionId);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SessionUser:{}", user);
|
|
|
|
|
|
|
|
|
|
Position pos = positionRDao.getById(Long.parseLong(positionId));
|
|
|
|
|
ValidatorBean.checkNotNull(pos);
|
|
|
|
|
|
|
|
|
|
refUserPositionRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系
|
|
|
|
|
|
|
|
|
|
RefUserPosition refUserPosition = new RefUserPosition(sysUser.getId(), pos.getId(), pos.getPositionName());;
|
|
|
|
|
refUserPositionRDao.insert(refUserPosition);
|
|
|
|
|
|
|
|
|
|
// 岗位名称冗余
|
|
|
|
|
sysUser.getUserInfo().setRedPositionNames(pos.getPositionName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteSysUserById(String id) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER DELETE By id :{}", id);
|
|
|
|
|
sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
@ -208,7 +346,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<SysUser> findSysUserAll() {
|
|
|
|
|
public List<SysUser> list() {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER find All");
|
|
|
|
|
return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
}
|
|
|
|
@ -233,7 +371,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser getSysUserInfo(SysUser user) {
|
|
|
|
|
public SysUser dealSysUserInfo(SysUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER user id :{}", user.getId());
|
|
|
|
|
SysUserInfo userInfo = sysUserInfoRDao.getByProperty("userId", user.getId());
|
|
|
|
|
Organize organize = organizeRDao.getById(user.getOrganizeId());
|
|
|
|
@ -260,21 +398,6 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************** 公共方法封装 ****************************************/
|
|
|
|
|
|
|
|
|
|
// dealUserInfo() 用户信息封装
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 封装用户登陆信息
|
|
|
|
|
*
|
|
|
|
@ -296,146 +419,4 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
return sessionUser;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 刷新用户 角色关系
|
|
|
|
|
* @param model
|
|
|
|
|
* @param sysUser
|
|
|
|
|
*/
|
|
|
|
|
private void refreshRefUserRole( UserModel model, SysUser sysUser) {
|
|
|
|
|
// 用户角色操作
|
|
|
|
|
refUserRoleRDao.deleteByProperties("userId", sysUser.getId()); // 删除用户角色关系
|
|
|
|
|
if (null != model.getRoles() && model.getRoles().size() > 0) { //角色非空是操作
|
|
|
|
|
List<RefUserRole> refUserRoles = new ArrayList<>();
|
|
|
|
|
List<String> roleNameList = new ArrayList<>();
|
|
|
|
|
RefUserRole refUserRole = null;
|
|
|
|
|
|
|
|
|
|
for (SysRole role : model.getRoles()) {
|
|
|
|
|
roleNameList.add(role.getName());
|
|
|
|
|
// 用户角色关系创建
|
|
|
|
|
refUserRole = new RefUserRole(sysUser.getId(), role.getId(), role.getName());
|
|
|
|
|
refUserRoles.add(refUserRole);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
refUserRoleRDao.saveAll(refUserRoles);
|
|
|
|
|
// 角色名称冗余
|
|
|
|
|
model.getUserInfo().setRedRoleNames(String.join(",",roleNameList));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 刷新用户部门关系
|
|
|
|
|
* @param model
|
|
|
|
|
* @param sysUser
|
|
|
|
|
*/
|
|
|
|
|
private void refreshRefUserDepartment(UserModel model, SysUser sysUser) {
|
|
|
|
|
// 用户部门操作
|
|
|
|
|
refUserDepartmentRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系
|
|
|
|
|
/*if (null != model.getDepartments() && model.getDepartments().size() > 0) {
|
|
|
|
|
|
|
|
|
|
List<RefUserDepartment> refUserDepartments = new ArrayList<>();
|
|
|
|
|
StringBuffer departmentNames = new StringBuffer();
|
|
|
|
|
RefUserDepartment refUserDepartment = null;
|
|
|
|
|
|
|
|
|
|
for (Department department : model.getDepartments()) {
|
|
|
|
|
departmentNames.append("," + department.getDepartmentName());
|
|
|
|
|
|
|
|
|
|
// 用户部门关系创建
|
|
|
|
|
refUserDepartment = new RefUserDepartment(sysUser.getId(), department.getId(), department.getDepartmentName());
|
|
|
|
|
refUserDepartments.add(refUserDepartment);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
refUserDepartmentRDao.save(refUserDepartment);
|
|
|
|
|
// 部门名称冗余
|
|
|
|
|
model.getUserInfo().setRedDepartmentNames(departmentNames.substring(1, departmentNames.length()));
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 刷新用户岗位关系
|
|
|
|
|
* @param model
|
|
|
|
|
* @param sysUser
|
|
|
|
|
*/
|
|
|
|
|
private void refreshRefUserPosition(UserModel model, SysUser sysUser) {
|
|
|
|
|
/*refUserPositionRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系
|
|
|
|
|
if (null != model.getPositions() && model.getPositions().size() > 0) {
|
|
|
|
|
|
|
|
|
|
List<RefUserPosition> refUserPositions = new ArrayList<>();
|
|
|
|
|
StringBuffer positionNames = new StringBuffer();
|
|
|
|
|
RefUserPosition refUserPosition = null;
|
|
|
|
|
for (Position position : model.getPositions()) {
|
|
|
|
|
positionNames.append("," + position.getPositionName());
|
|
|
|
|
|
|
|
|
|
// 用户岗位关系创建
|
|
|
|
|
refUserPosition = new RefUserPosition(sysUser.getId(), position.getId(), position.getPositionName());
|
|
|
|
|
refUserPositions.add(refUserPosition);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
refUserPositionRDao.saveAll(refUserPositions);
|
|
|
|
|
// 岗位名称冗余
|
|
|
|
|
model.getUserInfo().setRedPositionNames(positionNames.substring(1, positionNames.length()));
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 部门真实性校验
|
|
|
|
|
* @param department
|
|
|
|
|
*/
|
|
|
|
|
private void checkDepartment(Department department) {
|
|
|
|
|
if (null == department) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("部门不存在")
|
|
|
|
|
.setErrorSolution("请重新输入部门信息")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 岗位真实性 校验
|
|
|
|
|
* @param position
|
|
|
|
|
*/
|
|
|
|
|
private void checkPosition(Position position) {
|
|
|
|
|
if (null == position) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("岗位不存在")
|
|
|
|
|
.setErrorSolution("请重新输入岗位信息")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 角色真实信息校验
|
|
|
|
|
* @param sysRole
|
|
|
|
|
*/
|
|
|
|
|
private void checkSysRole(SysRole sysRole) {
|
|
|
|
|
if (null == sysRole) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("角色不存在")
|
|
|
|
|
.setErrorSolution("请重新输入角色信息")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 组织真实性校验
|
|
|
|
|
* @param organize
|
|
|
|
|
*/
|
|
|
|
|
private void checkOrganize(Organize organize) {
|
|
|
|
|
if (null == organize) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("部门的组织不存在")
|
|
|
|
|
.setErrorSolution("请先完善组织信息")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|