From b4310bd87c7c2c74bb7074a4714a389db6b013c5 Mon Sep 17 00:00:00 2001 From: wynne1005 Date: Mon, 21 Jun 2021 14:59:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/mq/PojoVersionQueueReceiver.java | 6 ++++-- .../serviceimpl/busi/PersonnelServiceService.java | 24 +++++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java index 9b6a11d..bed6455 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java @@ -165,13 +165,15 @@ public class PojoVersionQueueReceiver { } } } catch (Exception e) { + LOGGER.error("pojoVersion 消息处理失败{}", new String(message.getBody()), e); e.printStackTrace(); + isNack = true; } finally { try { if (isNack) { - channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true); } else { - channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false); + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); } } catch (Exception e) { LOGGER.error("Pojo Version MQ ACK Error Message :{}", e.getMessage()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index 4c9749e..80fbda3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -973,18 +973,26 @@ public class PersonnelServiceService implements IPersonnelService { } } } + @Override public void refreshRefSysUserRole(Long userId, Long[] roleIds) { - LOGGER.info("账号角色关系信息 RefSysUserRole userId:{} roleIds:{} ", userId,roleIds); + LOGGER.info("账号角色关系信息 RefSysUserRole userId:{} roleIds:{} ", userId, roleIds); SysUser user = userRDao.getById(userId); - if(user != null){ + String previousRole = ""; + String currentRole = ""; + if (user != null) { // 根据IDS 查询所有的角色信息 List list = roleService.findByIdList(Arrays.asList(roleIds)); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getNumEqualPack(userId, "userId", packBean); + List refUserRoleList = refUserRoleRDao.findByHqlWhere(packBean); + List rolesRdds = refUserRoleList.stream().map(SysRefUserRole::getRoleNameRdd).collect(Collectors.toList()); + previousRole = StringUtils.join(rolesRdds, ","); // 删除角色关系信息 refUserRoleRDao.deleteByProperty("userId", user.getId()); // 删除用户角色关系 - if(null != list && list.size() > 0){ + if (null != list && list.size() > 0) { // 新增用户角色关系 List refUserRoles = new ArrayList<>(); SysRefUserRole refUserRole = null; @@ -1000,6 +1008,15 @@ public class PersonnelServiceService implements IPersonnelService { refUserRole.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); refUserRoles.add(refUserRole); } + List roleRdds = refUserRoles.stream().map(SysRefUserRole::getRoleNameRdd).collect(Collectors.toList()); + currentRole = StringUtils.join(roleRdds, ","); + SysLogRoleChange logRoleChange=new SysLogRoleChange(); + logRoleChange.setUserName(user.getUserName()); + logRoleChange.setUserId(userId); + logRoleChange.setPreviousRoles(previousRole); + logRoleChange.setCurrentRoles(currentRole); + ConvertBean.serviceModelInitialize(logRoleChange,AuthUtil.getSessionUser().getUserName()); + logRoleChangeRepository.save(logRoleChange); refUserRoleRDao.saveAll(refUserRoles); userRDao.save(user); @@ -1261,6 +1278,7 @@ public class PersonnelServiceService implements IPersonnelService { /** * 登录名 唯一检查 + * * @param userLoginName * @param userId * @return