From 856f0767b4ada087e9e2cb33f373e23dbcf39b85 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 07 三月 2023 17:56:59 +0800 Subject: [PATCH] update 同步 ruoyi * update element-ui 2.15.10 => 2.15.12 * update 优化 tagsView右选框,首页不应该存在关闭左侧选项 * update copyright 2023 * update 优化 监控页面图标显示 * update 优化 日志注解支持排除指定的请求参数 * update 优化 业务校验优化代码 * fix 修复 优化文件下载出现的异常 * fix 修复 修改密码日志存储明文问题 * add 新增 操作日志消耗时间属性 * update 优化 日志管理使用索引提升查询性能 * update 优化 框架时间检索使用时间默认值 00:00:00 - 23:59:59 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 17 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java index ea2bc54..8721111 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java @@ -290,49 +290,74 @@ * 鏍¢獙浼佷笟鍚嶇О鏄惁鍞竴 */ @Override - public String checkCompanyNameUnique(SysTenantBo bo) { + public boolean checkCompanyNameUnique(SysTenantBo bo) { boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysTenant>() .eq(SysTenant::getCompanyName, bo.getCompanyName()) .ne(ObjectUtil.isNotNull(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId())); - if (exist) { - return TenantConstants.NOT_PASS; - } - return TenantConstants.PASS; + return !exist; } /** * 鏍¢獙璐﹀彿浣欓 */ @Override - public String checkAccountBalance(String tenantId) { + public boolean checkAccountBalance(String tenantId) { SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId); // 濡傛灉浣欓涓�-1浠h〃涓嶉檺鍒� if (tenant.getAccountCount() == -1) { - return TenantConstants.PASS; + return true; } Long userNumber = sysUserMapper.selectCount(new LambdaQueryWrapper<>()); // 濡傛灉浣欓澶т簬0浠h〃杩樻湁鍙敤鍚嶉 - if (tenant.getAccountCount() - userNumber > 0) { - return TenantConstants.PASS; - } - return TenantConstants.NOT_PASS; + return tenant.getAccountCount() - userNumber > 0; } /** * 鏍¢獙鏈夋晥鏈� */ @Override - public String checkExpireTime(String tenantId) { + public boolean checkExpireTime(String tenantId) { SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId); // 濡傛灉鏈缃繃鏈熸椂闂翠唬琛ㄤ笉闄愬埗 if (ObjectUtil.isNull(tenant.getExpireTime())) { - return TenantConstants.PASS; + return true; } // 濡傛灉褰撳墠鏃堕棿鍦ㄨ繃鏈熸椂闂翠箣鍓嶅垯閫氳繃 - if (new Date().before(tenant.getExpireTime())) { - return TenantConstants.PASS; - } - return TenantConstants.NOT_PASS; + return new Date().before(tenant.getExpireTime()); } + /** + * 鍚屾绉熸埛濂楅 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean syncTenantPackage(String tenantId, String packageId) { + TenantHelper.enableIgnore(); + SysTenantPackage tenantPackage = sysTenantPackageMapper.selectById(packageId); + List<SysRole> roles = sysRoleMapper.selectList( + new LambdaQueryWrapper<SysRole>().eq(SysRole::getTenantId, tenantId)); + List<Long> roleIds = new ArrayList<>(roles.size() - 1); + List<Long> menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong); + roles.forEach(item -> { + if (TenantConstants.TENANT_ADMIN_ROLE_KEY.equals(item.getRoleKey())) { + List<SysRoleMenu> roleMenus = new ArrayList<>(menuIds.size()); + menuIds.forEach(menuId -> { + SysRoleMenu roleMenu = new SysRoleMenu(); + roleMenu.setRoleId(item.getRoleId()); + roleMenu.setMenuId(menuId); + roleMenus.add(roleMenu); + }); + sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, item.getRoleId())); + sysRoleMenuMapper.insertBatch(roleMenus); + } else { + roleIds.add(item.getRoleId()); + } + }); + if (!roleIds.isEmpty()) { + sysRoleMenuMapper.delete( + new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getRoleId, roleIds).notIn(!menuIds.isEmpty(), SysRoleMenu::getMenuId, menuIds)); + } + TenantHelper.disableIgnore(); + return true; + } } -- Gitblit v1.9.3