用户管理更新

yun-zuoyi
wei.peng 6 years ago
parent ad8f4dc613
commit a6b20f4b59

@ -35,6 +35,9 @@ public interface IPersonnelService {
@ApiOperation(value = "获取账号信息") @ApiOperation(value = "获取账号信息")
SysUser getSysUserById(Long id); SysUser getSysUserById(Long id);
@ApiOperation(value = "查询账号信息")
List<SysUser> findSysUserByIds(Long[] ids);
@ApiOperation(value = "获取用户信息") @ApiOperation(value = "获取用户信息")
SysUserInfo getSysUserInfoById(Long id); SysUserInfo getSysUserInfoById(Long id);

@ -117,6 +117,9 @@ public interface ISysUserService {
@ApiOperation(value = "查询所有",notes = "查询所有账号信息") @ApiOperation(value = "查询所有",notes = "查询所有账号信息")
List<SysUser> list(); List<SysUser> list();
@ApiOperation(value = "查询用户ID 集合",notes = "根据角色Id 查询用户ID集合")
List<Long> findSysUserIdListByRoleId(Long roleId);
/** /**
* *
* @param user * @param user

@ -81,20 +81,18 @@ public class WhiteController extends CoreBaseController {
ValidatorBean.checkNotNull(loginPwd,"密码不能为空"); ValidatorBean.checkNotNull(loginPwd,"密码不能为空");
ValidatorBean.checkNotNull(languageCode,"语言不能为空"); ValidatorBean.checkNotNull(languageCode,"语言不能为空");
return new ResultBean(true, "1233",""); SessionUser user = userService.queryUserLogin(loginName,loginPwd,languageCode);
// SessionUser user = userService.queryUserLogin(loginName,loginPwd,languageCode); String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId();
// redisCore.deleteKey(redisKey);
// String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId();
// redisCore.deleteKey(redisKey); LOGGER.info("会员登陆:{}",user);
// AuthUtil.setSessionObject("languageCode",languageCode);
// LOGGER.info("会员登陆:{}",user); result = new ResultBean(true, AuthUtil.getSession().getId().toString(), AuthUtil.getSessionUser());
// AuthUtil.setSessionObject("languageCode",languageCode); result.setUrl("/");
// result = new ResultBean(true, AuthUtil.getSession().getId().toString(), AuthUtil.getSessionUser());
// result.setUrl("/"); // 记录登录记录
// recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), request);
// // 记录登录记录
// recordSysUserLog(user.getUser().getUserInfoId(), loginName,CommonEnumUtil.USER_LOGIN_STATUS.LOGIN_SUCCESS.getValue(), request);
} catch (IncorrectCredentialsException e) { } catch (IncorrectCredentialsException e) {
// 密码错误 // 密码错误
Integer num = systemLoginService.doLoginPasswordError(loginName,request.getSession().getId()); Integer num = systemLoginService.doLoginPasswordError(loginName,request.getSession().getId());

@ -61,6 +61,8 @@ public class PersonnelController extends CoreBaseController {
checkUserDetailModel(model, false); checkUserDetailModel(model, false);
personnelService.checkSysUserOnly(user); personnelService.checkSysUserOnly(user);
initUserDetail(info,user);
SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId())); SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId()));
if(infoDepartment == null){ if(infoDepartment == null){
ValidatorBean.checkNotNull(infoDepartment,"用户主部门不存在"); ValidatorBean.checkNotNull(infoDepartment,"用户主部门不存在");
@ -92,7 +94,7 @@ public class PersonnelController extends CoreBaseController {
user.setOrganizeNameRdd(userOrganize.getName()); user.setOrganizeNameRdd(userOrganize.getName());
user.setOrganizeCode(userOrganize.getOrganizeCode()); user.setOrganizeCode(userOrganize.getOrganizeCode());
user.setUserInfoId(info.getId()); user.setUserInfoId(info.getId());
user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword())); refreshSysUserPassword(user);
personnelService.saveSysUser(user); personnelService.saveSysUser(user);
info.setUserId(user.getId()); info.setUserId(user.getId());
@ -143,6 +145,9 @@ public class PersonnelController extends CoreBaseController {
info.setDepartmentNameRdd(infoDepartment.getName()); info.setDepartmentNameRdd(infoDepartment.getName());
info.setOrganizeId(infoOrganize.getId()); info.setOrganizeId(infoOrganize.getId());
info.setOrganizeNameRdd(infoOrganize.getName()); info.setOrganizeNameRdd(infoOrganize.getName());
info.setOrganizeCode(infoOrganize.getOrganizeCode());
info.setPositionId(position.getId());
info.setPositionNameRdd(position.getName());
user.setDepartmentId(userDepartment.getId()); user.setDepartmentId(userDepartment.getId());
user.setDepartmentNameRdd(userDepartment.getName()); user.setDepartmentNameRdd(userDepartment.getName());
@ -151,6 +156,8 @@ public class PersonnelController extends CoreBaseController {
// 关系 刷新 // 关系 刷新
refreshRef(user, info, model); refreshRef(user, info, model);
// 更新 密码
refreshSysUserPassword(user);
personnelService.saveSysUser(user); personnelService.saveSysUser(user);
personnelService.saveSysUserInfo(info); personnelService.saveSysUserInfo(info);
@ -265,6 +272,71 @@ public class PersonnelController extends CoreBaseController {
} }
} }
@DeleteMapping(value="/user/delete/{id}")
@ApiOperation(value="删除账号信息",notes="根据账号信息id删除信息")
public ResultBean deleteSysUser(@PathVariable("id") String id){
try {
//条件验证
ValidatorBean.checkNotNull(id,"id为空");
SysUser user = personnelService.getSysUserById(Long.parseLong(id));
if(user != null){
personnelService.deleteSysUserInfo(new Long[]{user.getUserInfoId()},getSessionUser().getUserName());
personnelService.deleteSysUser(new Long[]{user.getId()},getSessionUser().getUserName());
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep);
} catch (Exception e) {
LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + "{}", e.getMessage(), e);
return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode());
}
}
@DeleteMapping(value = "/user/batch-delete")
@ApiOperation(value = "根据id批量删除", notes = "根据id批量删除")
public ResultBean deleteSysUserByIds(String[] ids){
try{
ids = ConvertBean.modelSafeArrayNumber(ids,true);
if(ids.length == 0){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的用户信息。")
.build();
}
List<SysUser> list = personnelService.findSysUserByIds(StringTool.getArrayLong(ids));
if(list != null && list.size() > 0){
Long[] infoIds = new Long[list.size()];
Long[] userIds = new Long[list.size()];
for (int i = 0; i < list.size(); i++) {
infoIds[i] = list.get(i).getUserInfoId();
userIds[i] = list.get(i).getId();
}
personnelService.deleteSysUserInfo(infoIds,getSessionUser().getUserName());
personnelService.deleteSysUser(userIds,getSessionUser().getUserName());
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep);
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
/** /**
* *
* @param model * @param model
@ -303,6 +375,7 @@ public class PersonnelController extends CoreBaseController {
info.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); info.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue());
info.setUserLoginNum(0); info.setUserLoginNum(0);
info.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
ConvertBean.modelInitialize(info, AuthUtil.getSessionUser()); ConvertBean.modelInitialize(info, AuthUtil.getSessionUser());
user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue());
@ -329,4 +402,23 @@ public class PersonnelController extends CoreBaseController {
// 刷新用户 岗位关系 // 刷新用户 岗位关系
personnelService.refreshRefSysUserInfoPosition(info.getId(),StringTool.getArrayLong(model.getInfoPositionIdList())); personnelService.refreshRefSysUserInfoPosition(info.getId(),StringTool.getArrayLong(model.getInfoPositionIdList()));
} }
/**
*
* @param user
*/
private void refreshSysUserPassword(SysUser user)throws Exception{
if(user != null){
if(user.getId() != null){ // 更新密码
if(!StringUtils.isAnyBlank(user.getUserLoginPassword())){ // 使用新密码
user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword()));
}else{ //使用旧密码
SysUser sysUser = personnelService.getSysUserById(user.getId());
user.setUserLoginPassword(sysUser.getUserLoginPassword());
}
}else { // 创建密码
user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword()));
}
}
}
} }

@ -1,5 +1,6 @@
package cn.estsh.i3plus.core.apiservice.controller.busi; package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
@ -57,6 +58,9 @@ public class SysUserController extends CoreBaseController{
@Autowired @Autowired
private ISysMessageService sysMessageService; private ISysMessageService sysMessageService;
@Autowired
private IPersonnelService personnelService;
@PostMapping(value = "/insert") @PostMapping(value = "/insert")
@ApiOperation(value = "新增用户", notes = "新增系统用户") @ApiOperation(value = "新增用户", notes = "新增系统用户")
public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) { public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) {
@ -78,7 +82,7 @@ public class SysUserController extends CoreBaseController{
} }
// 用户唯一校验 // 用户唯一校验
sysUserService.checkSysUserOnly(sysUser); personnelService.checkSysUserOnly(sysUser);
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId()); SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId());
if(userInfo == null){ if(userInfo == null){
@ -102,7 +106,7 @@ public class SysUserController extends CoreBaseController{
SysUser user = sysUserService.insertSysUser(sysUser); SysUser user = sysUserService.insertSysUser(sysUser);
// 更新用户关系 // 更新用户关系
sysUserService.refreshSysRefUserRole(user,StringTool.getArrayLong(roleIds),getSessionUser().getUserName()); personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(roleIds));
return ResultBean.success("操作成功") return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -136,7 +140,7 @@ public class SysUserController extends CoreBaseController{
} }
// 用户唯一校验 // 用户唯一校验
sysUserService.checkSysUserOnly(sysUser); personnelService.checkSysUserOnly(sysUser);
// 用户信息封装 // 用户信息封装
SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId()); SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId());
@ -157,15 +161,13 @@ public class SysUserController extends CoreBaseController{
user.setUserInfoId(userInfo.getId()); user.setUserInfoId(userInfo.getId());
user.setUserName(userInfo.getName()); user.setUserName(userInfo.getName());
// user.setDepartmentId(userInfo.getDepartmentId());
// user.setDepartmentNameRdd(userInfo.getDepartmentNameRdd());
user.setUserLoginName(sysUser.getUserLoginName()); user.setUserLoginName(sysUser.getUserLoginName());
user.setUserEmail(sysUser.getUserEmail()); user.setUserEmail(sysUser.getUserEmail());
user.setUserPhone(sysUser.getUserPhone()); user.setUserPhone(sysUser.getUserPhone());
ConvertBean.modelUpdate(sysUser,AuthUtil.getSessionUser()); ConvertBean.modelUpdate(sysUser,AuthUtil.getSessionUser());
// 更新用户关系 // 更新用户关系
sysUserService.refreshSysRefUserRole(user, StringTool.getArrayLong(roleIds),getSessionUser().getUserName()); personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(roleIds));
sysUserService.updateSysUser(user); sysUserService.updateSysUser(user);
return ResultBean.success("操作成功") return ResultBean.success("操作成功")
@ -267,7 +269,11 @@ public class SysUserController extends CoreBaseController{
if(null == user) { if(null == user) {
user = new SysUser(); user = new SysUser();
} }
user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
if(user.getRoleId() != null){
List<Long> ids = sysUserService.findSysUserIdListByRoleId(Long.parseLong(user.getRoleId()));
user.setRoleIdList(ids);
}
ListPager<SysUser> listPager = sysUserService.querySysUserByPager(user, pager); ListPager<SysUser> listPager = sysUserService.querySysUserByPager(user, pager);

@ -114,6 +114,14 @@ public class PersonnelServiceService implements IPersonnelService {
} }
@Override @Override
public List<SysUser> findSysUserByIds(Long[] ids) {
LOGGER.debug("平台用户 SysUserInfo ids:{}", ids);
String infoWhere = CoreHqlPack.packHqlIds("id", ids);
return userRDao.findByHqlWhere(infoWhere);
}
@Override
public SysUserInfo getSysUserInfoById(Long id) { public SysUserInfo getSysUserInfoById(Long id) {
return userInfoRDao.getById(id); return userInfoRDao.getById(id);
} }
@ -251,12 +259,15 @@ public class PersonnelServiceService implements IPersonnelService {
int count = 0; int count = 0;
if(userId > 0){ if(userId > 0){
StringBuffer sw = new StringBuffer(); StringBuffer sw = new StringBuffer();
HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",sw);
HqlPack.getStringEqualPack(userLoginName,"userLoginName",sw); HqlPack.getStringEqualPack(userLoginName,"userLoginName",sw);
HqlPack.getNumNOEqualPack(userId,"id",sw); HqlPack.getNumNOEqualPack(userId,"id",sw);
count = userRDao.findByHqlWhereCount(sw.toString()); count = userRDao.findByHqlWhereCount(sw.toString());
}else{ }else{
count = userRDao.findByPropertyCount("userLoginName",userLoginName); count = userRDao.findByPropertyCount(
new String[]{"userLoginName","isValid"},
new Object[]{userLoginName,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
} }
return count <= 0 ; return count <= 0 ;
} }
@ -271,12 +282,15 @@ public class PersonnelServiceService implements IPersonnelService {
int count; int count;
if(infoId > 0){ if(infoId > 0){
StringBuffer sw = new StringBuffer(); StringBuffer sw = new StringBuffer();
HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",sw);
HqlPack.getStringEqualPack(email,"userEmail",sw); HqlPack.getStringEqualPack(email,"userEmail",sw);
HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw); HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw);
count = userRDao.findByHqlWhereCount(sw.toString()); count = userRDao.findByHqlWhereCount(sw.toString());
}else{ }else{
count = userRDao.findByPropertyCount("userEmail",email); count = userRDao.findByPropertyCount(
new String[]{"userEmail","isValid"},
new Object[]{email,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
} }
return count <= 0 ; return count <= 0 ;
} }
@ -291,32 +305,38 @@ public class PersonnelServiceService implements IPersonnelService {
int count; int count;
if(infoId > 0){ if(infoId > 0){
StringBuffer sw = new StringBuffer(); StringBuffer sw = new StringBuffer();
HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",sw);
HqlPack.getStringEqualPack(phone,"userPhone",sw); HqlPack.getStringEqualPack(phone,"userPhone",sw);
HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw); HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw);
count = userRDao.findByHqlWhereCount(sw.toString()); count = userRDao.findByHqlWhereCount(sw.toString());
}else{ }else{
count = userRDao.findByPropertyCount("userPhone",phone); count = userRDao.findByPropertyCount(
new String[]{"userPhone","isValid"},
new Object[]{phone,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
} }
return count <= 0 ; return count <= 0 ;
} }
/** /**
* *
* @param phone * @param empNo
* @param infoId * @param infoId
* @return * @return
*/ */
private boolean checkSysUserEmpNo(String phone, long infoId) { private boolean checkSysUserEmpNo(String empNo, long infoId) {
int count; int count;
if(infoId > 0){ if(infoId > 0){
StringBuffer sw = new StringBuffer(); StringBuffer sw = new StringBuffer();
HqlPack.getStringEqualPack(phone,"userEmpNo",sw); HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",sw);
HqlPack.getStringEqualPack(empNo,"userEmpNo",sw);
HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw); HqlPack.getNumNOEqualPack(infoId,"userInfoId",sw);
count = userRDao.findByHqlWhereCount(sw.toString()); count = userRDao.findByHqlWhereCount(sw.toString());
}else{ }else{
count = userRDao.findByPropertyCount("userEmpNo",phone); count = userRDao.findByPropertyCount(
new String[]{"userEmpNo","isValid"},
new Object[]{empNo,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
} }
return count <= 0 ; return count <= 0 ;
} }
@ -392,24 +412,22 @@ public class PersonnelServiceService implements IPersonnelService {
// 新增用户角色关系 // 新增用户角色关系
List<SysRefUserRole> refUserRoles = new ArrayList<>(); List<SysRefUserRole> refUserRoles = new ArrayList<>();
List<String> roleNameList = new ArrayList<>(); List<String> roleNameList = new ArrayList<>();
List<String> roleIdList = new ArrayList<>();
SysRefUserRole refUserRole = null; SysRefUserRole refUserRole = null;
for (SysRole role : list) { for (SysRole role : list) {
roleNameList.add(role.getName()); roleNameList.add(role.getName());
roleIdList.add(role.getId().toString());
// 用户角色关系创建 // 用户角色关系创建
refUserRole = new SysRefUserRole(); refUserRole = new SysRefUserRole();
refUserRole.setRoleId(role.getId()); refUserRole.setRoleId(role.getId());
refUserRole.setRoleNameRdd(role.getName()); refUserRole.setRoleNameRdd(role.getName());
refUserRole.setUserId(user.getId()); refUserRole.setUserId(user.getId());
refUserRole.setUserNameRdd(user.getUserName()); refUserRole.setUserNameRdd(user.getUserName());
refUserRole.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
refUserRoles.add(refUserRole); refUserRoles.add(refUserRole);
} }
refUserRoleRDao.saveAll(refUserRoles); refUserRoleRDao.saveAll(refUserRoles);
// 角色名称冗余 // 角色名称冗余
user.setRoleNamesRdd(String.join(",", roleNameList)); user.setRoleNamesRdd(String.join(",", roleNameList));
user.setRoleIds(String.join(",", roleIdList));
userRDao.save(user); userRDao.save(user);
} }

@ -252,7 +252,6 @@ public class SysUserService implements ISysUserService {
// 角色名称冗余 // 角色名称冗余
// sysUser.setRoleNameRdd(String.join(",", roleNameList)); // sysUser.setRoleNameRdd(String.join(",", roleNameList));
// sysUser.setRoleId(list.get(0).getId());
sysUserRDao.save(sysUser); sysUserRDao.save(sysUser);
} }
@ -299,6 +298,23 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "查询用户ID 集合",notes = "根据角色Id 查询用户ID集合")
public List<Long> findSysUserIdListByRoleId(Long roleId) {
List<Long> result = new ArrayList<>();
if(roleId != null){
List<SysRefUserRole> list = refUserRoleRDao.findByProperty(
new String[]{"roleId","isValid"},
new Object[]{roleId,CommonEnumUtil.IS_VAILD.VAILD.getValue()});
if(list != null && list.size() > 0){
for (SysRefUserRole ref : list) {
result.add(ref.getUserId());
}
}
}
return result;
}
@Override
@ApiOperation(value = "账号分页查询", notes = "组合查询") @ApiOperation(value = "账号分页查询", notes = "组合查询")
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) { public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);

Loading…
Cancel
Save