更新用户信息、商户信息代码优化
This commit is contained in:
parent
33728965e9
commit
b44f350cd0
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.mgr.ctrl.merchant;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
|
@ -130,6 +131,7 @@ public class MchInfoController extends CommonCtrl {
|
|||
@RequestMapping(value="/{mchNo}", method = RequestMethod.PUT)
|
||||
public ApiRes update(@PathVariable("mchNo") String mchNo) {
|
||||
MchInfo mchInfo = getObject(MchInfo.class);
|
||||
List<Long> userIdCacheList = new ArrayList<>();
|
||||
mchInfo.setMchNo(mchNo);
|
||||
// 校验该商户是否为特邀商户
|
||||
MchInfo dbMchInfo = mchInfoService.getById(mchNo);
|
||||
|
|
@ -143,40 +145,38 @@ public class MchInfoController extends CommonCtrl {
|
|||
}
|
||||
// 如果商户状态为禁用状态,清除该商户用户登录信息
|
||||
if (mchInfo.getState() == CS.NO) {
|
||||
List<Long> userIdList = new ArrayList<>();
|
||||
List<SysUser> userList = sysUserService.list(SysUser.gw()
|
||||
.eq(SysUser::getBelongInfoId, mchNo)
|
||||
.eq(SysUser::getSysType, CS.SYS_TYPE.MCH)
|
||||
);
|
||||
if (userList.size() > 0) {
|
||||
for (SysUser user:userList) {
|
||||
userIdList.add(user.getSysUserId());
|
||||
userIdCacheList.add(user.getSysUserId());
|
||||
}
|
||||
}
|
||||
// 推送mq删除redis用户缓存
|
||||
mqQueue4ModifyMchUserRemove.push(StringUtils.join(userIdList, ","));
|
||||
}
|
||||
|
||||
//判断是否重置密码
|
||||
Boolean resetPass = getReqParamJSON().getBoolean("resetPass");
|
||||
if (resetPass != null && resetPass) {
|
||||
Boolean defaultPass = getReqParamJSON().getBoolean("defaultPass");
|
||||
String updatePwd = "";
|
||||
if (!defaultPass) {
|
||||
// 获取修改的密码
|
||||
updatePwd = getValStringRequired("confirmPwd");
|
||||
}else {
|
||||
// 重置默认密码
|
||||
updatePwd = CS.DEFAULT_PWD;
|
||||
//判断是否重置密码
|
||||
String updatePwd = getReqParamJSON().getBoolean("defaultPass") == false? Base64.decodeStr(getValStringRequired("confirmPwd")):CS.DEFAULT_PWD;
|
||||
if (StringUtils.isNotEmpty(updatePwd)) {
|
||||
// 获取商户最初的用户
|
||||
SysUser sysUser = sysUserService.getOne(SysUser.gw()
|
||||
.eq(SysUser::getBelongInfoId, mchNo)
|
||||
.eq(SysUser::getSysType, CS.SYS_TYPE.MCH)
|
||||
.eq(SysUser::getIsAdmin, CS.YES)
|
||||
);
|
||||
sysUserAuthService.resetAuthInfo(sysUser.getSysUserId(), null, null, updatePwd, CS.SYS_TYPE.MCH);
|
||||
if (mchInfo.getState() == CS.YES) userIdCacheList = Arrays.asList(sysUser.getSysUserId());
|
||||
}
|
||||
// 获取商户最初的用户
|
||||
List<SysUser> userList = sysUserService.list(SysUser.gw()
|
||||
.eq(SysUser::getBelongInfoId, mchNo)
|
||||
.eq(SysUser::getSysType, CS.SYS_TYPE.MCH)
|
||||
.orderByAsc(SysUser::getCreatedAt)
|
||||
);
|
||||
sysUserAuthService.resetAuthInfo(userList.get(0).getSysUserId(), null, null, updatePwd, CS.SYS_TYPE.MCH);
|
||||
}
|
||||
|
||||
// 商户被禁用、修改密码删除mq用户缓存
|
||||
if (mchInfo.getState() == CS.NO || resetPass) {
|
||||
// 推送mq删除redis用户缓存
|
||||
mqQueue4ModifyMchUserRemove.push(StringUtils.join(Arrays.asList(userList.get(0).getSysUserId()), ","));
|
||||
mqQueue4ModifyMchUserRemove.push(StringUtils.join(Arrays.asList(userIdCacheList), ","));
|
||||
}
|
||||
|
||||
boolean result = mchInfoService.updateById(mchInfo);
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.mgr.ctrl.sysuser;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jeequan.jeepay.core.aop.MethodLog;
|
||||
import com.jeequan.jeepay.core.constants.CS;
|
||||
import com.jeequan.jeepay.core.entity.SysUser;
|
||||
import com.jeequan.jeepay.core.exception.BizException;
|
||||
import com.jeequan.jeepay.core.utils.StringKit;
|
||||
import com.jeequan.jeepay.core.model.ApiRes;
|
||||
import com.jeequan.jeepay.mgr.ctrl.CommonCtrl;
|
||||
import com.jeequan.jeepay.mgr.service.AuthService;
|
||||
|
|
@ -131,23 +131,14 @@ public class SysUserController extends CommonCtrl {
|
|||
public ApiRes update(@PathVariable("recordId") Long recordId) {
|
||||
SysUser sysUser = getObject(SysUser.class);
|
||||
sysUser.setSysUserId(recordId);
|
||||
Boolean resetPass = getReqParamJSON().getBoolean("resetPass");
|
||||
//判断是否自己禁用自己
|
||||
if(recordId.equals(getCurrentUser().getSysUser().getSysUserId()) && sysUser.getState() != null && sysUser.getState() == CS.PUB_DISABLE){
|
||||
throw new BizException("系统不允许禁用当前登陆用户!");
|
||||
}
|
||||
|
||||
//判断是否重置密码
|
||||
Boolean resetPass = getReqParamJSON().getBoolean("resetPass");
|
||||
if (resetPass != null && resetPass) {
|
||||
Boolean defaultPass = getReqParamJSON().getBoolean("defaultPass");
|
||||
String updatePwd = "";
|
||||
if (!defaultPass) {
|
||||
// 获取修改的密码
|
||||
updatePwd = getValStringRequired("confirmPwd");
|
||||
}else {
|
||||
// 重置默认密码
|
||||
updatePwd = CS.DEFAULT_PWD;
|
||||
}
|
||||
String updatePwd = getReqParamJSON().getBoolean("defaultPass") == false ? Base64.decodeStr(getValStringRequired("confirmPwd")) : CS.DEFAULT_PWD;
|
||||
sysUserAuthService.resetAuthInfo(recordId, null, null, updatePwd, CS.SYS_TYPE.MGR);
|
||||
// 删除用户redis缓存信息
|
||||
authService.delAuthentication(Arrays.asList(recordId));
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.mch.ctrl.sysuser;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jeequan.jeepay.core.aop.MethodLog;
|
||||
|
|
@ -100,6 +101,7 @@ public class SysUserController extends CommonCtrl {
|
|||
public ApiRes add() {
|
||||
SysUser sysUser = getObject(SysUser.class);
|
||||
sysUser.setBelongInfoId(getCurrentUser().getSysUser().getBelongInfoId());
|
||||
sysUser.setIsAdmin(CS.NO);
|
||||
sysUserService.addSysUser(sysUser, CS.SYS_TYPE.MCH);
|
||||
return ApiRes.ok();
|
||||
}
|
||||
|
|
@ -137,28 +139,22 @@ public class SysUserController extends CommonCtrl {
|
|||
public ApiRes update(@PathVariable("recordId") Long recordId) {
|
||||
SysUser sysUser = getObject(SysUser.class);
|
||||
sysUser.setSysUserId(recordId);
|
||||
|
||||
// 如果当前用户为非超管则用户状态为普通用户
|
||||
if (getCurrentUser().getSysUser().getIsAdmin() != CS.YES) sysUser.setIsAdmin(CS.NO);
|
||||
SysUser dbRecord = sysUserService.getOne(SysUser.gw().eq(SysUser::getSysUserId, recordId).eq(SysUser::getBelongInfoId, getCurrentMchNo()));
|
||||
if (dbRecord == null) throw new BizException(ApiCodeEnum.SYS_OPERATION_FAIL_SELETE);
|
||||
|
||||
Boolean resetPass = getReqParamJSON().getBoolean("resetPass");
|
||||
//判断是否自己禁用自己
|
||||
if(recordId.equals(getCurrentUser().getSysUser().getSysUserId()) && sysUser.getState() != null && sysUser.getState() == CS.PUB_DISABLE){
|
||||
throw new BizException("系统不允许禁用当前登陆用户!");
|
||||
}
|
||||
|
||||
//判断是否重置密码
|
||||
Boolean resetPass = getReqParamJSON().getBoolean("resetPass");
|
||||
if (resetPass != null && resetPass) {
|
||||
Boolean defaultPass = getReqParamJSON().getBoolean("defaultPass");
|
||||
String updatePwd = "";
|
||||
if (!defaultPass) {
|
||||
// 获取修改的密码
|
||||
updatePwd = getValStringRequired("confirmPwd");
|
||||
}else {
|
||||
// 重置默认密码
|
||||
updatePwd = CS.DEFAULT_PWD;
|
||||
}
|
||||
sysUserAuthService.resetAuthInfo(recordId, null, null, updatePwd, CS.SYS_TYPE.MCH);
|
||||
//判断是否重置密码
|
||||
String updatePwd = getReqParamJSON().getBoolean("defaultPass") == false? Base64.decodeStr(getValStringRequired("confirmPwd")):CS.DEFAULT_PWD;
|
||||
sysUserAuthService.resetAuthInfo(sysUser.getSysUserId(), null, null, updatePwd, CS.SYS_TYPE.MCH);
|
||||
// 删除用户redis缓存信息
|
||||
authService.delAuthentication(Arrays.asList(recordId));
|
||||
}
|
||||
|
|
@ -190,13 +186,13 @@ public class SysUserController extends CommonCtrl {
|
|||
}
|
||||
|
||||
//判断是否删除商户默认超管
|
||||
List<SysUser> userList = sysUserService.list(SysUser.gw()
|
||||
.eq(SysUser::getBelongInfoId, sysUser.getBelongInfoId())
|
||||
SysUser mchUserDefault = sysUserService.getOne(SysUser.gw()
|
||||
.eq(SysUser::getBelongInfoId, getCurrentMchNo())
|
||||
.eq(SysUser::getSysType, CS.SYS_TYPE.MCH)
|
||||
.orderByAsc(SysUser::getCreatedAt)
|
||||
.eq(SysUser::getIsAdmin, CS.YES)
|
||||
);
|
||||
|
||||
if (userList.size() > 0 && userList.get(0).getSysUserId().equals(recordId)) {
|
||||
if (mchUserDefault.getSysUserId().equals(recordId)) {
|
||||
throw new BizException("系统不允许删除商户默认用户!");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ public class AuthService {
|
|||
SysUser sysUser = jeeUserDetails.getSysUser();
|
||||
|
||||
//非超级管理员 && 不包含左侧菜单 进行错误提示
|
||||
if(sysUser.getIsAdmin() != CS.YES && sysEntitlementMapper.userHasLeftMenu(sysUser.getSysUserId(), CS.SYS_TYPE.MGR) <= 0){
|
||||
if(sysUser.getIsAdmin() != CS.YES && sysEntitlementMapper.userHasLeftMenu(sysUser.getSysUserId(), CS.SYS_TYPE.MCH) <= 0){
|
||||
throw new BizException("当前用户未分配任何菜单权限,请联系管理员进行分配后再登录!");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue