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