Merge branch 'dev' into test

yun-zuoyi
wynne1005 4 years ago
commit 345d2e835a

@ -15,18 +15,22 @@ public interface ISysUserPasswordService extends ICrudService<SysUserPassword> {
/**
*
*
* @param userId ID
* @param password
* @param newPwd
*/
@ApiOperation(value = "修改用户密码")
void updatePassword(Long userId,String password,String newPwd);
void updatePassword(Long userId, String password, String newPwd);
@ApiOperation(value = "修改用户密码")
void updatePassword(String loginName,String password,String newPwd);
void updatePassword(String loginName, String password, String newPwd);
@ApiOperation(value = "重置用户密码")
void updatePassword(Long userId,String password);
void updatePassword(Long userId, String password);
void updatePasswordWizoutSession(String loginName,String password,String newPwd);
@ApiOperation(value = "重置用户密码")
void updatePasswordResetLastModifyTime(Long userId, String password);
void updatePasswordWizoutSession(String loginName, String password, String newPwd);
}

@ -57,7 +57,7 @@ import java.util.List;
@RestController
@Api(tags = "系统用户服务")
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-user")
public class SysUserController extends CoreBaseController{
public class SysUserController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserController.class);
@ -81,26 +81,27 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param sysUser
* @param roleIds id
* @return
*/
@PostMapping(value = "/insert")
@ApiOperation(value = "新增用户", notes = "新增系统用户")
public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) {
public ResultBean insertSysUser(SysUser sysUser, String[] roleIds) {
try {
startMultiService();
ConvertBean.modelSafeArrayNumber(roleIds,true);
ConvertBean.modelSafeArrayNumber(roleIds, true);
ValidatorBean.beginValid(sysUser)
.numberCheck("userInfoId",sysUser.getUserInfoId())
.notNull("userLoginName",sysUser.getUserLoginName())
.numberCheck("userInfoId", sysUser.getUserInfoId())
.notNull("userLoginName", sysUser.getUserLoginName())
// FIXME 松下取消邮箱校验
// .notNull("userEmail",sysUser.getUserEmail())
.notNull("userLoginPassword",sysUser.getUserLoginPassword());
.notNull("userLoginPassword", sysUser.getUserLoginPassword());
if(roleIds == null || roleIds.length <= 0){
if (roleIds == null || roleIds.length <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
@ -112,7 +113,7 @@ public class SysUserController extends CoreBaseController{
personnelService.checkSysUserOnly(sysUser);
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId());
if(userInfo == null){
if (userInfo == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
@ -126,12 +127,12 @@ public class SysUserController extends CoreBaseController{
sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
sysUser.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue());
sysUser.setUserLoginNum(0);
ConvertBean.modelInitialize(sysUser,AuthUtil.getSessionUser());
ConvertBean.modelInitialize(sysUser, AuthUtil.getSessionUser());
SysUser user = sysUserService.insertSysUser(sysUser);
// 更新用户关系
personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(roleIds));
personnelService.refreshRefSysUserRole(user.getId(), StringTool.getArrayLong(roleIds));
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -145,25 +146,26 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param sysUser
* @param roleIds id
* @return
*/
@PutMapping(value = "/update")
@ApiOperation(value = "修改用户", notes = "修改用户信息")
public ResultBean updateSysUser(SysUser sysUser,String[] roleIds) {
public ResultBean updateSysUser(SysUser sysUser, String[] roleIds) {
try {
startMultiService();
ConvertBean.modelSafeArrayNumber(roleIds,true);
ConvertBean.modelSafeArrayNumber(roleIds, true);
ValidatorBean.beginValid(sysUser)
.numberCheck("id",sysUser.getUserInfoId())
.numberCheck("userInfoId",sysUser.getUserInfoId())
.notNull("userLoginName",sysUser.getUserLoginName());
.numberCheck("id", sysUser.getUserInfoId())
.numberCheck("userInfoId", sysUser.getUserInfoId())
.notNull("userLoginName", sysUser.getUserLoginName());
// FIXME 松下取消邮箱校验
// .notNull("userEmail",sysUser.getUserEmail());
if(roleIds == null || roleIds.length <= 0){
if (roleIds == null || roleIds.length <= 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
@ -177,7 +179,7 @@ public class SysUserController extends CoreBaseController{
// 用户信息封装
SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId());
SysUser user = sysUserService.getSysUserById(sysUser.getId());
if(userInfo == null){
if (userInfo == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
@ -186,7 +188,7 @@ public class SysUserController extends CoreBaseController{
}
// 修改密码
if(sysUser.getUserLoginPassword() != null && sysUser.getUserLoginPassword().trim().length() > 0){
if (sysUser.getUserLoginPassword() != null && sysUser.getUserLoginPassword().trim().length() > 0) {
String md5 = EncryptTool.hexMD5(sysUser.getUserLoginPassword());
user.setUserLoginPassword(md5);
}
@ -196,10 +198,10 @@ public class SysUserController extends CoreBaseController{
user.setUserLoginName(sysUser.getUserLoginName());
user.setUserEmail(sysUser.getUserEmail());
user.setUserPhone(sysUser.getUserPhone());
ConvertBean.modelUpdate(sysUser,AuthUtil.getSessionUser());
ConvertBean.modelUpdate(sysUser, AuthUtil.getSessionUser());
// 更新用户关系
personnelService.refreshRefSysUserRole(user.getId(),StringTool.getArrayLong(roleIds));
personnelService.refreshRefSysUserRole(user.getId(), StringTool.getArrayLong(roleIds));
sysUserService.updateSysUser(user);
return ResultBean.success("操作成功")
@ -214,6 +216,7 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param id id
* @param status
* @return
@ -237,56 +240,59 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param ids id
* @param status
* @return
*/
@PutMapping(value = "/batch-status")
@ApiOperation(value = "批量修改系统功能状态", notes = "根据ID修改系统功能状态")
public ResultBean updateBatchStatus(String[] ids,int status) {
public ResultBean updateBatchStatus(String[] ids, int status) {
try {
ids = ConvertBean.modelSafeArrayNumber(ids,true);
ids = ConvertBean.modelSafeArrayNumber(ids, true);
// 数据校验
ValidatorBean.checkNotNull(ids, "功能id 不能为空");
ValidatorBean.checkNotZero(status, "功能状态不能为空");
sysUserService.updateBatchSysUserStatus(StringTool.getArrayLong(ids),status,AuthUtil.getSessionUser());
sysUserService.updateBatchSysUserStatus(StringTool.getArrayLong(ids), status, AuthUtil.getSessionUser());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param password
* @param newPwd
* @return
*/
@PutMapping(value = "/update-password")
@ApiOperation(value = "修改密码", notes = "修改当前登录用户密码")
public ResultBean updateSysUserPassword(String password,String newPwd) {
public ResultBean updateSysUserPassword(String password, String newPwd) {
try {
SessionUser sessionUser = AuthUtil.getSessionUser();
// 数据校验
ValidatorBean.checkNotNull(password, "旧密码不能为空");
ValidatorBean.checkNotNull(newPwd, "新密码不能为空");
userPasswordService.updatePassword(sessionUser.getUser().getId(),password,newPwd.trim());
userPasswordService.updatePassword(sessionUser.getUser().getId(), password, newPwd.trim());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @return
*/
@GetMapping(value = "/list")
@ -306,16 +312,17 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param user
* @param pager
* @return
*/
@GetMapping(value="/query-user-by-pager")
@ApiOperation(value="查询系统用户",notes="组合查询用户,外带分页查询(isValid = 1)")
public ResultBean querySysUserByPager(SysUser user, Pager pager){
try{
@GetMapping(value = "/query-user-by-pager")
@ApiOperation(value = "查询系统用户", notes = "组合查询用户,外带分页查询(isValid = 1)")
public ResultBean querySysUserByPager(SysUser user, Pager pager) {
try {
List<Long> idList = new ArrayList<>();
if(user.getOrganizeId() == null || user.getOrganizeId() <= 0) {
if (user.getOrganizeId() == null || user.getOrganizeId() <= 0) {
if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) {
user.setOrganizeCode(null);
user.setOrganizeId(null);
@ -325,32 +332,33 @@ public class SysUserController extends CoreBaseController{
}
}
if(user.getRoleId() != null){
if (user.getRoleId() != null) {
List<SysRefUserRole> refUserRoleList = personnelService.findSysRefUserRole(user.getRoleId(), null);
if(refUserRoleList != null && refUserRoleList.size() > 0){
if (refUserRoleList != null && refUserRoleList.size() > 0) {
refUserRoleList.forEach(ref -> idList.add(ref.getUserId()));
}
}
List<Long> departmentIdList = coreMemTreeService.findDepartmentIdListByOrganizeIdAndDepartmentId(user.getOrganizeId(), user.getDepartmentId());
if(departmentIdList != null && departmentIdList.size() > 0){
if (departmentIdList != null && departmentIdList.size() > 0) {
List<SysRefUserDepartment> refList = personnelService.findSysRefUserDepartmentByDepartmentIdList(departmentIdList);
if(refList != null && refList.size() > 0){
if (refList != null && refList.size() > 0) {
refList.forEach(ref -> idList.add(ref.getUserId()));
}
}
ListPager<SysUser> listPager = sysUserService.querySysUserByPager(user,idList, pager);
ListPager<SysUser> listPager = sysUserService.querySysUserByPager(user, idList, pager);
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param id id
* @return
*/
@ -372,15 +380,16 @@ public class SysUserController extends CoreBaseController{
/**
* id
*
* @param ids id
* @return
*/
@DeleteMapping(value = "/batch-delete")
@ApiOperation(value = "根据id批量删除", notes = "根据id批量删除")
public ResultBean deleteBatchSysUserByIds(String[] ids){
try{
ids = ConvertBean.modelSafeArrayNumber(ids,true);
if(ids.length == 0){
public ResultBean deleteBatchSysUserByIds(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())
@ -388,17 +397,18 @@ public class SysUserController extends CoreBaseController{
.build();
}
sysUserService.deleteBatchSysUserById(StringTool.getArrayLong(ids),AuthUtil.getSessionUser());
sysUserService.deleteBatchSysUserById(StringTool.getArrayLong(ids), AuthUtil.getSessionUser());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param userId id
* @return
*/
@ -420,27 +430,28 @@ public class SysUserController extends CoreBaseController{
/**
* id
*
* @param id id
* @return
*/
@PostMapping("/reset-pwd/{id}")
@ApiOperation(value = "密码重置",notes = "根据id重置用户密码")
public ResultBean updateResetPassword(@PathVariable String id){
@ApiOperation(value = "密码重置", notes = "根据id重置用户密码")
public ResultBean updateResetPassword(@PathVariable String id) {
try {
startMultiService();
SysUser user = sysUserService.getSysUserById(Long.parseLong(id));
if(user != null){
if (user != null) {
Integer num = personnelService.checkSysUserResetPassword(user);
num = CommonConstWords.CONFIG_PWD_RESET_PASSWORD_DEFAULT - num;
String password = RandomStringUtils.random(6, true, false);
userPasswordService.updatePassword(user.getId(),password);
userPasswordService.updatePasswordResetLastModifyTime(user.getId(), password);
String content = "系统提示:\n" +
"\t"+getSessionUser().getUserName()+"使用密码重置功能帮您重置了【"+user.getUserLoginName()+"】账号的密码," +
"新密码是:"+password+"";
"\t" + getSessionUser().getUserName() + "使用密码重置功能帮您重置了【" + user.getUserLoginName() + "】账号的密码," +
"新密码是:" + password + "";
SysMessage message = new SysMessage();
message.setMessageTitle("重置密码");
@ -456,11 +467,11 @@ public class SysUserController extends CoreBaseController{
sysMessageService.doSendSysMessage(message);
LOGGER.info("系统提示:{} 使用密码重置功能帮{}重置了{}账号的密码,新密码是:{}",
getSessionUser().getUserName(),user.getUserName(),user.getUserLoginName(),password);
getSessionUser().getUserName(), user.getUserName(), user.getUserLoginName(), password);
String result = "操作成功,【"+user.getUserName()+"】账号今日重置密码次数剩余" +num+ "次";
String result = "操作成功,【" + user.getUserName() + "】账号今日重置密码次数剩余" + num + "次";
return ResultBean.success(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
} else {
return ResultBean.success("操作失败")
.setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
.setErrorMsg("用户不存在");
@ -474,22 +485,23 @@ public class SysUserController extends CoreBaseController{
/**
*
*
* @param email
* @return
*/
@GetMapping("/verification/get-email")
@ApiOperation(value = "发送验证码",notes = "发送邮件验证码")
public ResultBean getEmailVerification(String email){
@ApiOperation(value = "发送验证码", notes = "发送邮件验证码")
public ResultBean getEmailVerification(String email) {
try {
SysUser user = sysUserService.getSysUserByEmail(email);
if(user != null){
if (user != null) {
String verification = RandomStringUtils.random(6, true, false);
String redisKey = CommonConstWords.SESSION_VERIFICATION_USER_EMAIL + "_" + getSessionUser().getUserId();
redisCore.putObject(redisKey, verification + "-" + email, 180);
String content = "系统提示:\n" +
"\t密码找回验证码【"+verification+"】";
"\t密码找回验证码【" + verification + "】";
SysMessage message = new SysMessage();
message.setMessageTitle("验证码");
@ -505,9 +517,9 @@ public class SysUserController extends CoreBaseController{
sysMessageService.doSendSysMessage(message);
LOGGER.info("系统提示:\t 密码找回验证码【{}】",verification);
LOGGER.info("系统提示:\t 密码找回验证码【{}】", verification);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
} else {
return ResultBean.success("操作失败")
.setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode())
.setErrorMsg("用户不存在");
@ -569,14 +581,15 @@ public class SysUserController extends CoreBaseController{
/**
* id
*
* @param idStr
* @param organizeIdStr id
* @return
*/
@PutMapping("/update-organize")
@ApiOperation(value = "修改用户操作组织id")
public ResultBean updateSysUserOrganize(String idStr, String organizeIdStr){
try{
public ResultBean updateSysUserOrganize(String idStr, String organizeIdStr) {
try {
startMultiService();
ValidatorBean.checkNotNull(idStr, "id不能为空");

@ -102,12 +102,40 @@ public class SysUserSavePasswordService extends CrudService<SysUserPassword> imp
SysUserPassword save = userPasswordRDao.save(pwd);
user.setUserLoginPasswordId(save.getId());
// 松下需要 重置密码之后 重新登录重新设置密码
user.setUserPasswordLastModifyTime(TimeTool.getNowTime(true));
ConvertBean.serviceModelUpdate(user, AuthUtil.getSessionUser().getUserName());
userService.updateSysUser(user);
}
@Override
public void updatePasswordResetLastModifyTime(Long userId, String password) {
SysUser user = userService.getSysUserById(userId);
ValidatorBean.checkNotNull(user, "不存在的用户信息");
user.setUserLoginPassword(password);
userPasswordUtil.checkPasswordSave(user);
userPasswordRDao.updateByProperties(
new String[]{"userId", "isDeleted"},
new Object[]{user.getId(), CommonEnumUtil.IS_DEAL.NO.getValue()},
new String[]{"isDeleted", "modifyDatetime", "modifyUser"},
new Object[]{
CommonEnumUtil.IS_DEAL.YES.getValue(), TimeTool.getNowTime(true), AuthUtil.getSessionUser().getUserName()});
SysUserPassword pwd = new SysUserPassword();
pwd.setUserId(userId);
pwd.setUserPassword(SysUserPasswordUtil.encoder(password));
ConvertBean.serviceModelInitialize(pwd, AuthUtil.getSessionUser());
SysUserPassword save = userPasswordRDao.save(pwd);
user.setUserLoginPasswordId(save.getId());
// 松下需要 重置密码之后 重新登录重新设置密码
user.setUserPasswordLastModifyTime("");
ConvertBean.serviceModelUpdate(user, AuthUtil.getSessionUser().getUserName());
userService.updateSysUser(user);
}
@Override
public void updatePasswordWizoutSession(String loginName, String password, String newPwd) {
SysUser user = userService.validatePasswordByLoginNameAndReturnUser(loginName, password);
user.setUserLoginPassword(newPwd);

Loading…
Cancel
Save