|
|
|
@ -71,7 +71,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SessionUser queryUserLogin(String loginName, String password, String languageCode) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
|
|
|
|
|
|
|
|
|
|
SysUser user = getSysUserByLoginName(loginName);
|
|
|
|
|
|
|
|
|
@ -98,7 +98,6 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
SessionUser sessionUser = AuthUtil.login(token);
|
|
|
|
|
|
|
|
|
|
user = dealSysUserInfo(user); //设置用户详细信息
|
|
|
|
|
packSessionUser(sessionUser, user, user.getUserTypeId(), languageCode);
|
|
|
|
|
AuthUtil.setSessionUser(sessionUser);
|
|
|
|
|
return sessionUser;
|
|
|
|
@ -106,22 +105,22 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updateSysUserStatus(String id, int status, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
|
|
|
|
|
SysUser sysUser = sysUserRDao.getById(Long.parseLong(id));
|
|
|
|
|
sysUser.setUserStatusId(status);
|
|
|
|
|
// sysUser.setUserStatusId(status);
|
|
|
|
|
sysUser.setModifyUser(user.getUserName());
|
|
|
|
|
sysUserRDao.update(sysUser);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updateBatchSysUserStatus(String[] ids, int status, SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user);
|
|
|
|
|
|
|
|
|
|
String where = CoreHqlPack.packHqlIds("id", ids);
|
|
|
|
|
List<SysUser> list = sysUserRDao.findByHqlWhere(where);
|
|
|
|
|
if(null != list && list.size() > 0){
|
|
|
|
|
for (SysUser sysUser : list) {
|
|
|
|
|
sysUser.setUserStatusId(status);
|
|
|
|
|
// sysUser.setUserStatusId(status);
|
|
|
|
|
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelUpdate(sysUser,user);
|
|
|
|
|
}
|
|
|
|
@ -131,19 +130,19 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updateSysUser(SysUser sysUser) throws Exception{
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser :{}", sysUser);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser);
|
|
|
|
|
|
|
|
|
|
SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
// 判断是否修改登录名称
|
|
|
|
|
if (loginUser == null || loginUser.getId().equals(sysUser.getId())) {
|
|
|
|
|
// 密码加密 输入的密码不等于密码一致时修改密码
|
|
|
|
|
if(!sysUser.getUserLoginPassword().isEmpty()){
|
|
|
|
|
if(null != sysUser.getUserLoginPassword() && sysUser.getUserLoginPassword().trim().length() > 0){
|
|
|
|
|
if(sysUser.getUserLoginPassword().equals(loginUser.getUserLoginPassword())){
|
|
|
|
|
String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword());
|
|
|
|
|
sysUser.setUserLoginPassword(md5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sysUserInfoRDao.update(sysUser.getUserInfo());
|
|
|
|
|
|
|
|
|
|
sysUserRDao.save(sysUser);
|
|
|
|
|
}else {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
@ -157,7 +156,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updateSysUserPassword(String userIdStr, String password, String newPwd) throws Exception {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER userIdStr:{} password:{} newPwd:{}", userIdStr,password,newPwd);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER userIdStr:{} password:{} newPwd:{}", userIdStr,password,newPwd);
|
|
|
|
|
SysUser user = sysUserRDao.getById(Long.parseLong(userIdStr));
|
|
|
|
|
if(user != null){
|
|
|
|
|
String md5 = EncryptTool.hexMD5(password);
|
|
|
|
@ -184,23 +183,14 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser insertSysUser(SysUser sysUser)throws Exception {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
|
|
|
|
|
SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName());
|
|
|
|
|
if (null == loginUser) {
|
|
|
|
|
// 密码加密 输入的密码不等于密码一致时修改密码
|
|
|
|
|
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;
|
|
|
|
|
return sysUserRDao.insert(sysUser);
|
|
|
|
|
} else {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
@ -212,39 +202,9 @@ public class SysUserService 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.deleteByProperty("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.getName());
|
|
|
|
|
refUserDepartmentRDao.save(refUserDepartment);
|
|
|
|
|
|
|
|
|
|
// 组织信息冗余
|
|
|
|
|
Organize organize = organizeRDao.getById(dep.getOrganizeId());
|
|
|
|
|
if(organize != null){
|
|
|
|
|
sysUser.setRedOrganizeName(organize.getName());
|
|
|
|
|
sysUser.setOrganizeId(organize.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 冗余 部门信息
|
|
|
|
|
sysUser.setRedDepartmentName(dep.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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);
|
|
|
|
|
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds);
|
|
|
|
|
|
|
|
|
|
// 根据IDS 查询所有的角色信息
|
|
|
|
|
String where = CoreHqlPack.packHqlIds("id", roleIds);
|
|
|
|
@ -257,45 +217,31 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
// 新增用户角色关系
|
|
|
|
|
List<RefUserRole> refUserRoles = new ArrayList<>();
|
|
|
|
|
List<String> roleNameList = new ArrayList<>();
|
|
|
|
|
SysRole sysRole = list.get(0);
|
|
|
|
|
RefUserRole refUserRole = null;
|
|
|
|
|
for (SysRole role : list) {
|
|
|
|
|
roleNameList.add(role.getName());
|
|
|
|
|
// 用户角色关系创建
|
|
|
|
|
refUserRole = new RefUserRole(sysUser.getId(), role.getId(), role.getName());
|
|
|
|
|
refUserRole = new RefUserRole();
|
|
|
|
|
refUserRole.setRoleId(role.getId());
|
|
|
|
|
refUserRole.setRoleNameRdd(role.getName());
|
|
|
|
|
refUserRole.setUserId(sysUser.getId());
|
|
|
|
|
refUserRole.setUserNameRdd(sysUser.getUserName());
|
|
|
|
|
|
|
|
|
|
refUserRoles.add(refUserRole);
|
|
|
|
|
}
|
|
|
|
|
refUserRoleRDao.saveAll(refUserRoles);
|
|
|
|
|
|
|
|
|
|
// 角色名称冗余
|
|
|
|
|
sysUser.getUserInfo().setRedRoleNames(String.join(",", roleNameList));
|
|
|
|
|
sysUser.setRoleId(sysRole.getId());
|
|
|
|
|
sysUser.setRedRoleName(sysRole.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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.deleteByProperty("userId", sysUser.getId()); //删除用户部门关系
|
|
|
|
|
|
|
|
|
|
RefUserPosition refUserPosition = new RefUserPosition(sysUser.getId(), pos.getId(), pos.getName());
|
|
|
|
|
refUserPositionRDao.insert(refUserPosition);
|
|
|
|
|
sysUser.setRoleNameRdd(String.join(",", roleNameList));
|
|
|
|
|
sysUser.setRoleId(list.get(0).getId());
|
|
|
|
|
|
|
|
|
|
// 岗位名称冗余
|
|
|
|
|
sysUser.getUserInfo().setRedPositionNames(pos.getName());
|
|
|
|
|
sysUser.setRedPositionName(pos.getName());
|
|
|
|
|
sysUserRDao.save(sysUser);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteSysUserById(String id) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER DELETE By id :{}", id);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id);
|
|
|
|
|
sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|
|
|
|
|
|
// 删除用户关系(物理删除)
|
|
|
|
@ -306,7 +252,7 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteBatchSysUserById(String[] ids,SessionUser user) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER DELETE By ids :{}", ids);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids);
|
|
|
|
|
|
|
|
|
|
// 标记用户已删除
|
|
|
|
|
String where = CoreHqlPack.packHqlIds("id", ids);
|
|
|
|
@ -314,21 +260,22 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
if(null != list && list.size() > 0){
|
|
|
|
|
for (SysUser sysUser : list) {
|
|
|
|
|
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|
ConvertBean.modelUpdate(sysUser,user);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sysUserRDao.saveAll(list);
|
|
|
|
|
refUserRoleRDao.deleteByPropertyIn("userId",ids);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<SysUser> list() {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER find All");
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find All");
|
|
|
|
|
return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
|
|
|
|
|
LOGGER.info("系统用户 SysUser find user :{} page :{}", user, pager);
|
|
|
|
|
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);
|
|
|
|
|
|
|
|
|
|
//生成hql查询语句
|
|
|
|
|
String hqlPack = CoreHqlPack.packHqlSysUser(user);
|
|
|
|
@ -338,57 +285,22 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser getSysUserById(String id) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER get By id :{}", id);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER get By id :{}", id);
|
|
|
|
|
return sysUserRDao.getById(Long.parseLong(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUserInfo getSysUserInfoById(String id) {
|
|
|
|
|
LOGGER.info("平台用户明细 SYS_USER_INFO get By id :{}", id);
|
|
|
|
|
return sysUserInfoRDao.getByProperty("userId",Long.parseLong(id));
|
|
|
|
|
public SysUserInfo getSysUserInfoById(Long id) {
|
|
|
|
|
return sysUserInfoRDao.getByProperty("id",id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SysUser getSysUserByLoginName(String loginName) {
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER find By Login Name :{}", loginName);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName);
|
|
|
|
|
return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"},
|
|
|
|
|
new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置用户详细信息
|
|
|
|
|
*
|
|
|
|
|
* @param user
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
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());
|
|
|
|
|
|
|
|
|
|
List<Department> departmentList = userPermissionDao.findDepartmentByUser(user);
|
|
|
|
|
List<Position> positionList = userPermissionDao.findPositionByUser(user);
|
|
|
|
|
List<SysMenu> menuList = userPermissionDao.findSysMenuByUser(user);
|
|
|
|
|
List<SysRole> roleList = userPermissionDao.findSysRoleByUser(user);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER userInfo :{}", userInfo);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER organize :{}", organize);
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER departmentList size :{}", departmentList.size());
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER positionList size :{}", positionList.size());
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER menuList size :{}", menuList.size());
|
|
|
|
|
LOGGER.info("平台用户 SYS_USER roleList size :{}", roleList.size());
|
|
|
|
|
|
|
|
|
|
user.setUserInfo(userInfo);
|
|
|
|
|
user.setOrganize(organize);
|
|
|
|
|
user.setDepartmentList(departmentList);
|
|
|
|
|
user.setMenuList(menuList);
|
|
|
|
|
user.setPositionList(positionList);
|
|
|
|
|
user.setRoleList(roleList);
|
|
|
|
|
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<RefUserRole> findRefUserRoleByUserId(String userId) {
|
|
|
|
|
return refUserRoleRDao.findByProperty("userId",Long.parseLong(userId));
|
|
|
|
@ -403,21 +315,39 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
* @param languageCode 用户选择的语言
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType, String languageCode) {
|
|
|
|
|
public SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType, String languageCode) {
|
|
|
|
|
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER user id :{}", user.getId());
|
|
|
|
|
SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId());
|
|
|
|
|
Organize organize = organizeRDao.getById(userInfo.getOrganizeId());
|
|
|
|
|
|
|
|
|
|
// 权限信息查询
|
|
|
|
|
List<SysMenu> menuList = userPermissionDao.findSysMenuByUser(user);
|
|
|
|
|
List<SysRole> roleList = userPermissionDao.findSysRoleByUser(user);
|
|
|
|
|
List<Department> departmentList = userPermissionDao.findDepartmentByUser(userInfo);
|
|
|
|
|
List<Position> positionList = userPermissionDao.findPositionByUser(userInfo);
|
|
|
|
|
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER userInfo :{}", userInfo);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER organize :{}", organize);
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER departmentList size :{}", departmentList.size());
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER positionList size :{}", positionList.size());
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER menuList size :{}", menuList.size());
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER roleList size :{}", roleList.size());
|
|
|
|
|
|
|
|
|
|
user.setMenuList(menuList);
|
|
|
|
|
user.setRoleList(roleList);
|
|
|
|
|
|
|
|
|
|
userInfo.setUser(user);
|
|
|
|
|
userInfo.setOrganize(organize);
|
|
|
|
|
userInfo.setDepartmentList(departmentList);
|
|
|
|
|
userInfo.setPositionList(positionList);
|
|
|
|
|
|
|
|
|
|
sessionUser.setLanguageCode(languageCode);
|
|
|
|
|
sessionUser.setUserName(user.getName());
|
|
|
|
|
sessionUser.setUserName(userInfo.getName());
|
|
|
|
|
sessionUser.setUserTypeId(CommonEnumUtil.USER_TYPE.valueOf(userType));
|
|
|
|
|
sessionUser.setUserCode(user.getUserEmpNo());
|
|
|
|
|
sessionUser.setRoleList(user.getRoleList());
|
|
|
|
|
sessionUser.setDepartmentList(user.getDepartmentList());
|
|
|
|
|
sessionUser.setPositionList(user.getPositionList());
|
|
|
|
|
sessionUser.setOrganize(user.getOrganize());
|
|
|
|
|
sessionUser.setUserCode(userInfo.getUserEmpNo());
|
|
|
|
|
sessionUser.setUser(user);
|
|
|
|
|
sessionUser.setUserInfo(user.getUserInfo());
|
|
|
|
|
|
|
|
|
|
if(null != user.getPositionList() && user.getPositionList().size() > 0){
|
|
|
|
|
sessionUser.setPosition(user.getPositionList().get(0));
|
|
|
|
|
}
|
|
|
|
|
sessionUser.setUserInfo(userInfo);
|
|
|
|
|
|
|
|
|
|
return sessionUser;
|
|
|
|
|
}
|
|
|
|
|