提交 b44f350c 编写于 作者: X xiaoyu

更新用户信息、商户信息代码优化

上级 33728965
......@@ -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("当前用户未分配任何菜单权限,请联系管理员进行分配后再登录!");
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册