diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteConfigService.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteConfigService.java index 288679d32..f66338fc6 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteConfigService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteConfigService.java @@ -15,10 +15,9 @@ public interface RemoteConfigService { /** * 获取注册开关 - * @param tenantId 租户id * @return true开启,false关闭 */ - boolean selectRegisterEnabled(String tenantId); + boolean selectRegisterEnabled(); /** * 根据参数 key 获取参数值 diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteTenantService.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteTenantService.java deleted file mode 100644 index 2626abed2..000000000 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteTenantService.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dromara.system.api; - - -import org.dromara.system.api.domain.vo.RemoteTenantVo; - -import java.util.List; - -/** - * 租户服务 - * - * @author zhujie - */ -public interface RemoteTenantService { - - /** - * 根据租户id获取租户详情 - * @param tenantId 租户id - * @return 结果 - */ - RemoteTenantVo queryByTenantId(String tenantId); - - /** - * 获取租户列表 - * @return 结果 - */ - List queryList(); - -} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java index 5440ae417..c58eb87d4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java @@ -21,37 +21,33 @@ public interface RemoteUserService { * 通过用户名查询用户信息 * * @param username 用户名 - * @param tenantId 租户id * @return 结果 */ - LoginUser getUserInfo(String username, String tenantId) throws UserException; + LoginUser getUserInfo(String username) throws UserException; /** * 通过用户id查询用户信息 * - * @param userId 用户id - * @param tenantId 租户id + * @param userId 用户id * @return 结果 */ - LoginUser getUserInfo(Long userId, String tenantId) throws UserException; + LoginUser getUserInfo(Long userId) throws UserException; /** * 通过手机号查询用户信息 * * @param phonenumber 手机号 - * @param tenantId 租户id * @return 结果 */ - LoginUser getUserInfoByPhonenumber(String phonenumber, String tenantId) throws UserException; + LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException; /** * 通过邮箱查询用户信息 * - * @param email 邮箱 - * @param tenantId 租户id + * @param email 邮箱 * @return 结果 */ - LoginUser getUserInfoByEmail(String email, String tenantId) throws UserException; + LoginUser getUserInfoByEmail(String email) throws UserException; /** * 通过openid查询用户信息 diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteLogininforBo.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteLogininforBo.java index d8c48a924..a387c262a 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteLogininforBo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteLogininforBo.java @@ -26,11 +26,6 @@ public class RemoteLogininforBo implements Serializable { */ private Long infoId; - /** - * 租户编号 - */ - private String tenantId; - /** * 用户账号 */ diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteOperLogBo.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteOperLogBo.java index 5ed441b82..e4347dd4b 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteOperLogBo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteOperLogBo.java @@ -26,11 +26,6 @@ public class RemoteOperLogBo implements Serializable { */ private Long operId; - /** - * 租户编号 - */ - private String tenantId; - /** * 模块标题 */ diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteUserBo.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteUserBo.java index 11f83a461..db0f1335d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteUserBo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteUserBo.java @@ -31,11 +31,6 @@ public class RemoteUserBo implements Serializable { */ private Long userId; - /** - * 租户ID - */ - private String tenantId; - /** * 部门ID */ diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSocialVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSocialVo.java index b3272f564..d01c96829 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSocialVo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteSocialVo.java @@ -26,11 +26,6 @@ public class RemoteSocialVo implements Serializable { */ private Long userId; - /** - * 租户ID - */ - private String tenantId; - /** * 认证唯一ID */ diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteTenantVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteTenantVo.java deleted file mode 100644 index b9387f9da..000000000 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteTenantVo.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.dromara.system.api.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - - -/** - * 租户视图对象 - * - * @author zhujie - */ -@Data -public class RemoteTenantVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * id - */ - private Long id; - - /** - * 租户编号 - */ - private String tenantId; - - /** - * 联系人 - */ - private String contactUserName; - - /** - * 联系电话 - */ - private String contactPhone; - - /** - * 企业名称 - */ - private String companyName; - - /** - * 统一社会信用代码 - */ - private String licenseNumber; - - /** - * 地址 - */ - private String address; - - /** - * 域名 - */ - private String domain; - - /** - * 企业简介 - */ - private String intro; - - /** - * 备注 - */ - private String remark; - - /** - * 租户套餐编号 - */ - private Long packageId; - - /** - * 过期时间 - */ - private Date expireTime; - - /** - * 用户数量(-1不限制) - */ - private Long accountCount; - - /** - * 租户状态(0正常 1停用) - */ - private String status; - -} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java index 010ec42ce..15ef85ab2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java @@ -20,11 +20,6 @@ public class LoginUser implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 租户ID - */ - private String tenantId; - /** * 用户ID */ diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java index 9cafb31e6..d1017be01 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java @@ -62,13 +62,6 @@ public interface RemoteWorkflowService { */ Long getInstanceIdByBusinessId(String businessId); - /** - * 新增租户流程定义 - * - * @param tenantId 租户id - */ - void syncDef(String tenantId); - /** * 启动流程 * diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java index 78601929b..c95f1a248 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java @@ -51,11 +51,6 @@ public class RemoteWorkflowServiceMock implements RemoteWorkflowService { return null; } - @Override - public void syncDef(String tenantId) { - log.warn("服务调用异常 -> 降级处理"); - } - @Override public RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess) { log.warn("服务调用异常 -> 降级处理"); diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessDeleteEvent.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessDeleteEvent.java index 4e3ead97b..4cfadf471 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessDeleteEvent.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessDeleteEvent.java @@ -19,11 +19,6 @@ public class ProcessDeleteEvent extends RemoteApplicationEvent { @Serial private static final long serialVersionUID = 1L; - /** - * 租户ID - */ - private String tenantId; - /** * 流程定义编码 */ diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java index b98e1fb2c..6adb264ff 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java @@ -20,11 +20,6 @@ public class ProcessEvent extends RemoteApplicationEvent { @Serial private static final long serialVersionUID = 1L; - /** - * 租户ID - */ - private String tenantId; - /** * 流程定义编码 */ diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java index fed057603..e663a7599 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java @@ -20,11 +20,6 @@ public class ProcessTaskEvent extends RemoteApplicationEvent { @Serial private static final long serialVersionUID = 1L; - /** - * 租户ID - */ - private String tenantId; - /** * 流程定义编码 */ diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml index 89085a0df..37a6c73f8 100644 --- a/ruoyi-auth/pom.xml +++ b/ruoyi-auth/pom.xml @@ -72,10 +72,6 @@ org.dromara ruoyi-common-seata - - org.dromara - ruoyi-common-tenant - org.dromara diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java index 548adec42..d2c1d12e4 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/controller/TokenController.java @@ -1,10 +1,7 @@ package org.dromara.auth.controller; -import cn.dev33.satoken.exception.NotLoginException; import cn.hutool.core.codec.Base64; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; -import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthResponse; @@ -12,9 +9,7 @@ import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.request.AuthRequest; import me.zhyd.oauth.utils.AuthStateUtils; import org.apache.dubbo.config.annotation.DubboReference; -import org.dromara.auth.domain.vo.LoginTenantVo; import org.dromara.auth.domain.vo.LoginVo; -import org.dromara.auth.domain.vo.TenantListVo; import org.dromara.auth.form.RegisterBody; import org.dromara.auth.form.SocialLoginBody; import org.dromara.auth.service.IAuthStrategy; @@ -25,23 +20,17 @@ import org.dromara.common.core.domain.model.LoginBody; import org.dromara.common.core.utils.*; import org.dromara.common.encrypt.annotation.ApiEncrypt; import org.dromara.common.json.utils.JsonUtils; -import org.dromara.common.ratelimiter.annotation.RateLimiter; -import org.dromara.common.ratelimiter.enums.LimitType; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.social.config.properties.SocialLoginConfigProperties; import org.dromara.common.social.config.properties.SocialProperties; import org.dromara.common.social.utils.SocialUtils; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.resource.api.RemoteMessageService; import org.dromara.system.api.RemoteClientService; import org.dromara.system.api.RemoteConfigService; import org.dromara.system.api.RemoteSocialService; -import org.dromara.system.api.RemoteTenantService; import org.dromara.system.api.domain.vo.RemoteClientVo; -import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.springframework.web.bind.annotation.*; -import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.HashMap; @@ -67,8 +56,6 @@ public class TokenController { @DubboReference private final RemoteConfigService remoteConfigService; @DubboReference - private final RemoteTenantService remoteTenantService; - @DubboReference private final RemoteClientService remoteClientService; @DubboReference private final RemoteSocialService remoteSocialService; @@ -98,8 +85,6 @@ public class TokenController { } else if (!SystemConstants.NORMAL.equals(clientVo.getStatus())) { return R.fail(MessageUtils.message("auth.grant.type.blocked")); } - // 校验租户 - sysLoginService.checkTenant(loginBody.getTenantId()); // 登录 LoginVo loginVo = IAuthStrategy.login(body, clientVo, grantType); @@ -118,14 +103,13 @@ public class TokenController { */ @GetMapping("/binding/{source}") public R authBinding(@PathVariable("source") String source, - @RequestParam String tenantId, @RequestParam String domain) { + @RequestParam String domain) { SocialLoginConfigProperties obj = socialProperties.getType().get(source); if (ObjectUtil.isNull(obj)) { return R.fail(source + "平台账号暂不支持"); } AuthRequest authRequest = SocialUtils.getAuthRequest(source, socialProperties); Map map = new HashMap<>(); - map.put("tenantId", tenantId); map.put("domain", domain); map.put("state", AuthStateUtils.createState()); String authorizeUrl = authRequest.authorize(Base64.encode(JsonUtils.toJsonString(map), StandardCharsets.UTF_8)); @@ -180,7 +164,7 @@ public class TokenController { @ApiEncrypt @PostMapping("register") public R register(@RequestBody RegisterBody registerBody) { - if (!remoteConfigService.selectRegisterEnabled(registerBody.getTenantId())) { + if (!remoteConfigService.selectRegisterEnabled()) { return R.fail("当前系统没有开启注册功能!"); } // 用户注册 @@ -188,48 +172,4 @@ public class TokenController { return R.ok(); } - /** - * 登录页面租户下拉框 - * - * @return 租户列表 - */ - @RateLimiter(time = 60, count = 20, limitType = LimitType.IP) - @GetMapping("/tenant/list") - public R tenantList(HttpServletRequest request) throws Exception { - // 返回对象 - LoginTenantVo result = new LoginTenantVo(); - boolean enable = TenantHelper.isEnable(); - result.setTenantEnabled(enable); - // 如果未开启租户这直接返回 - if (!enable) { - return R.ok(result); - } - - List tenantList = remoteTenantService.queryList(); - List voList = MapstructUtils.convert(tenantList, TenantListVo.class); - try { - // 如果只超管返回所有租户 - if (LoginHelper.isSuperAdmin()) { - result.setVoList(voList); - return R.ok(result); - } - } catch (NotLoginException ignored) { - } - - // 获取域名 - String host; - String referer = request.getHeader("referer"); - if (StringUtils.isNotBlank(referer)) { - // 这里从referer中取值是为了本地使用hosts添加虚拟域名,方便本地环境调试 - host = referer.split("//")[1].split("/")[0]; - } else { - host = new URL(request.getRequestURL().toString()).getHost(); - } - // 根据域名进行筛选 - List list = StreamUtils.filter(voList, vo -> - StringUtils.equalsIgnoreCase(vo.getDomain(), host)); - result.setVoList(CollUtil.isNotEmpty(list) ? list : voList); - return R.ok(result); - } - } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/domain/convert/TenantVoConvert.java b/ruoyi-auth/src/main/java/org/dromara/auth/domain/convert/TenantVoConvert.java deleted file mode 100644 index 7888f2c17..000000000 --- a/ruoyi-auth/src/main/java/org/dromara/auth/domain/convert/TenantVoConvert.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.dromara.auth.domain.convert; - -import io.github.linpeilie.BaseMapper; -import org.dromara.auth.domain.vo.TenantListVo; -import org.dromara.system.api.domain.vo.RemoteTenantVo; -import org.mapstruct.Mapper; -import org.mapstruct.MappingConstants; - -/** - * 租户vo转换器 - * @author zhujie - */ -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface TenantVoConvert extends BaseMapper { - -} diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginTenantVo.java b/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginTenantVo.java deleted file mode 100644 index fcfdcc3d2..000000000 --- a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/LoginTenantVo.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.dromara.auth.domain.vo; - -import lombok.Data; - -import java.util.List; - -/** - * 登录租户对象 - * - * @author Michelle.Chung - */ -@Data -public class LoginTenantVo { - - /** - * 租户开关 - */ - private Boolean tenantEnabled; - - /** - * 租户对象列表 - */ - private List voList; - -} diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/TenantListVo.java b/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/TenantListVo.java deleted file mode 100644 index 523e0f8ed..000000000 --- a/ruoyi-auth/src/main/java/org/dromara/auth/domain/vo/TenantListVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dromara.auth.domain.vo; - -import lombok.Data; - -/** - * 租户列表 - * - * @author zhujie - */ -@Data -public class TenantListVo { - - /** - * 租户编号 - */ - private String tenantId; - - /** - * 企业名称 - */ - private String companyName; - - /** - * 域名 - */ - private String domain; - -} diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/listener/UserActionListener.java b/ruoyi-auth/src/main/java/org/dromara/auth/listener/UserActionListener.java index 471539993..4bc293ce0 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/listener/UserActionListener.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/listener/UserActionListener.java @@ -18,7 +18,6 @@ import org.dromara.common.core.utils.ip.AddressUtils; import org.dromara.common.log.event.LogininforEvent; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.resource.api.RemoteMessageService; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.SysUserOnline; @@ -56,21 +55,17 @@ public class UserActionListener implements SaTokenListener { userOnline.setLoginTime(System.currentTimeMillis()); userOnline.setTokenId(tokenValue); String username = (String) loginParameter.getExtra(LoginHelper.USER_NAME_KEY); - String tenantId = (String) loginParameter.getExtra(LoginHelper.TENANT_KEY); userOnline.setUserName(username); userOnline.setClientKey((String) loginParameter.getExtra(LoginHelper.CLIENT_KEY)); userOnline.setDeviceType(loginParameter.getDeviceType()); userOnline.setDeptName((String) loginParameter.getExtra(LoginHelper.DEPT_NAME_KEY)); - TenantHelper.dynamic(tenantId, () -> { - if (loginParameter.getTimeout() == -1) { - RedisUtils.setCacheObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue, userOnline); - } else { - RedisUtils.setCacheObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue, userOnline, Duration.ofSeconds(loginParameter.getTimeout())); - } - }); + if (loginParameter.getTimeout() == -1) { + RedisUtils.setCacheObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue, userOnline); + } else { + RedisUtils.setCacheObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue, userOnline, Duration.ofSeconds(loginParameter.getTimeout())); + } // 记录登录日志 LogininforEvent logininforEvent = new LogininforEvent(); - logininforEvent.setTenantId(tenantId); logininforEvent.setUsername(username); logininforEvent.setStatus(Constants.LOGIN_SUCCESS); logininforEvent.setMessage(MessageUtils.message("user.login.success")); @@ -85,10 +80,7 @@ public class UserActionListener implements SaTokenListener { */ @Override public void doLogout(String loginType, Object loginId, String tokenValue) { - String tenantId = Convert.toStr(StpUtil.getExtra(tokenValue, LoginHelper.TENANT_KEY)); - TenantHelper.dynamic(tenantId, () -> { - RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); - }); + RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); log.info("user doLogout, useId:{}, token:{}", loginId, tokenValue); } @@ -97,10 +89,7 @@ public class UserActionListener implements SaTokenListener { */ @Override public void doKickout(String loginType, Object loginId, String tokenValue) { - String tenantId = Convert.toStr(StpUtil.getExtra(tokenValue, LoginHelper.TENANT_KEY)); - TenantHelper.dynamic(tenantId, () -> { - RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); - }); + RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); log.info("user doLogoutByLoginId, useId:{}, token:{}", loginId, tokenValue); } @@ -109,10 +98,7 @@ public class UserActionListener implements SaTokenListener { */ @Override public void doReplaced(String loginType, Object loginId, String tokenValue) { - String tenantId = Convert.toStr(StpUtil.getExtra(tokenValue, LoginHelper.TENANT_KEY)); - TenantHelper.dynamic(tenantId, () -> { - RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); - }); + RedisUtils.deleteObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue); log.info("user doReplaced, useId:{}, token:{}", loginId, tokenValue); } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java index da36aaee1..0fa817ea7 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java @@ -27,21 +27,16 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.log.event.LogininforEvent; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.exception.TenantException; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteSocialService; -import org.dromara.system.api.RemoteTenantService; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.bo.RemoteSocialBo; import org.dromara.system.api.domain.bo.RemoteUserBo; import org.dromara.system.api.domain.vo.RemoteSocialVo; -import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.Duration; -import java.util.Date; import java.util.List; import java.util.function.Supplier; @@ -58,8 +53,6 @@ public class SysLoginService { @DubboReference private RemoteUserService remoteUserService; @DubboReference - private RemoteTenantService remoteTenantService; - @DubboReference private RemoteSocialService remoteSocialService; @Autowired @@ -114,11 +107,7 @@ public class SysLoginService { if (ObjectUtil.isNull(loginUser)) { return; } - if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { - // 超级管理员 登出清除动态租户 - TenantHelper.clearDynamic(); - } - recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGOUT, MessageUtils.message("user.logout.success")); + recordLogininfor(loginUser.getUsername(), Constants.LOGOUT, MessageUtils.message("user.logout.success")); } catch (NotLoginException ignored) { } finally { try { @@ -132,7 +121,6 @@ public class SysLoginService { * 注册 */ public void register(RegisterBody registerBody) { - String tenantId = registerBody.getTenantId(); String username = registerBody.getUsername(); String password = registerBody.getPassword(); // 校验用户类型是否存在 @@ -141,12 +129,11 @@ public class SysLoginService { boolean captchaEnabled = captchaProperties.getEnabled(); // 验证码开关 if (captchaEnabled) { - validateCaptcha(tenantId, username, registerBody.getCode(), registerBody.getUuid()); + validateCaptcha(username, registerBody.getCode(), registerBody.getUuid()); } // 注册用户信息 RemoteUserBo remoteUserBo = new RemoteUserBo(); - remoteUserBo.setTenantId(tenantId); remoteUserBo.setUserName(username); remoteUserBo.setNickName(username); remoteUserBo.setPassword(BCrypt.hashpw(password)); @@ -156,7 +143,7 @@ public class SysLoginService { if (!regFlag) { throw new UserException("user.register.error"); } - recordLogininfor(tenantId, username, Constants.REGISTER, MessageUtils.message("user.register.success")); + recordLogininfor(username, Constants.REGISTER, MessageUtils.message("user.register.success")); } /** @@ -166,16 +153,16 @@ public class SysLoginService { * @param code 验证码 * @param uuid 唯一标识 */ - public void validateCaptcha(String tenantId, String username, String code, String uuid) { + public void validateCaptcha(String username, String code, String uuid) { String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + StringUtils.blankToDefault(uuid, ""); String captcha = RedisUtils.getCacheObject(verifyKey); RedisUtils.deleteObject(verifyKey); if (captcha == null) { - recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); + recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); throw new CaptchaExpireException(); } if (!StringUtils.equalsIgnoreCase(code, captcha)) { - recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); + recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); throw new CaptchaException(); } } @@ -188,10 +175,9 @@ public class SysLoginService { * @param message 消息内容 * @return */ - public void recordLogininfor(String tenantId, String username, String status, String message) { + public void recordLogininfor(String username, String status, String message) { // 封装对象 LogininforEvent logininforEvent = new LogininforEvent(); - logininforEvent.setTenantId(tenantId); logininforEvent.setUsername(username); logininforEvent.setStatus(status); logininforEvent.setMessage(message); @@ -201,7 +187,7 @@ public class SysLoginService { /** * 登录校验 */ - public void checkLogin(LoginType loginType, String tenantId, String username, Supplier supplier) { + public void checkLogin(LoginType loginType, String username, Supplier supplier) { String errorKey = CacheConstants.PWD_ERR_CNT_KEY + username; String loginFail = Constants.LOGIN_FAIL; Integer maxRetryCount = userPasswordProperties.getMaxRetryCount(); @@ -211,7 +197,7 @@ public class SysLoginService { int errorNumber = ObjectUtil.defaultIfNull(RedisUtils.getCacheObject(errorKey), 0); // 锁定时间内登录 则踢出 if (errorNumber >= maxRetryCount) { - recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); + recordLogininfor(username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); throw new UserException(loginType.getRetryLimitExceed(), maxRetryCount, lockTime); } @@ -221,11 +207,11 @@ public class SysLoginService { RedisUtils.setCacheObject(errorKey, errorNumber, Duration.ofMinutes(lockTime)); // 达到规定错误次数 则锁定登录 if (errorNumber >= maxRetryCount) { - recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); + recordLogininfor(username, loginFail, MessageUtils.message(loginType.getRetryLimitExceed(), maxRetryCount, lockTime)); throw new UserException(loginType.getRetryLimitExceed(), maxRetryCount, lockTime); } else { // 未达到规定错误次数 - recordLogininfor(tenantId, username, loginFail, MessageUtils.message(loginType.getRetryLimitCount(), errorNumber)); + recordLogininfor(username, loginFail, MessageUtils.message(loginType.getRetryLimitCount(), errorNumber)); throw new UserException(loginType.getRetryLimitCount(), errorNumber); } } @@ -233,33 +219,4 @@ public class SysLoginService { // 登录成功 清空错误次数 RedisUtils.deleteObject(errorKey); } - - /** - * 校验租户 - * - * @param tenantId 租户ID - */ - public void checkTenant(String tenantId) { - if (!TenantHelper.isEnable()) { - return; - } - if (StringUtils.isBlank(tenantId)) { - throw new TenantException("tenant.number.not.blank"); - } - if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { - return; - } - RemoteTenantVo tenant = remoteTenantService.queryByTenantId(tenantId); - if (ObjectUtil.isNull(tenant)) { - log.info("登录租户:{} 不存在.", tenantId); - throw new TenantException("tenant.not.exists"); - } else if (SystemConstants.DISABLE.equals(tenant.getStatus())) { - log.info("登录租户:{} 已被停用.", tenantId); - throw new TenantException("tenant.blocked"); - } else if (ObjectUtil.isNotNull(tenant.getExpireTime()) - && new Date().after(tenant.getExpireTime())) { - log.info("登录租户:{} 已超过有效期.", tenantId); - throw new TenantException("tenant.expired"); - } - } } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/EmailAuthStrategy.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/EmailAuthStrategy.java index c1403b697..6947f3155 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/EmailAuthStrategy.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/EmailAuthStrategy.java @@ -19,7 +19,6 @@ import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.model.LoginUser; @@ -44,14 +43,10 @@ public class EmailAuthStrategy implements IAuthStrategy { public LoginVo login(String body, RemoteClientVo client) { EmailLoginBody loginBody = JsonUtils.parseObject(body, EmailLoginBody.class); ValidatorUtils.validate(loginBody); - String tenantId = loginBody.getTenantId(); String email = loginBody.getEmail(); String emailCode = loginBody.getEmailCode(); - LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { - LoginUser user = remoteUserService.getUserInfoByEmail(email, tenantId); - loginService.checkLogin(LoginType.EMAIL, tenantId, user.getUsername(), () -> !validateEmailCode(tenantId, email, emailCode)); - return user; - }); + LoginUser loginUser = remoteUserService.getUserInfoByEmail(email); + loginService.checkLogin(LoginType.EMAIL, loginUser.getUsername(), () -> !validateEmailCode(email, emailCode)); loginUser.setClientKey(client.getClientKey()); loginUser.setDeviceType(client.getDeviceType()); SaLoginParameter model = new SaLoginParameter(); @@ -74,10 +69,10 @@ public class EmailAuthStrategy implements IAuthStrategy { /** * 校验邮箱验证码 */ - private boolean validateEmailCode(String tenantId, String email, String emailCode) { + private boolean validateEmailCode(String email, String emailCode) { String code = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY + email); if (StringUtils.isBlank(code)) { - loginService.recordLogininfor(tenantId, email, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); + loginService.recordLogininfor(email, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); throw new CaptchaExpireException(); } return code.equals(emailCode); diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/PasswordAuthStrategy.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/PasswordAuthStrategy.java index 627678a4e..6c9258537 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/PasswordAuthStrategy.java @@ -22,7 +22,6 @@ import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.model.LoginUser; @@ -49,7 +48,6 @@ public class PasswordAuthStrategy implements IAuthStrategy { public LoginVo login(String body, RemoteClientVo client) { PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class); ValidatorUtils.validate(loginBody); - String tenantId = loginBody.getTenantId(); String username = loginBody.getUsername(); String password = loginBody.getPassword(); String code = loginBody.getCode(); @@ -57,13 +55,10 @@ public class PasswordAuthStrategy implements IAuthStrategy { // 验证码开关 if (captchaProperties.getEnabled()) { - validateCaptcha(tenantId, username, code, uuid); + validateCaptcha(username, code, uuid); } - LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { - LoginUser user = remoteUserService.getUserInfo(username, tenantId); - loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword())); - return user; - }); + LoginUser loginUser = remoteUserService.getUserInfo(username); + loginService.checkLogin(LoginType.PASSWORD, username, () -> !BCrypt.checkpw(password, loginUser.getPassword())); loginUser.setClientKey(client.getClientKey()); loginUser.setDeviceType(client.getDeviceType()); SaLoginParameter model = new SaLoginParameter(); @@ -90,16 +85,16 @@ public class PasswordAuthStrategy implements IAuthStrategy { * @param code 验证码 * @param uuid 唯一标识 */ - private void validateCaptcha(String tenantId, String username, String code, String uuid) { + private void validateCaptcha(String username, String code, String uuid) { String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + StringUtils.blankToDefault(uuid, ""); String captcha = RedisUtils.getCacheObject(verifyKey); RedisUtils.deleteObject(verifyKey); if (captcha == null) { - loginService.recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); + loginService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); throw new CaptchaExpireException(); } if (!StringUtils.equalsIgnoreCase(code, captcha)) { - loginService.recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); + loginService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); throw new CaptchaException(); } } diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SmsAuthStrategy.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SmsAuthStrategy.java index 641cc91be..c27e16a70 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SmsAuthStrategy.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SmsAuthStrategy.java @@ -19,7 +19,6 @@ import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.model.LoginUser; @@ -44,14 +43,10 @@ public class SmsAuthStrategy implements IAuthStrategy { public LoginVo login(String body, RemoteClientVo client) { SmsLoginBody loginBody = JsonUtils.parseObject(body, SmsLoginBody.class); ValidatorUtils.validate(loginBody); - String tenantId = loginBody.getTenantId(); String phonenumber = loginBody.getPhonenumber(); String smsCode = loginBody.getSmsCode(); - LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { - LoginUser user = remoteUserService.getUserInfoByPhonenumber(phonenumber, tenantId); - loginService.checkLogin(LoginType.SMS, tenantId, user.getUsername(), () -> !validateSmsCode(tenantId, phonenumber, smsCode)); - return user; - }); + LoginUser loginUser = remoteUserService.getUserInfoByPhonenumber(phonenumber); + loginService.checkLogin(LoginType.SMS, loginUser.getUsername(), () -> !validateSmsCode(phonenumber, smsCode)); loginUser.setClientKey(client.getClientKey()); loginUser.setDeviceType(client.getDeviceType()); SaLoginParameter model = new SaLoginParameter(); @@ -74,10 +69,10 @@ public class SmsAuthStrategy implements IAuthStrategy { /** * 校验短信验证码 */ - private boolean validateSmsCode(String tenantId, String phonenumber, String smsCode) { + private boolean validateSmsCode(String phonenumber, String smsCode) { String code = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY + phonenumber); if (StringUtils.isBlank(code)) { - loginService.recordLogininfor(tenantId, phonenumber, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); + loginService.recordLogininfor(phonenumber, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); throw new CaptchaExpireException(); } return code.equals(smsCode); diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SocialAuthStrategy.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SocialAuthStrategy.java index 074f02e3e..16df491f1 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SocialAuthStrategy.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/impl/SocialAuthStrategy.java @@ -12,13 +12,11 @@ import org.dromara.auth.domain.vo.LoginVo; import org.dromara.auth.form.SocialLoginBody; import org.dromara.auth.service.IAuthStrategy; import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.social.config.properties.SocialProperties; import org.dromara.common.social.utils.SocialUtils; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteSocialService; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.vo.RemoteClientVo; @@ -27,8 +25,6 @@ import org.dromara.system.api.model.LoginUser; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Optional; - /** * 第三方授权策略 * @@ -68,18 +64,9 @@ public class SocialAuthStrategy implements IAuthStrategy { if (CollUtil.isEmpty(list)) { throw new ServiceException("你还没有绑定第三方账号,绑定后才可以登录!"); } - RemoteSocialVo socialVo; - if (TenantHelper.isEnable()) { - Optional opt = StreamUtils.findAny(list, x -> x.getTenantId().equals(loginBody.getTenantId())); - if (opt.isEmpty()) { - throw new ServiceException("对不起,你没有权限登录当前租户!"); - } - socialVo = opt.get(); - } else { - socialVo = list.get(0); - } + RemoteSocialVo socialVo = list.get(0); - LoginUser loginUser = remoteUserService.getUserInfo(socialVo.getUserId(), socialVo.getTenantId()); + LoginUser loginUser = remoteUserService.getUserInfo(socialVo.getUserId()); loginUser.setClientKey(client.getClientKey()); loginUser.setDeviceType(client.getDeviceType()); SaLoginParameter model = new SaLoginParameter(); diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 29222e0be..d862f76ea 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -38,7 +38,6 @@ ruoyi-common-sensitive ruoyi-common-json ruoyi-common-encrypt - ruoyi-common-tenant ruoyi-common-websocket ruoyi-common-social ruoyi-common-nacos diff --git a/ruoyi-common/ruoyi-common-bom/pom.xml b/ruoyi-common/ruoyi-common-bom/pom.xml index 32f648be1..1eac811a0 100644 --- a/ruoyi-common/ruoyi-common-bom/pom.xml +++ b/ruoyi-common/ruoyi-common-bom/pom.xml @@ -208,12 +208,6 @@ ${revision} - - - org.dromara - ruoyi-common-tenant - ${revision} - diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java index 89d6ebd0b..4e07ac5f9 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java @@ -36,11 +36,6 @@ public interface CacheNames { */ String SYS_DICT_TYPE = "sys_dict_type"; - /** - * 租户 - */ - String SYS_TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant#30d"; - /** * 客户端 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/SystemConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/SystemConstants.java index 308a98bf5..9e0b083df 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/SystemConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/SystemConstants.java @@ -67,6 +67,11 @@ public interface SystemConstants { */ Long SUPER_ADMIN_ID = 1L; + /** + * 超级管理员角色标识 + */ + String SUPER_ADMIN_ROLE_KEY = "superadmin"; + /** * 根部门祖级列表 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/TenantConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/TenantConstants.java deleted file mode 100644 index 33ce0cf6c..000000000 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/TenantConstants.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.dromara.common.core.constant; - -/** - * 租户常量信息 - * - * @author Lion Li - */ -public interface TenantConstants { - - /** - * 超级管理员ID - */ - Long SUPER_ADMIN_ID = 1L; - - /** - * 超级管理员角色 roleKey - */ - String SUPER_ADMIN_ROLE_KEY = "superadmin"; - - /** - * 租户管理员角色 roleKey - */ - String TENANT_ADMIN_ROLE_KEY = "admin"; - - /** - * 租户管理员角色名称 - */ - String TENANT_ADMIN_ROLE_NAME = "管理员"; - - /** - * 默认租户ID - */ - String DEFAULT_TENANT_ID = "000000"; - -} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginBody.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginBody.java index ee612fdb6..083890014 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginBody.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginBody.java @@ -25,11 +25,6 @@ public class LoginBody { @NotBlank(message = "{auth.grant.type.not.blank}") private String grantType; - /** - * 租户ID - */ - private String tenantId; - /** * 验证码 */ diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java index 4ae946af3..934255ffa 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java @@ -81,7 +81,6 @@ public class LogAspect { // *========数据库日志=========*// OperLogEvent operLog = new OperLogEvent(); - operLog.setTenantId(LoginHelper.getTenantId()); operLog.setStatus(BusinessStatus.SUCCESS.ordinal()); // 请求的地址 String ip = ServletUtils.getClientIP(); diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogEventListener.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogEventListener.java index 3584e0c69..370d70cc0 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogEventListener.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogEventListener.java @@ -73,7 +73,6 @@ public class LogEventListener { String browser = userAgent.getBrowser().getName(); // 封装对象 RemoteLogininforBo logininfor = new RemoteLogininforBo(); - logininfor.setTenantId(logininforEvent.getTenantId()); logininfor.setUserName(logininforEvent.getUsername()); if (ObjectUtil.isNotNull(clientVo)) { logininfor.setClientKey(clientVo.getClientKey()); diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogininforEvent.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogininforEvent.java index 212bf18b5..e01e08eda 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogininforEvent.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogininforEvent.java @@ -17,11 +17,6 @@ public class LogininforEvent implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 租户ID - */ - private String tenantId; - /** * 用户账号 */ diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java index 03861929c..05b20d428 100644 --- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java +++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java @@ -23,11 +23,6 @@ public class OperLogEvent implements Serializable { */ private Long operId; - /** - * 租户ID - */ - private String tenantId; - /** * 操作模块 */ diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java index 29a70d092..06dc0df40 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java @@ -65,8 +65,8 @@ public class PlusDataPermissionHandler { currentUser = LoginHelper.getLoginUser(); DataPermissionHelper.setVariable("user", currentUser); } - // 如果是超级管理员或租户管理员,则不过滤数据 - if (LoginHelper.isSuperAdmin() || LoginHelper.isTenantAdmin()) { + // 如果是超级管理员,则不过滤数据 + if (LoginHelper.isSuperAdmin()) { return where; } // 构造数据过滤条件的 SQL 片段 diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java index f7a0f6b3b..7a0d4672b 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java @@ -48,20 +48,16 @@ public class OssFactory { } OssProperties properties = JsonUtils.parseObject(json, OssProperties.class); // 使用租户标识避免多个租户相同key实例覆盖 - String key = configKey; - if (StringUtils.isNotBlank(properties.getTenantId())) { - key = properties.getTenantId() + ":" + configKey; - } - OssClient client = CLIENT_CACHE.get(key); + OssClient client = CLIENT_CACHE.get(configKey); // 客户端不存在或配置不相同则重新构建 if (client == null || !client.checkPropertiesSame(properties)) { LOCK.lock(); try { - client = CLIENT_CACHE.get(key); + client = CLIENT_CACHE.get(configKey); if (client == null || !client.checkPropertiesSame(properties)) { - CLIENT_CACHE.put(key, new OssClient(configKey, properties)); + CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); log.info("创建OSS实例 key => {}", configKey); - return CLIENT_CACHE.get(key); + return CLIENT_CACHE.get(configKey); } } finally { LOCK.unlock(); diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java index cb37206ea..697530b54 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java @@ -10,11 +10,6 @@ import lombok.Data; @Data public class OssProperties { - /** - * 租户id - */ - private String tenantId; - /** * 访问站点 */ diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java index a302b1b6d..27c468909 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java @@ -3,18 +3,14 @@ package org.dromara.common.satoken.utils; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.parameter.SaLoginParameter; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.enums.UserType; import org.dromara.system.api.model.LoginUser; -import java.util.Set; - /** * 登录鉴权助手 *

@@ -31,7 +27,6 @@ import java.util.Set; public class LoginHelper { public static final String LOGIN_USER_KEY = "loginUser"; - public static final String TENANT_KEY = "tenantId"; public static final String USER_KEY = "userId"; public static final String USER_NAME_KEY = "userName"; public static final String DEPT_KEY = "deptId"; @@ -49,8 +44,7 @@ public class LoginHelper { public static void login(LoginUser loginUser, SaLoginParameter model) { model = ObjectUtil.defaultIfNull(model, new SaLoginParameter()); StpUtil.login(loginUser.getLoginId(), - model.setExtra(TENANT_KEY, loginUser.getTenantId()) - .setExtra(USER_KEY, loginUser.getUserId()) + model.setExtra(USER_KEY, loginUser.getUserId()) .setExtra(USER_NAME_KEY, loginUser.getUsername()) .setExtra(DEPT_KEY, loginUser.getDeptId()) .setExtra(DEPT_NAME_KEY, loginUser.getDeptName()) @@ -104,13 +98,6 @@ public class LoginHelper { return Convert.toStr(getExtra(USER_NAME_KEY)); } - /** - * 获取租户ID - */ - public static String getTenantId() { - return Convert.toStr(getExtra(TENANT_KEY)); - } - /** * 获取部门ID */ @@ -174,32 +161,6 @@ public class LoginHelper { return isSuperAdmin(getUserId()); } - /** - * 是否为租户管理员 - * - * @param rolePermission 角色权限标识组 - * @return 结果 - */ - public static boolean isTenantAdmin(Set rolePermission) { - if (CollUtil.isEmpty(rolePermission)) { - return false; - } - return rolePermission.contains(TenantConstants.TENANT_ADMIN_ROLE_KEY); - } - - /** - * 是否为租户管理员 - * - * @return 结果 - */ - public static boolean isTenantAdmin() { - LoginUser loginUser = getLoginUser(); - if (loginUser == null) { - return false; - } - return Convert.toBool(isTenantAdmin(loginUser.getRolePermission())); - } - /** * 检查当前用户是否已登录 * diff --git a/ruoyi-common/ruoyi-common-tenant/pom.xml b/ruoyi-common/ruoyi-common-tenant/pom.xml deleted file mode 100644 index 8e1a6ab1e..000000000 --- a/ruoyi-common/ruoyi-common-tenant/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - org.dromara - ruoyi-common - ${revision} - - 4.0.0 - - ruoyi-common-tenant - - - ruoyi-common-tenant 租户模块 - - - - - org.dromara - ruoyi-common-mybatis - true - - - - org.dromara - ruoyi-common-redis - - - - - diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java deleted file mode 100644 index f1b7a312a..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfiguration.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.dromara.common.tenant.config; - -import cn.dev33.satoken.dao.SaTokenDao; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; -import org.dromara.common.core.utils.reflect.ReflectUtils; -import org.dromara.common.redis.config.RedisConfiguration; -import org.dromara.common.redis.config.properties.RedissonProperties; -import org.dromara.common.tenant.core.TenantSaTokenDao; -import org.dromara.common.tenant.handle.PlusTenantLineHandler; -import org.dromara.common.tenant.handle.TenantKeyPrefixHandler; -import org.dromara.common.tenant.manager.TenantSpringCacheManager; -import org.dromara.common.tenant.properties.TenantProperties; -import org.redisson.config.ClusterServersConfig; -import org.redisson.config.SingleServerConfig; -import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cache.CacheManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; - -/** - * 租户配置类 - * - * @author Lion Li - */ -@EnableConfigurationProperties(TenantProperties.class) -@AutoConfiguration(after = {RedisConfiguration.class}) -@ConditionalOnProperty(value = "tenant.enable", havingValue = "true") -public class TenantConfiguration { - - @ConditionalOnClass(TenantLineInnerInterceptor.class) - @AutoConfiguration - static class MybatisPlusConfig { - - /** - * 多租户插件 - */ - @Bean - public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) { - return new TenantLineInnerInterceptor(new PlusTenantLineHandler(tenantProperties)); - } - - } - - @Bean - public RedissonAutoConfigurationCustomizer tenantRedissonCustomizer(RedissonProperties redissonProperties) { - return config -> { - TenantKeyPrefixHandler nameMapper = new TenantKeyPrefixHandler(redissonProperties.getKeyPrefix()); - SingleServerConfig singleServerConfig = ReflectUtils.invokeGetter(config, "singleServerConfig"); - if (ObjectUtil.isNotNull(singleServerConfig)) { - // 使用单机模式 - // 设置多租户 redis key前缀 - singleServerConfig.setNameMapper(nameMapper); - } - ClusterServersConfig clusterServersConfig = ReflectUtils.invokeGetter(config, "clusterServersConfig"); - // 集群配置方式 参考下方注释 - if (ObjectUtil.isNotNull(clusterServersConfig)) { - // 设置多租户 redis key前缀 - clusterServersConfig.setNameMapper(nameMapper); - } - }; - } - - /** - * 多租户缓存管理器 - */ - @Primary - @Bean - public CacheManager tenantCacheManager() { - return new TenantSpringCacheManager(); - } - - /** - * 多租户鉴权dao实现 - */ - @Primary - @Bean - public SaTokenDao tenantSaTokenDao() { - return new TenantSaTokenDao(); - } - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantEntity.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantEntity.java deleted file mode 100644 index 8ad0d2ccc..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantEntity.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.dromara.common.tenant.core; - -import org.dromara.common.mybatis.core.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 租户基类 - * - * @author Michelle.Chung - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class TenantEntity extends BaseEntity { - - /** - * 租户编号 - */ - private String tenantId; - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java deleted file mode 100644 index 9aaa753ec..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.dromara.common.tenant.core; - -import org.dromara.common.core.constant.GlobalConstants; -import org.dromara.common.redis.utils.RedisUtils; -import org.dromara.common.satoken.core.dao.PlusSaTokenDao; - -import java.time.Duration; -import java.util.List; - -/** - * SaToken 认证数据持久层 适配多租户 - * - * @author Lion Li - */ -public class TenantSaTokenDao extends PlusSaTokenDao { - - @Override - public String get(String key) { - return super.get(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - @Override - public void set(String key, String value, long timeout) { - super.set(GlobalConstants.GLOBAL_REDIS_KEY + key, value, timeout); - } - - /** - * 修修改指定key-value键值对 (过期时间不变) - */ - @Override - public void update(String key, String value) { - long expire = getTimeout(key); - // -2 = 无此键 - if (expire == NOT_VALUE_EXPIRE) { - return; - } - this.set(key, value, expire); - } - - /** - * 删除Value - */ - @Override - public void delete(String key) { - super.delete(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - /** - * 获取Value的剩余存活时间 (单位: 秒) - */ - @Override - public long getTimeout(String key) { - return super.getTimeout(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - /** - * 修改Value的剩余存活时间 (单位: 秒) - */ - @Override - public void updateTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == NEVER_EXPIRE) { - long expire = getTimeout(key); - if (expire == NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.set(key, this.get(key), timeout); - } - return; - } - RedisUtils.expire(GlobalConstants.GLOBAL_REDIS_KEY + key, Duration.ofSeconds(timeout)); - } - - - /** - * 获取Object,如无返空 - */ - @Override - public Object getObject(String key) { - return super.getObject(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - /** - * 获取 Object (指定反序列化类型),如无返空 - * - * @param key 键名称 - * @return object - */ - @Override - public T getObject(String key, Class classType) { - return super.getObject(GlobalConstants.GLOBAL_REDIS_KEY + key, classType); - } - - /** - * 写入Object,并设定存活时间 (单位: 秒) - */ - @Override - public void setObject(String key, Object object, long timeout) { - super.setObject(GlobalConstants.GLOBAL_REDIS_KEY + key, object, timeout); - } - - /** - * 更新Object (过期时间不变) - */ - @Override - public void updateObject(String key, Object object) { - long expire = getObjectTimeout(key); - // -2 = 无此键 - if (expire == NOT_VALUE_EXPIRE) { - return; - } - this.setObject(key, object, expire); - } - - /** - * 删除Object - */ - @Override - public void deleteObject(String key) { - super.deleteObject(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - /** - * 获取Object的剩余存活时间 (单位: 秒) - */ - @Override - public long getObjectTimeout(String key) { - return super.getObjectTimeout(GlobalConstants.GLOBAL_REDIS_KEY + key); - } - - /** - * 修改Object的剩余存活时间 (单位: 秒) - */ - @Override - public void updateObjectTimeout(String key, long timeout) { - // 判断是否想要设置为永久 - if (timeout == NEVER_EXPIRE) { - long expire = getObjectTimeout(key); - if (expire == NEVER_EXPIRE) { - // 如果其已经被设置为永久,则不作任何处理 - } else { - // 如果尚未被设置为永久,那么再次set一次 - this.setObject(key, this.getObject(key), timeout); - } - return; - } - RedisUtils.expire(GlobalConstants.GLOBAL_REDIS_KEY + key, Duration.ofSeconds(timeout)); - } - - /** - * 搜索数据 - */ - @Override - public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { - return super.searchData(GlobalConstants.GLOBAL_REDIS_KEY + prefix, keyword, start, size, sortType); - } -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java deleted file mode 100644 index ee2bc97c0..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.dromara.common.tenant.exception; - -import org.dromara.common.core.exception.base.BaseException; - -import java.io.Serial; - -/** - * 租户异常类 - * - * @author Lion Li - */ -public class TenantException extends BaseException { - - @Serial - private static final long serialVersionUID = 1L; - - public TenantException(String code, Object... args) { - super("tenant", code, args, null); - } -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java deleted file mode 100644 index f6d224bd6..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.dromara.common.tenant.handle; - -import cn.hutool.core.collection.ListUtil; -import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.NullValue; -import net.sf.jsqlparser.expression.StringValue; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.common.tenant.properties.TenantProperties; - -import java.util.List; - -/** - * 自定义租户处理器 - * - * @author Lion Li - */ -@Slf4j -@AllArgsConstructor -public class PlusTenantLineHandler implements TenantLineHandler { - - private final TenantProperties tenantProperties; - - @Override - public Expression getTenantId() { - String tenantId = TenantHelper.getTenantId(); - if (StringUtils.isBlank(tenantId)) { - log.error("无法获取有效的租户id -> Null"); - return new NullValue(); - } - // 返回固定租户 - return new StringValue(tenantId); - } - - @Override - public boolean ignoreTable(String tableName) { - String tenantId = TenantHelper.getTenantId(); - // 判断是否有租户 - if (StringUtils.isNotBlank(tenantId)) { - // 不需要过滤租户的表 - List excludes = tenantProperties.getExcludes(); - // 非业务表 - List tables = ListUtil.toList( - "gen_table", - "gen_table_column" - ); - tables.addAll(excludes); - return StringUtils.equalsAnyIgnoreCase(tableName, tables.toArray(new String[0])); - } - return true; - } - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java deleted file mode 100644 index dcdef6e62..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.dromara.common.tenant.handle; - -import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.constant.GlobalConstants; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.redis.handler.KeyPrefixHandler; -import org.dromara.common.tenant.helper.TenantHelper; - -/** - * 多租户redis缓存key前缀处理 - * - * @author Lion Li - */ -@Slf4j -public class TenantKeyPrefixHandler extends KeyPrefixHandler { - - public TenantKeyPrefixHandler(String keyPrefix) { - super(keyPrefix); - } - - /** - * 增加前缀 - */ - @Override - public String map(String name) { - if (StringUtils.isBlank(name)) { - return null; - } - try { - if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) { - return super.map(name); - } - } catch (NoClassDefFoundError ignore) { - // 有些服务不需要mp导致类不存在 忽略即可 - } - if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) { - return super.map(name); - } - String tenantId = TenantHelper.getTenantId(); - if (StringUtils.isBlank(tenantId)) { - log.debug("无法获取有效的租户id -> Null"); - return super.map(name); - } - if (StringUtils.startsWith(name, tenantId + "")) { - // 如果存在则直接返回 - return super.map(name); - } - return super.map(tenantId + ":" + name); - } - - /** - * 去除前缀 - */ - @Override - public String unmap(String name) { - String unmap = super.unmap(name); - if (StringUtils.isBlank(unmap)) { - return null; - } - try { - if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) { - return unmap; - } - } catch (NoClassDefFoundError ignore) { - // 有些服务不需要mp导致类不存在 忽略即可 - } - if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) { - return unmap; - } - String tenantId = TenantHelper.getTenantId(); - if (StringUtils.isBlank(tenantId)) { - log.debug("无法获取有效的租户id -> Null"); - return unmap; - } - if (StringUtils.startsWith(unmap, tenantId + "")) { - // 如果存在则删除 - return unmap.substring((tenantId + ":").length()); - } - return unmap; - } - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java deleted file mode 100644 index 98f03f3ad..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java +++ /dev/null @@ -1,231 +0,0 @@ -package org.dromara.common.tenant.helper; - -import cn.dev33.satoken.context.SaHolder; -import cn.dev33.satoken.context.model.SaStorage; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.plugins.IgnoreStrategy; -import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.constant.GlobalConstants; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.core.utils.reflect.ReflectUtils; -import org.dromara.common.redis.utils.RedisUtils; -import org.dromara.common.satoken.utils.LoginHelper; - -import java.util.Stack; -import java.util.function.Supplier; - -/** - * 租户助手 - * - * @author Lion Li - */ -@Slf4j -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class TenantHelper { - - private static final String DYNAMIC_TENANT_KEY = GlobalConstants.GLOBAL_REDIS_KEY + "dynamicTenant"; - - private static final ThreadLocal TEMP_DYNAMIC_TENANT = new ThreadLocal<>(); - - private static final ThreadLocal> REENTRANT_IGNORE = ThreadLocal.withInitial(Stack::new); - - /** - * 租户功能是否启用 - */ - public static boolean isEnable() { - return Convert.toBool(SpringUtils.getProperty("tenant.enable"), false); - } - - private static IgnoreStrategy getIgnoreStrategy() { - Object ignoreStrategyLocal = ReflectUtils.getStaticFieldValue(ReflectUtils.getField(InterceptorIgnoreHelper.class, "IGNORE_STRATEGY_LOCAL")); - if (ignoreStrategyLocal instanceof ThreadLocal IGNORE_STRATEGY_LOCAL) { - if (IGNORE_STRATEGY_LOCAL.get() instanceof IgnoreStrategy ignoreStrategy) { - return ignoreStrategy; - } - } - return null; - } - - /** - * 开启忽略租户(开启后需手动调用 {@link #disableIgnore()} 关闭) - */ - private static void enableIgnore() { - IgnoreStrategy ignoreStrategy = getIgnoreStrategy(); - if (ObjectUtil.isNull(ignoreStrategy)) { - InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build()); - } else { - ignoreStrategy.setTenantLine(true); - } - Stack reentrantStack = REENTRANT_IGNORE.get(); - reentrantStack.push(reentrantStack.size() + 1); - } - - /** - * 关闭忽略租户 - */ - private static void disableIgnore() { - IgnoreStrategy ignoreStrategy = getIgnoreStrategy(); - if (ObjectUtil.isNotNull(ignoreStrategy)) { - boolean noOtherIgnoreStrategy = !Boolean.TRUE.equals(ignoreStrategy.getDynamicTableName()) - && !Boolean.TRUE.equals(ignoreStrategy.getBlockAttack()) - && !Boolean.TRUE.equals(ignoreStrategy.getIllegalSql()) - && !Boolean.TRUE.equals(ignoreStrategy.getDataPermission()) - && CollectionUtil.isEmpty(ignoreStrategy.getOthers()); - Stack reentrantStack = REENTRANT_IGNORE.get(); - boolean empty = reentrantStack.isEmpty() || reentrantStack.pop() == 1; - if (noOtherIgnoreStrategy && empty) { - InterceptorIgnoreHelper.clearIgnoreStrategy(); - } else if (empty) { - ignoreStrategy.setTenantLine(false); - } - } - } - - /** - * 在忽略租户中执行 - * - * @param handle 处理执行方法 - */ - public static void ignore(Runnable handle) { - enableIgnore(); - try { - handle.run(); - } finally { - disableIgnore(); - } - } - - /** - * 在忽略租户中执行 - * - * @param handle 处理执行方法 - */ - public static T ignore(Supplier handle) { - enableIgnore(); - try { - return handle.get(); - } finally { - disableIgnore(); - } - } - - public static void setDynamic(String tenantId) { - setDynamic(tenantId, false); - } - - /** - * 设置动态租户(一直有效 需要手动清理) - *

- * 如果为未登录状态下 那么只在当前线程内生效 - * - * @param tenantId 租户id - * @param global 是否全局生效 - */ - public static void setDynamic(String tenantId, boolean global) { - if (!isEnable()) { - return; - } - if (!LoginHelper.isLogin() || !global) { - TEMP_DYNAMIC_TENANT.set(tenantId); - return; - } - String cacheKey = DYNAMIC_TENANT_KEY + ":" + LoginHelper.getUserId(); - RedisUtils.setCacheObject(cacheKey, tenantId); - SaHolder.getStorage().set(cacheKey, tenantId); - } - - /** - * 获取动态租户(一直有效 需要手动清理) - *

- * 如果为未登录状态下 那么只在当前线程内生效 - */ - public static String getDynamic() { - if (!isEnable()) { - return null; - } - if (!LoginHelper.isLogin()) { - return TEMP_DYNAMIC_TENANT.get(); - } - // 如果线程内有值 优先返回 - String tenantId = TEMP_DYNAMIC_TENANT.get(); - if (StringUtils.isNotBlank(tenantId)) { - return tenantId; - } - SaStorage storage = SaHolder.getStorage(); - String cacheKey = DYNAMIC_TENANT_KEY + ":" + LoginHelper.getUserId(); - tenantId = storage.getString(cacheKey); - // 如果为 -1 说明已经查过redis并且不存在值 则直接返回null - if (StringUtils.isNotBlank(tenantId)) { - return tenantId.equals("-1") ? null : tenantId; - } - tenantId = RedisUtils.getCacheObject(cacheKey); - storage.set(cacheKey, StringUtils.isBlank(tenantId) ? "-1" : tenantId); - return tenantId; - } - - /** - * 清除动态租户 - */ - public static void clearDynamic() { - if (!isEnable()) { - return; - } - if (!LoginHelper.isLogin()) { - TEMP_DYNAMIC_TENANT.remove(); - return; - } - TEMP_DYNAMIC_TENANT.remove(); - String cacheKey = DYNAMIC_TENANT_KEY + ":" + LoginHelper.getUserId(); - RedisUtils.deleteObject(cacheKey); - SaHolder.getStorage().delete(cacheKey); - } - - /** - * 在动态租户中执行 - * - * @param handle 处理执行方法 - */ - public static void dynamic(String tenantId, Runnable handle) { - setDynamic(tenantId); - try { - handle.run(); - } finally { - clearDynamic(); - } - } - - /** - * 在动态租户中执行 - * - * @param handle 处理执行方法 - */ - public static T dynamic(String tenantId, Supplier handle) { - setDynamic(tenantId); - try { - return handle.get(); - } finally { - clearDynamic(); - } - } - - /** - * 获取当前租户id(动态租户优先) - */ - public static String getTenantId() { - if (!isEnable()) { - return null; - } - String tenantId = TenantHelper.getDynamic(); - if (StringUtils.isBlank(tenantId)) { - tenantId = LoginHelper.getTenantId(); - } - return tenantId; - } - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java deleted file mode 100644 index 346e36f1c..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.dromara.common.tenant.manager; - -import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.constant.GlobalConstants; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.redis.manager.PlusSpringCacheManager; -import org.dromara.common.tenant.helper.TenantHelper; -import org.springframework.cache.Cache; - -/** - * 重写 cacheName 处理方法 支持多租户 - * - * @author Lion Li - */ -@Slf4j -public class TenantSpringCacheManager extends PlusSpringCacheManager { - - public TenantSpringCacheManager() { - } - - @Override - public Cache getCache(String name) { - if (InterceptorIgnoreHelper.willIgnoreTenantLine("")) { - return super.getCache(name); - } - if (StringUtils.contains(name, GlobalConstants.GLOBAL_REDIS_KEY)) { - return super.getCache(name); - } - String tenantId = TenantHelper.getTenantId(); - if (StringUtils.isBlank(tenantId)) { - log.error("无法获取有效的租户id -> Null"); - } - if (StringUtils.startsWith(name, tenantId)) { - // 如果存在则直接返回 - return super.getCache(name); - } - return super.getCache(tenantId + ":" + name); - } - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/properties/TenantProperties.java b/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/properties/TenantProperties.java deleted file mode 100644 index 1675ccf58..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/properties/TenantProperties.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.dromara.common.tenant.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; - -import java.util.List; - -/** - * 租户 配置属性 - * - * @author Lion Li - */ -@Data -@ConfigurationProperties(prefix = "tenant") -public class TenantProperties { - - /** - * 是否启用 - */ - private Boolean enable; - - /** - * 排除表 - */ - private List excludes; - -} diff --git a/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index c34f2c58d..000000000 --- a/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -org.dromara.common.tenant.config.TenantConfiguration diff --git a/ruoyi-example/ruoyi-demo/pom.xml b/ruoyi-example/ruoyi-demo/pom.xml index d6ed90eff..c523db729 100644 --- a/ruoyi-example/ruoyi-demo/pom.xml +++ b/ruoyi-example/ruoyi-demo/pom.xml @@ -72,10 +72,6 @@ ruoyi-common-encrypt - - org.dromara - ruoyi-common-tenant - org.dromara diff --git a/ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/SensitiveServiceImpl.java b/ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/SensitiveServiceImpl.java index ebc7002b0..fe861a2d4 100644 --- a/ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/SensitiveServiceImpl.java +++ b/ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/SensitiveServiceImpl.java @@ -4,7 +4,6 @@ import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ArrayUtil; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.sensitive.core.SensitiveService; -import org.dromara.common.tenant.helper.TenantHelper; import org.springframework.stereotype.Service; /** @@ -37,9 +36,6 @@ public class SensitiveServiceImpl implements SensitiveService { return false; } - if (TenantHelper.isEnable()) { - return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin(); - } return !LoginHelper.isSuperAdmin(); } diff --git a/ruoyi-example/ruoyi-test-mq/pom.xml b/ruoyi-example/ruoyi-test-mq/pom.xml index 98d7ebc2a..20328b54b 100644 --- a/ruoyi-example/ruoyi-test-mq/pom.xml +++ b/ruoyi-example/ruoyi-test-mq/pom.xml @@ -49,16 +49,6 @@ ruoyi-common-web - - org.dromara - ruoyi-common-tenant - - - org.dromara - ruoyi-common-mybatis - - - diff --git a/ruoyi-gateway-mvc/pom.xml b/ruoyi-gateway-mvc/pom.xml index 31ae08bba..caf562d2e 100644 --- a/ruoyi-gateway-mvc/pom.xml +++ b/ruoyi-gateway-mvc/pom.xml @@ -88,10 +88,6 @@ ruoyi-common-redis - - org.dromara - ruoyi-common-tenant - diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 379219df6..5ac57af3a 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -71,10 +71,6 @@ ruoyi-common-redis - - org.dromara - ruoyi-common-tenant - diff --git a/ruoyi-modules/ruoyi-gen/pom.xml b/ruoyi-modules/ruoyi-gen/pom.xml index 316848d53..a3ebbdc90 100644 --- a/ruoyi-modules/ruoyi-gen/pom.xml +++ b/ruoyi-modules/ruoyi-gen/pom.xml @@ -59,10 +59,6 @@ ruoyi-common-dubbo - - org.dromara - ruoyi-common-tenant - org.dromara diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/constant/GenConstants.java b/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/constant/GenConstants.java index 3e1fd4149..123b037c1 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/constant/GenConstants.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/org/dromara/gen/constant/GenConstants.java @@ -92,7 +92,7 @@ public interface GenConstants { /** * Entity基类字段 */ - String[] BASE_ENTITY = {"createDept", "createBy", "createTime", "updateBy", "updateTime", "tenantId"}; + String[] BASE_ENTITY = {"createDept", "createBy", "createTime", "updateBy", "updateTime"}; /** * 文本框 diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/domain.java.vm b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/domain.java.vm index 205fb7308..ef38136aa 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/domain.java.vm +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/java/domain.java.vm @@ -1,15 +1,6 @@ package ${packageName}.domain; -#foreach ($column in $columns) -#if($column.javaField=='tenantId') -#set($IsTenant=1) -#end -#end -#if($IsTenant==1) -import org.dromara.common.tenant.core.TenantEntity; -#else import org.dromara.common.mybatis.core.domain.BaseEntity; -#end import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; @@ -25,11 +16,7 @@ import java.io.Serial; * @author ${author} * @date ${datetime} */ -#if($IsTenant==1) -#set($Entity="TenantEntity") -#else #set($Entity="BaseEntity") -#end @Data @EqualsAndHashCode(callSuper = true) @TableName("${tableName}") diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index ab2e869e9..6fe54ad4e 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -48,16 +48,6 @@ ruoyi-common-job - - org.dromara - ruoyi-common-tenant - - - org.dromara - ruoyi-common-mybatis - - - org.dromara diff --git a/ruoyi-modules/ruoyi-resource/pom.xml b/ruoyi-modules/ruoyi-resource/pom.xml index dac64e73a..cd825ec2f 100644 --- a/ruoyi-modules/ruoyi-resource/pom.xml +++ b/ruoyi-modules/ruoyi-resource/pom.xml @@ -77,10 +77,6 @@ ruoyi-common-mybatis - - org.dromara - ruoyi-common-tenant - org.dromara diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/domain/SysOss.java b/ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/domain/SysOss.java index 85a523ce4..0d957a96a 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/domain/SysOss.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/org/dromara/resource/domain/SysOss.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** * OSS对象存储对象 @@ -14,7 +14,7 @@ import org.dromara.common.tenant.core.TenantEntity; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_oss") -public class SysOss extends TenantEntity { +public class SysOss extends BaseEntity { /** * 对象存储主键 diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 44730eaca..8c7755959 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -63,10 +63,6 @@ ruoyi-common-idempotent - - org.dromara - ruoyi-common-tenant - org.dromara diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java index 8a7f5ba4a..c74680d22 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java @@ -2,11 +2,9 @@ package org.dromara.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckRole; -import cn.dev33.satoken.annotation.SaMode; import cn.hutool.core.lang.tree.Tree; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -22,7 +20,6 @@ import org.dromara.system.service.ISysMenuService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; import java.util.List; /** @@ -52,10 +49,6 @@ public class SysMenuController extends BaseController { /** * 获取菜单列表 */ - @SaCheckRole(value = { - TenantConstants.SUPER_ADMIN_ROLE_KEY, - TenantConstants.TENANT_ADMIN_ROLE_KEY - }, mode = SaMode.OR) @SaCheckPermission("system:menu:list") @GetMapping("/list") public R> list(SysMenuBo menu) { @@ -68,10 +61,6 @@ public class SysMenuController extends BaseController { * * @param menuId 菜单ID */ - @SaCheckRole(value = { - TenantConstants.SUPER_ADMIN_ROLE_KEY, - TenantConstants.TENANT_ADMIN_ROLE_KEY - }, mode = SaMode.OR) @SaCheckPermission("system:menu:query") @GetMapping(value = "/{menuId}") public R getInfo(@PathVariable Long menuId) { @@ -103,31 +92,10 @@ public class SysMenuController extends BaseController { return R.ok(selectVo); } - /** - * 加载对应租户套餐菜单列表树 - * - * @param packageId 租户套餐ID - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:menu:query") - @GetMapping(value = "/tenantPackageMenuTreeselect/{packageId}") - public R tenantPackageMenuTreeselect(@PathVariable("packageId") Long packageId) { - List menus = menuService.selectMenuList(LoginHelper.getUserId()); - List> list = menuService.buildMenuTreeSelect(menus); - // 删除租户管理菜单 - list.removeIf(menu -> menu.getId() == 6L); - List ids = new ArrayList<>(); - if (packageId > 0L) { - ids = menuService.selectMenuListByPackageId(packageId); - } - MenuTreeSelectVo selectVo = new MenuTreeSelectVo(ids, list); - return R.ok(selectVo); - } - /** * 新增菜单 */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) + @SaCheckRole(SystemConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:add") @Log(title = "菜单管理", businessType = BusinessType.INSERT) @RepeatSubmit() @@ -146,7 +114,7 @@ public class SysMenuController extends BaseController { /** * 修改菜单 */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) + @SaCheckRole(SystemConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:edit") @Log(title = "菜单管理", businessType = BusinessType.UPDATE) @RepeatSubmit() @@ -169,7 +137,7 @@ public class SysMenuController extends BaseController { * * @param menuId 菜单ID */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) + @SaCheckRole(SystemConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:remove") @Log(title = "菜单管理", businessType = BusinessType.DELETE) @DeleteMapping("/{menuId}") @@ -197,7 +165,7 @@ public class SysMenuController extends BaseController { * * @param menuIds 菜单ID串 */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) + @SaCheckRole(SystemConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:remove") @Log(title = "菜单管理", businessType = BusinessType.DELETE) @DeleteMapping("/cascade/{menuIds}") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java deleted file mode 100644 index 76a5e7b69..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java +++ /dev/null @@ -1,212 +0,0 @@ -package org.dromara.system.controller.system; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaCheckRole; -import com.baomidou.lock.annotation.Lock4j; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.constant.TenantConstants; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.encrypt.annotation.ApiEncrypt; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.system.domain.bo.SysTenantBo; -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.service.ISysTenantService; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import java.util.Arrays; -import java.util.List; - -/** - * 租户管理 - * - * @author Michelle.Chung - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/tenant") -@ConditionalOnProperty(value = "tenant.enable", havingValue = "true") -public class SysTenantController extends BaseController { - - private final ISysTenantService tenantService; - - /** - * 查询租户列表 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:list") - @GetMapping("/list") - public TableDataInfo list(SysTenantBo bo, PageQuery pageQuery) { - return tenantService.queryPageList(bo, pageQuery); - } - - /** - * 导出租户列表 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:export") - @Log(title = "租户管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(SysTenantBo bo, HttpServletResponse response) { - List list = tenantService.queryList(bo); - ExcelUtil.exportExcel(list, "租户", SysTenantVo.class, response); - } - - /** - * 获取租户详细信息 - * - * @param id 主键 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(tenantService.queryById(id)); - } - - /** - * 新增租户 - */ - @ApiEncrypt - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:add") - @Log(title = "租户管理", businessType = BusinessType.INSERT) - @Lock4j - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody SysTenantBo bo) { - if (!tenantService.checkCompanyNameUnique(bo)) { - return R.fail("新增租户'" + bo.getCompanyName() + "'失败,企业名称已存在"); - } - return toAjax(TenantHelper.ignore(() -> tenantService.insertByBo(bo))); - } - - /** - * 修改租户 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:edit") - @Log(title = "租户管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) { - tenantService.checkTenantAllowed(bo.getTenantId()); - if (!tenantService.checkCompanyNameUnique(bo)) { - return R.fail("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在"); - } - return toAjax(tenantService.updateByBo(bo)); - } - - /** - * 状态修改 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:edit") - @Log(title = "租户管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/changeStatus") - public R changeStatus(@RequestBody SysTenantBo bo) { - tenantService.checkTenantAllowed(bo.getTenantId()); - return toAjax(tenantService.updateTenantStatus(bo)); - } - - /** - * 删除租户 - * - * @param ids 主键串 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:remove") - @Log(title = "租户管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(tenantService.deleteWithValidByIds(Arrays.asList(ids), true)); - } - - /** - * 动态切换租户 - * - * @param tenantId 租户ID - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @GetMapping("/dynamic/{tenantId}") - public R dynamicTenant(@NotBlank(message = "租户ID不能为空") @PathVariable String tenantId) { - TenantHelper.setDynamic(tenantId, true); - return R.ok(); - } - - /** - * 清除动态租户 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @GetMapping("/dynamic/clear") - public R dynamicClear() { - TenantHelper.clearDynamic(); - return R.ok(); - } - - - /** - * 同步租户套餐 - * - * @param tenantId 租户id - * @param packageId 套餐id - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenant:edit") - @Log(title = "租户管理", businessType = BusinessType.UPDATE) - @Lock4j - @GetMapping("/syncTenantPackage") - public R syncTenantPackage(@NotBlank(message = "租户ID不能为空") String tenantId, - @NotNull(message = "套餐ID不能为空") Long packageId) { - return toAjax(TenantHelper.ignore(() -> tenantService.syncTenantPackage(tenantId, packageId))); - } - - /** - * 同步租户字典 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @Log(title = "租户管理", businessType = BusinessType.INSERT) - @Lock4j - @GetMapping("/syncTenantDict") - public R syncTenantDict() { - if (!TenantHelper.isEnable()) { - return R.fail("当前未开启租户模式"); - } - tenantService.syncTenantDict(); - return R.ok("同步租户字典成功"); - } - - /** - * 同步租户参数配置 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @Log(title = "租户管理", businessType = BusinessType.INSERT) - @Lock4j - @GetMapping("/syncTenantConfig") - public R syncTenantConfig() { - if (!TenantHelper.isEnable()) { - return R.fail("当前未开启租户模式"); - } - tenantService.syncTenantConfig(); - return R.ok("同步租户参数配置成功"); - } - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java deleted file mode 100644 index 73436e868..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.dromara.system.controller.system; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaCheckRole; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.constant.TenantConstants; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.system.domain.bo.SysTenantPackageBo; -import org.dromara.system.domain.vo.SysTenantPackageVo; -import org.dromara.system.service.ISysTenantPackageService; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import java.util.Arrays; -import java.util.List; - -/** - * 租户套餐管理 - * - * @author Michelle.Chung - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/tenant/package") -@ConditionalOnProperty(value = "tenant.enable", havingValue = "true") -public class SysTenantPackageController extends BaseController { - - private final ISysTenantPackageService tenantPackageService; - - /** - * 查询租户套餐列表 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:list") - @GetMapping("/list") - public TableDataInfo list(SysTenantPackageBo bo, PageQuery pageQuery) { - return tenantPackageService.queryPageList(bo, pageQuery); - } - - /** - * 查询租户套餐下拉选列表 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:list") - @GetMapping("/selectList") - public R> selectList() { - return R.ok(tenantPackageService.selectList()); - } - - /** - * 导出租户套餐列表 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:export") - @Log(title = "租户套餐", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(SysTenantPackageBo bo, HttpServletResponse response) { - List list = tenantPackageService.queryList(bo); - ExcelUtil.exportExcel(list, "租户套餐", SysTenantPackageVo.class, response); - } - - /** - * 获取租户套餐详细信息 - * - * @param packageId 主键 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:query") - @GetMapping("/{packageId}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long packageId) { - return R.ok(tenantPackageService.queryById(packageId)); - } - - /** - * 新增租户套餐 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:add") - @Log(title = "租户套餐", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody SysTenantPackageBo bo) { - if (!tenantPackageService.checkPackageNameUnique(bo)) { - return R.fail("新增套餐'" + bo.getPackageName() + "'失败,套餐名称已存在"); - } - return toAjax(tenantPackageService.insertByBo(bo)); - } - - /** - * 修改租户套餐 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:edit") - @Log(title = "租户套餐", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody SysTenantPackageBo bo) { - if (!tenantPackageService.checkPackageNameUnique(bo)) { - return R.fail("修改套餐'" + bo.getPackageName() + "'失败,套餐名称已存在"); - } - return toAjax(tenantPackageService.updateByBo(bo)); - } - - /** - * 状态修改 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:edit") - @Log(title = "租户套餐", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/changeStatus") - public R changeStatus(@RequestBody SysTenantPackageBo bo) { - return toAjax(tenantPackageService.updatePackageStatus(bo)); - } - - /** - * 删除租户套餐 - * - * @param packageIds 主键串 - */ - @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) - @SaCheckPermission("system:tenantPackage:remove") - @Log(title = "租户套餐", businessType = BusinessType.DELETE) - @DeleteMapping("/{packageIds}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] packageIds) { - return toAjax(tenantPackageService.deleteWithValidByIds(Arrays.asList(packageIds), true)); - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index 237170a5c..d886c146b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -22,7 +22,6 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.helper.DataPermissionHelper; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.web.core.BaseController; import org.dromara.system.api.model.LoginUser; import org.dromara.system.domain.bo.SysDeptBo; @@ -55,7 +54,6 @@ public class SysUserController extends BaseController { private final ISysRoleService roleService; private final ISysPostService postService; private final ISysDeptService deptService; - private final ISysTenantService tenantService; /** * 获取用户列表 @@ -108,10 +106,6 @@ public class SysUserController extends BaseController { public R getInfo() { UserInfoVo userInfoVo = new UserInfoVo(); LoginUser loginUser = LoginHelper.getLoginUser(); - if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { - // 超级管理员 如果重新加载用户信息需清除动态租户 - TenantHelper.clearDynamic(); - } SysUserVo user = DataPermissionHelper.ignore(() -> userService.selectUserById(loginUser.getUserId())); if (ObjectUtil.isNull(user)) { return R.fail("没有权限访问用户数据!"); @@ -168,11 +162,6 @@ public class SysUserController extends BaseController { } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } - if (TenantHelper.isEnable()) { - if (!tenantService.checkAccountBalance(TenantHelper.getTenantId())) { - return R.fail("当前租户下用户名额不足,请联系管理员"); - } - } user.setPassword(BCrypt.hashpw(user.getPassword())); return toAjax(userService.insertUser(user)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysConfig.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysConfig.java index df1355c53..60a4ced61 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysConfig.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysConfig.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** * 参数配置表 sys_config @@ -15,7 +15,7 @@ import org.dromara.common.tenant.core.TenantEntity; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_config") -public class SysConfig extends TenantEntity { +public class SysConfig extends BaseEntity { /** * 参数主键 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java index 61b9a913c..f83f96475 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; import java.util.ArrayList; @@ -22,7 +22,7 @@ import java.util.List; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_dept") -public class SysDept extends TenantEntity { +public class SysDept extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictData.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictData.java index 9d83736e5..3493662bd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictData.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictData.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** * 字典数据表 sys_dict_data @@ -16,7 +16,7 @@ import org.dromara.common.tenant.core.TenantEntity; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_dict_data") -public class SysDictData extends TenantEntity { +public class SysDictData extends BaseEntity { /** * 字典编码 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictType.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictType.java index dfd10a709..c8f099b2e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictType.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictType.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** * 字典类型表 sys_dict_type @@ -15,7 +15,7 @@ import org.dromara.common.tenant.core.TenantEntity; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_dict_type") -public class SysDictType extends TenantEntity { +public class SysDictType extends BaseEntity { /** * 字典主键 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java index c57dc0a52..e646fc83d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java @@ -27,11 +27,6 @@ public class SysLogininfor implements Serializable { @TableId(value = "info_id") private Long infoId; - /** - * 租户编号 - */ - private String tenantId; - /** * 用户账号 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysNotice.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysNotice.java index fb1df87ee..9ef00a484 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysNotice.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysNotice.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** @@ -15,7 +15,7 @@ import org.dromara.common.tenant.core.TenantEntity; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_notice") -public class SysNotice extends TenantEntity { +public class SysNotice extends BaseEntity { /** * 公告ID diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java index 41a8c59fa..6b5a325a6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java @@ -27,11 +27,6 @@ public class SysOperLog implements Serializable { @TableId(value = "oper_id") private Long operId; - /** - * 租户编号 - */ - private String tenantId; - /** * 操作模块 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java index 2c985da6a..245b80d2e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java @@ -2,7 +2,7 @@ package org.dromara.system.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -15,7 +15,7 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_post") -public class SysPost extends TenantEntity { +public class SysPost extends BaseEntity { /** * 岗位序号 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRole.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRole.java index ad97832fc..d55a3a4c7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRole.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRole.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; /** * 角色表 sys_role @@ -18,7 +18,7 @@ import org.dromara.common.tenant.core.TenantEntity; @NoArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName("sys_role") -public class SysRole extends TenantEntity { +public class SysRole extends BaseEntity { /** * 角色ID diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysSocial.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysSocial.java index 10f2936c1..6210036ab 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysSocial.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysSocial.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; @@ -16,7 +16,7 @@ import java.io.Serial; @Data @EqualsAndHashCode(callSuper = true) @TableName("sys_social") -public class SysSocial extends TenantEntity { +public class SysSocial extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java deleted file mode 100644 index 330a874d8..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.dromara.system.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.mybatis.core.domain.BaseEntity; - -import java.io.Serial; -import java.util.Date; - -/** - * 租户对象 sys_tenant - * - * @author Michelle.Chung - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("sys_tenant") -public class SysTenant extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * id - */ - @TableId(value = "id") - private Long id; - - /** - * 租户编号 - */ - private String tenantId; - - /** - * 联系人 - */ - private String contactUserName; - - /** - * 联系电话 - */ - private String contactPhone; - - /** - * 企业名称 - */ - private String companyName; - - /** - * 统一社会信用代码 - */ - private String licenseNumber; - - /** - * 地址 - */ - private String address; - - /** - * 域名 - */ - private String domain; - - /** - * 企业简介 - */ - private String intro; - - /** - * 备注 - */ - private String remark; - - /** - * 租户套餐编号 - */ - private Long packageId; - - /** - * 过期时间 - */ - private Date expireTime; - - /** - * 用户数量(-1不限制) - */ - private Long accountCount; - - /** - * 租户状态(0正常 1停用) - */ - private String status; - - /** - * 删除标志(0代表存在 1代表删除) - */ - @TableLogic - private String delFlag; - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenantPackage.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenantPackage.java deleted file mode 100644 index 48c0d789f..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenantPackage.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.dromara.system.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.mybatis.core.domain.BaseEntity; - -import java.io.Serial; - -/** - * 租户套餐对象 sys_tenant_package - * - * @author Michelle.Chung - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("sys_tenant_package") -public class SysTenantPackage extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 租户套餐id - */ - @TableId(value = "package_id") - private Long packageId; - /** - * 套餐名称 - */ - private String packageName; - /** - * 关联菜单id - */ - private String menuIds; - /** - * 备注 - */ - private String remark; - /** - * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) - */ - private Boolean menuCheckStrictly; - /** - * 状态(0正常 1停用) - */ - private String status; - /** - * 删除标志(0代表存在 1代表删除) - */ - @TableLogic - private String delFlag; - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java index a06172f66..6e00417cf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java @@ -5,7 +5,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.util.Date; @@ -19,7 +19,7 @@ import java.util.Date; @NoArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName("sys_user") -public class SysUser extends TenantEntity { +public class SysUser extends BaseEntity { /** * 用户ID diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java index 1cbe12956..61b32d23a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java @@ -23,11 +23,6 @@ public class SysLogininforBo { */ private Long infoId; - /** - * 租户编号 - */ - private String tenantId; - /** * 用户账号 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java index 407947cb8..530542a50 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java @@ -29,11 +29,6 @@ public class SysOperLogBo { */ private Long operId; - /** - * 租户编号 - */ - private String tenantId; - /** * 模块标题 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysSocialBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysSocialBo.java index ba98b003b..5e428436f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysSocialBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysSocialBo.java @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.system.domain.SysSocial; /** @@ -20,7 +20,7 @@ import org.dromara.system.domain.SysSocial; @NoArgsConstructor @EqualsAndHashCode(callSuper = true) @AutoMapper(target = SysSocial.class, reverseConvertGenerate = false) -public class SysSocialBo extends TenantEntity { +public class SysSocialBo extends BaseEntity { /** * 主键 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java deleted file mode 100644 index 49f80e898..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.dromara.system.domain.bo; - -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.system.domain.SysTenant; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import java.util.Date; - -/** - * 租户业务对象 sys_tenant - * - * @author Michelle.Chung - */ - -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = SysTenant.class, reverseConvertGenerate = false) -public class SysTenantBo extends BaseEntity { - - /** - * id - */ - @NotNull(message = "id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 租户编号 - */ - private String tenantId; - - /** - * 联系人 - */ - @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class }) - private String contactUserName; - - /** - * 联系电话 - */ - @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class }) - private String contactPhone; - - /** - * 企业名称 - */ - @NotBlank(message = "企业名称不能为空", groups = { AddGroup.class, EditGroup.class }) - private String companyName; - - /** - * 用户名(创建系统用户) - */ - @NotBlank(message = "用户名不能为空", groups = { AddGroup.class }) - private String username; - - /** - * 密码(创建系统用户) - */ - @NotBlank(message = "密码不能为空", groups = { AddGroup.class }) -// @Pattern(regexp = RegexConstants.PASSWORD, message = "{user.password.format.valid}", groups = { AddGroup.class }) - private String password; - - /** - * 统一社会信用代码 - */ - private String licenseNumber; - - /** - * 地址 - */ - private String address; - - /** - * 域名 - */ - private String domain; - - /** - * 企业简介 - */ - private String intro; - - /** - * 备注 - */ - private String remark; - - /** - * 租户套餐编号 - */ - @NotNull(message = "租户套餐不能为空", groups = { AddGroup.class }) - private Long packageId; - - /** - * 过期时间 - */ - private Date expireTime; - - /** - * 用户数量(-1不限制) - */ - private Long accountCount; - - /** - * 租户状态(0正常 1停用) - */ - private String status; - - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantPackageBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantPackageBo.java deleted file mode 100644 index 47ba6f015..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantPackageBo.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.dromara.system.domain.bo; - -import io.github.linpeilie.annotations.AutoMapper; -import io.github.linpeilie.annotations.AutoMapping; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.system.domain.SysTenantPackage; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - -/** - * 租户套餐业务对象 sys_tenant_package - * - * @author Michelle.Chung - */ - -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = SysTenantPackage.class, reverseConvertGenerate = false) -public class SysTenantPackageBo extends BaseEntity { - - /** - * 租户套餐id - */ - @NotNull(message = "租户套餐id不能为空", groups = { EditGroup.class }) - private Long packageId; - - /** - * 套餐名称 - */ - @NotBlank(message = "套餐名称不能为空", groups = { AddGroup.class, EditGroup.class }) - private String packageName; - - /** - * 关联菜单id - */ - @AutoMapping(target = "menuIds", expression = "java(org.dromara.common.core.utils.StringUtils.joinComma(source.getMenuIds()))") - private Long[] menuIds; - - /** - * 备注 - */ - private String remark; - - /** - * 菜单树选择项是否关联显示 - */ - private Boolean menuCheckStrictly; - - /** - * 状态(0正常 1停用) - */ - private String status; - - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/convert/SysTenantVoConvert.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/convert/SysTenantVoConvert.java deleted file mode 100644 index e1c5cf2bd..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/convert/SysTenantVoConvert.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.dromara.system.domain.convert; - -import io.github.linpeilie.BaseMapper; -import org.dromara.system.api.domain.vo.RemoteTenantVo; -import org.dromara.system.domain.vo.SysTenantVo; -import org.mapstruct.Mapper; -import org.mapstruct.MappingConstants; -import org.mapstruct.ReportingPolicy; - -/** - * 租户转换器 - * @author zhujie - */ -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING, unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface SysTenantVoConvert extends BaseMapper { - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ProfileUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ProfileUserVo.java index 70fc5d3bc..bf00f8675 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ProfileUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ProfileUserVo.java @@ -25,11 +25,6 @@ public class ProfileUserVo implements Serializable { */ private Long userId; - /** - * 租户ID - */ - private String tenantId; - /** * 部门ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java index 8975e60a0..99d9fe5fd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java @@ -34,11 +34,6 @@ public class SysLogininforVo implements Serializable { @ExcelProperty(value = "序号") private Long infoId; - /** - * 租户编号 - */ - private String tenantId; - /** * 用户账号 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java index 343299b5b..4ce6cd816 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java @@ -33,11 +33,6 @@ public class SysOperLogVo implements Serializable { @ExcelProperty(value = "日志主键") private Long operId; - /** - * 租户编号 - */ - private String tenantId; - /** * 模块标题 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java index 613bf26d1..3ae6bba5f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java @@ -31,11 +31,6 @@ public class SysSocialVo implements Serializable { */ private Long userId; - /** - * 租户ID - */ - private String tenantId; - /** * 认证唯一ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantPackageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantPackageVo.java deleted file mode 100644 index 1a557f93c..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantPackageVo.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.dromara.system.domain.vo; - -import cn.idev.excel.annotation.ExcelIgnoreUnannotated; -import cn.idev.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; -import org.dromara.system.domain.SysTenantPackage; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 租户套餐视图对象 sys_tenant_package - * - * @author Michelle.Chung - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = SysTenantPackage.class) -public class SysTenantPackageVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 租户套餐id - */ - @ExcelProperty(value = "租户套餐id") - private Long packageId; - - /** - * 套餐名称 - */ - @ExcelProperty(value = "套餐名称") - private String packageName; - - /** - * 关联菜单id - */ - @ExcelProperty(value = "关联菜单id") - private String menuIds; - - /** - * 备注 - */ - @ExcelProperty(value = "备注") - private String remark; - - /** - * 菜单树选择项是否关联显示 - */ - @ExcelProperty(value = "菜单树选择项是否关联显示") - private Boolean menuCheckStrictly; - - /** - * 状态(0正常 1停用) - */ - @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "0=正常,1=停用") - private String status; - - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java deleted file mode 100644 index b760a6bab..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.dromara.system.domain.vo; - -import cn.idev.excel.annotation.ExcelIgnoreUnannotated; -import cn.idev.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; -import org.dromara.system.domain.SysTenant; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - - -/** - * 租户视图对象 sys_tenant - * - * @author Michelle.Chung - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = SysTenant.class) -public class SysTenantVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * id - */ - @ExcelProperty(value = "id") - private Long id; - - /** - * 租户编号 - */ - @ExcelProperty(value = "租户编号") - private String tenantId; - - /** - * 联系人 - */ - @ExcelProperty(value = "联系人") - private String contactUserName; - - /** - * 联系电话 - */ - @ExcelProperty(value = "联系电话") - private String contactPhone; - - /** - * 企业名称 - */ - @ExcelProperty(value = "企业名称") - private String companyName; - - /** - * 统一社会信用代码 - */ - @ExcelProperty(value = "统一社会信用代码") - private String licenseNumber; - - /** - * 地址 - */ - @ExcelProperty(value = "地址") - private String address; - - /** - * 域名 - */ - @ExcelProperty(value = "域名") - private String domain; - - /** - * 企业简介 - */ - @ExcelProperty(value = "企业简介") - private String intro; - - /** - * 备注 - */ - @ExcelProperty(value = "备注") - private String remark; - - /** - * 租户套餐编号 - */ - @ExcelProperty(value = "租户套餐编号") - private Long packageId; - - /** - * 过期时间 - */ - @ExcelProperty(value = "过期时间") - private Date expireTime; - - /** - * 用户数量(-1不限制) - */ - @ExcelProperty(value = "用户数量") - private Long accountCount; - - /** - * 租户状态(0正常 1停用) - */ - @ExcelProperty(value = "租户状态", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "0=正常,1=停用") - private String status; - - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 755dcf81d..dcce871e3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -33,11 +33,6 @@ public class SysUserVo implements Serializable { */ private Long userId; - /** - * 租户ID - */ - private String tenantId; - /** * 部门ID */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteConfigServiceImpl.java index e6b6b1b0b..94d9f733a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteConfigServiceImpl.java @@ -26,8 +26,8 @@ public class RemoteConfigServiceImpl implements RemoteConfigService { * 获取注册开关 */ @Override - public boolean selectRegisterEnabled(String tenantId) { - return configService.selectRegisterEnabled(tenantId); + public boolean selectRegisterEnabled() { + return configService.selectRegisterEnabled(); } @Override diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteTenantServiceImpl.java deleted file mode 100644 index a5d8f51be..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteTenantServiceImpl.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.dromara.system.dubbo; - -import lombok.RequiredArgsConstructor; -import org.apache.dubbo.config.annotation.DubboService; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.system.api.RemoteTenantService; -import org.dromara.system.api.domain.vo.RemoteTenantVo; -import org.dromara.system.domain.bo.SysTenantBo; -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.service.ISysTenantService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @author zhujie - */ -@RequiredArgsConstructor -@Service -@DubboService -public class RemoteTenantServiceImpl implements RemoteTenantService { - - private final ISysTenantService tenantService; - - /** - * 根据租户id获取租户详情 - * - * @see org.dromara.system.domain.convert.SysTenantVoConvert - */ - @Override - public RemoteTenantVo queryByTenantId(String tenantId) { - SysTenantVo vo = tenantService.queryByTenantId(tenantId); - return MapstructUtils.convert(vo, RemoteTenantVo.class); - } - - /** - * 获取租户列表 - */ - @Override - public List queryList() { - List list = tenantService.queryList(new SysTenantBo()); - return MapstructUtils.convert(list, RemoteTenantVo.class); - } - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java index 47aec6c92..5978a7b5a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java @@ -16,7 +16,6 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.helper.DataPermissionHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.domain.bo.RemoteUserBo; import org.dromara.system.api.domain.vo.RemoteUserVo; @@ -64,92 +63,78 @@ public class RemoteUserServiceImpl implements RemoteUserService { * 通过用户名查询用户信息 * * @param username 用户名 - * @param tenantId 租户id * @return 结果 */ @Override - public LoginUser getUserInfo(String username, String tenantId) throws UserException { - return TenantHelper.dynamic(tenantId, () -> { - SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username)); - if (ObjectUtil.isNull(sysUser)) { - throw new UserException("user.not.exists", username); - } - if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { - throw new UserException("user.blocked", username); - } - // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 - // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(sysUser); - }); + public LoginUser getUserInfo(String username) throws UserException { + SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username)); + if (ObjectUtil.isNull(sysUser)) { + throw new UserException("user.not.exists", username); + } + if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { + throw new UserException("user.blocked", username); + } + return buildLoginUser(sysUser); } /** * 通过用户id查询用户信息 * - * @param userId 用户id - * @param tenantId 租户id + * @param userId 用户id * @return 结果 */ @Override - public LoginUser getUserInfo(Long userId, String tenantId) throws UserException { - return TenantHelper.dynamic(tenantId, () -> { - SysUserVo sysUser = userMapper.selectVoById(userId); - if (ObjectUtil.isNull(sysUser)) { - throw new UserException("user.not.exists", ""); - } - if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { - throw new UserException("user.blocked", sysUser.getUserName()); - } - // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 - // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(sysUser); - }); + public LoginUser getUserInfo(Long userId) throws UserException { + SysUserVo sysUser = userMapper.selectVoById(userId); + if (ObjectUtil.isNull(sysUser)) { + throw new UserException("user.not.exists", ""); + } + if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { + throw new UserException("user.blocked", sysUser.getUserName()); + } + // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 + // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 + return buildLoginUser(sysUser); } /** * 通过手机号查询用户信息 * * @param phonenumber 手机号 - * @param tenantId 租户id * @return 结果 */ @Override - public LoginUser getUserInfoByPhonenumber(String phonenumber, String tenantId) throws UserException { - return TenantHelper.dynamic(tenantId, () -> { - SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getPhonenumber, phonenumber)); - if (ObjectUtil.isNull(sysUser)) { - throw new UserException("user.not.exists", phonenumber); - } - if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { - throw new UserException("user.blocked", phonenumber); - } - // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 - // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(sysUser); - }); + public LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException { + SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getPhonenumber, phonenumber)); + if (ObjectUtil.isNull(sysUser)) { + throw new UserException("user.not.exists", phonenumber); + } + if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) { + throw new UserException("user.blocked", phonenumber); + } + // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 + // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 + return buildLoginUser(sysUser); } /** * 通过邮箱查询用户信息 * - * @param email 邮箱 - * @param tenantId 租户id + * @param email 邮箱 * @return 结果 */ @Override - public LoginUser getUserInfoByEmail(String email, String tenantId) throws UserException { - return TenantHelper.dynamic(tenantId, () -> { - SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getEmail, email)); - if (ObjectUtil.isNull(user)) { - throw new UserException("user.not.exists", email); - } - if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { - throw new UserException("user.blocked", email); - } - // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 - // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(user); - }); + public LoginUser getUserInfoByEmail(String email) throws UserException { + SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getEmail, email)); + if (ObjectUtil.isNull(user)) { + throw new UserException("user.not.exists", email); + } + if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { + throw new UserException("user.blocked", email); + } + // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 + // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 + return buildLoginUser(user); } /** @@ -189,17 +174,15 @@ public class RemoteUserServiceImpl implements RemoteUserService { public Boolean registerUserInfo(RemoteUserBo remoteUserBo) throws UserException, ServiceException { SysUserBo sysUserBo = MapstructUtils.convert(remoteUserBo, SysUserBo.class); String username = sysUserBo.getUserName(); - boolean exist = TenantHelper.dynamic(remoteUserBo.getTenantId(), () -> { - if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { - throw new ServiceException("当前系统没有开启注册功能"); - } - return userMapper.exists(new LambdaQueryWrapper() - .eq(SysUser::getUserName, sysUserBo.getUserName())); - }); + if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { + throw new ServiceException("当前系统没有开启注册功能"); + } + boolean exist = userMapper.exists(new LambdaQueryWrapper() + .eq(SysUser::getUserName, sysUserBo.getUserName())); if (exist) { throw new UserException("user.register.save.error", username); } - return userService.registerUser(sysUserBo, remoteUserBo.getTenantId()); + return userService.registerUser(sysUserBo); } /** @@ -263,7 +246,6 @@ public class RemoteUserServiceImpl implements RemoteUserService { private LoginUser buildLoginUser(SysUserVo userVo) { LoginUser loginUser = new LoginUser(); Long userId = userVo.getUserId(); - loginUser.setTenantId(userVo.getTenantId()); loginUser.setUserId(userId); loginUser.setDeptId(userVo.getDeptId()); loginUser.setUsername(userVo.getUserName()); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantMapper.java deleted file mode 100644 index 7e1167aa3..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.dromara.system.mapper; - -import org.dromara.system.domain.SysTenant; -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 租户Mapper接口 - * - * @author Michelle.Chung - */ -public interface SysTenantMapper extends BaseMapperPlus { - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantPackageMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantPackageMapper.java deleted file mode 100644 index 10ca1700f..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantPackageMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.dromara.system.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.system.domain.SysTenantPackage; -import org.dromara.system.domain.vo.SysTenantPackageVo; - -/** - * 租户套餐Mapper接口 - * - * @author Michelle.Chung - */ -public interface SysTenantPackageMapper extends BaseMapperPlus { - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysConfigService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysConfigService.java index a101643e8..11496620c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysConfigService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysConfigService.java @@ -41,10 +41,9 @@ public interface ISysConfigService { /** * 获取注册开关 - * @param tenantId 租户id * @return true开启,false关闭 */ - boolean selectRegisterEnabled(String tenantId); + boolean selectRegisterEnabled(); /** * 查询参数配置列表 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysMenuService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysMenuService.java index a1dcf8381..4059df485 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysMenuService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysMenuService.java @@ -65,14 +65,6 @@ public interface ISysMenuService { */ List selectMenuListByRoleId(Long roleId); - /** - * 根据租户套餐ID查询菜单树信息 - * - * @param packageId 租户套餐ID - * @return 选中菜单列表 - */ - List selectMenuListByPackageId(Long packageId); - /** * 构建前端路由所需要的菜单 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantPackageService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantPackageService.java deleted file mode 100644 index bd2970c81..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantPackageService.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.dromara.system.service; - -import org.dromara.system.domain.vo.SysTenantPackageVo; -import org.dromara.system.domain.bo.SysTenantPackageBo; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; - -import java.util.Collection; -import java.util.List; - -/** - * 租户套餐Service接口 - * - * @author Michelle.Chung - */ -public interface ISysTenantPackageService { - - /** - * 查询租户套餐 - */ - SysTenantPackageVo queryById(Long packageId); - - /** - * 查询租户套餐列表 - */ - TableDataInfo queryPageList(SysTenantPackageBo bo, PageQuery pageQuery); - - /** - * 查询租户套餐已启用列表 - */ - List selectList(); - - /** - * 查询租户套餐列表 - */ - List queryList(SysTenantPackageBo bo); - - /** - * 新增租户套餐 - */ - Boolean insertByBo(SysTenantPackageBo bo); - - /** - * 修改租户套餐 - */ - Boolean updateByBo(SysTenantPackageBo bo); - - /** - * 校验套餐名称是否唯一 - */ - boolean checkPackageNameUnique(SysTenantPackageBo bo); - - /** - * 修改套餐状态 - */ - int updatePackageStatus(SysTenantPackageBo bo); - - /** - * 校验并批量删除租户套餐信息 - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantService.java deleted file mode 100644 index b06658db5..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantService.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.dromara.system.service; - -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.domain.bo.SysTenantBo; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; - -import java.util.Collection; -import java.util.List; - -/** - * 租户Service接口 - * - * @author Michelle.Chung - */ -public interface ISysTenantService { - - /** - * 查询租户 - */ - SysTenantVo queryById(Long id); - - /** - * 基于租户ID查询租户 - */ - SysTenantVo queryByTenantId(String tenantId); - - /** - * 查询租户列表 - */ - TableDataInfo queryPageList(SysTenantBo bo, PageQuery pageQuery); - - /** - * 查询租户列表 - */ - List queryList(SysTenantBo bo); - - /** - * 新增租户 - */ - Boolean insertByBo(SysTenantBo bo); - - /** - * 修改租户 - */ - Boolean updateByBo(SysTenantBo bo); - - /** - * 修改租户状态 - */ - int updateTenantStatus(SysTenantBo bo); - - /** - * 校验租户是否允许操作 - */ - void checkTenantAllowed(String tenantId); - - /** - * 校验并批量删除租户信息 - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - /** - * 校验企业名称是否唯一 - */ - boolean checkCompanyNameUnique(SysTenantBo bo); - - /** - * 校验账号余额 - */ - boolean checkAccountBalance(String tenantId); - - /** - * 校验有效期 - */ - boolean checkExpireTime(String tenantId); - - /** - * 同步租户套餐 - */ - Boolean syncTenantPackage(String tenantId, Long packageId); - - /** - * 同步租户字典 - */ - void syncTenantDict(); - - /** - * 同步租户参数配置 - */ - void syncTenantConfig(); -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index a1b83efbf..f0cafb904 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -149,7 +149,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - boolean registerUser(SysUserBo user, String tenantId); + boolean registerUser(SysUserBo user); /** * 修改用户信息 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysConfigServiceImpl.java index 3e9643602..69f7857b7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysConfigServiceImpl.java @@ -15,7 +15,6 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.redis.utils.CacheUtils; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysConfig; import org.dromara.system.domain.bo.SysConfigBo; import org.dromara.system.domain.vo.SysConfigVo; @@ -80,14 +79,12 @@ public class SysConfigServiceImpl implements ISysConfigService { /** * 获取注册开关 - * @param tenantId 租户id + * * @return true开启,false关闭 */ @Override - public boolean selectRegisterEnabled(String tenantId) { - String configValue = TenantHelper.dynamic(tenantId, () -> - this.selectConfigByKey("sys.account.registerUser") - ); + public boolean selectRegisterEnabled() { + String configValue = this.selectConfigByKey("sys.account.registerUser"); return Convert.toBool(configValue); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java index 72e0ec72d..a43ab3cdd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java @@ -1,7 +1,6 @@ package org.dromara.system.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -17,7 +16,6 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.SysMenu; import org.dromara.system.domain.SysRole; import org.dromara.system.domain.SysRoleMenu; -import org.dromara.system.domain.SysTenantPackage; import org.dromara.system.domain.bo.SysMenuBo; import org.dromara.system.domain.vo.MetaVo; import org.dromara.system.domain.vo.RouterVo; @@ -25,7 +23,6 @@ import org.dromara.system.domain.vo.SysMenuVo; import org.dromara.system.mapper.SysMenuMapper; import org.dromara.system.mapper.SysRoleMapper; import org.dromara.system.mapper.SysRoleMenuMapper; -import org.dromara.system.mapper.SysTenantPackageMapper; import org.dromara.system.service.ISysMenuService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,7 +42,6 @@ public class SysMenuServiceImpl implements ISysMenuService { private final SysMenuMapper baseMapper; private final SysRoleMapper roleMapper; private final SysRoleMenuMapper roleMenuMapper; - private final SysTenantPackageMapper tenantPackageMapper; /** * 根据用户查询系统菜单列表 @@ -141,35 +137,6 @@ public class SysMenuServiceImpl implements ISysMenuService { return baseMapper.selectMenuListByRoleId(roleId, role.getMenuCheckStrictly()); } - /** - * 根据租户套餐ID查询菜单树信息 - * - * @param packageId 租户套餐ID - * @return 选中菜单列表 - */ - @Override - public List selectMenuListByPackageId(Long packageId) { - SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId); - List menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong); - if (CollUtil.isEmpty(menuIds)) { - return List.of(); - } - List parentIds = null; - if (tenantPackage.getMenuCheckStrictly()) { - parentIds = baseMapper.selectObjs(new LambdaQueryWrapper() - .select(SysMenu::getParentId) - .in(SysMenu::getMenuId, menuIds), x -> { - return Convert.toLong(x); - }); - } - return baseMapper.selectObjs(new LambdaQueryWrapper() - .select(SysMenu::getMenuId) - .in(SysMenu::getMenuId, menuIds) - .notIn(CollUtil.isNotEmpty(parentIds), SysMenu::getMenuId, parentIds), x -> { - return Convert.toLong(x); - }); - } - /** * 构建前端路由所需要的菜单 * 路由name命名规则 path首字母转大写 + id diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java index 7ccae4bf1..e274b2c9c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java @@ -1,7 +1,7 @@ package org.dromara.system.service.impl; import lombok.RequiredArgsConstructor; -import org.dromara.common.core.constant.TenantConstants; +import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.service.ISysMenuService; import org.dromara.system.service.ISysPermissionService; @@ -34,7 +34,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService { Set roles = new HashSet<>(); // 管理员拥有所有权限 if (LoginHelper.isSuperAdmin(userId)) { - roles.add(TenantConstants.SUPER_ADMIN_ROLE_KEY); + roles.add(SystemConstants.SUPER_ADMIN_ROLE_KEY); } else { roles.addAll(roleService.selectRolePermissionByUserId(userId)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java index 8fa65a65d..a6e71612d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java @@ -13,7 +13,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; @@ -223,7 +222,7 @@ public class SysRoleServiceImpl implements ISysRoleService { if (ObjectUtil.isNotNull(role.getRoleId()) && LoginHelper.isSuperAdmin(role.getRoleId())) { throw new ServiceException("不允许操作超级管理员角色"); } - String[] keys = new String[]{TenantConstants.SUPER_ADMIN_ROLE_KEY, TenantConstants.TENANT_ADMIN_ROLE_KEY}; + String[] keys = new String[]{SystemConstants.SUPER_ADMIN_ROLE_KEY}; // 新增不允许使用 管理员标识符 if (ObjectUtil.isNull(role.getRoleId()) && StringUtils.equalsAny(role.getRoleKey(), keys)) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSensitiveServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSensitiveServiceImpl.java index 8a0d45ef3..77f05e28a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSensitiveServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSensitiveServiceImpl.java @@ -4,7 +4,6 @@ import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ArrayUtil; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.sensitive.core.SensitiveService; -import org.dromara.common.tenant.helper.TenantHelper; import org.springframework.stereotype.Service; /** @@ -38,9 +37,6 @@ public class SysSensitiveServiceImpl implements SensitiveService { return false; } - if (TenantHelper.isEnable()) { - return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin(); - } return !LoginHelper.isSuperAdmin(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantPackageServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantPackageServiceImpl.java deleted file mode 100644 index baefdf792..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantPackageServiceImpl.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.dromara.system.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.system.domain.SysTenant; -import org.dromara.system.domain.SysTenantPackage; -import org.dromara.system.domain.bo.SysTenantPackageBo; -import org.dromara.system.domain.vo.SysTenantPackageVo; -import org.dromara.system.mapper.SysTenantMapper; -import org.dromara.system.mapper.SysTenantPackageMapper; -import org.dromara.system.service.ISysTenantPackageService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -/** - * 租户套餐Service业务层处理 - * - * @author Michelle.Chung - */ -@RequiredArgsConstructor -@Service -public class SysTenantPackageServiceImpl implements ISysTenantPackageService { - - private final SysTenantPackageMapper baseMapper; - private final SysTenantMapper tenantMapper; - - /** - * 查询租户套餐 - */ - @Override - public SysTenantPackageVo queryById(Long packageId){ - return baseMapper.selectVoById(packageId); - } - - /** - * 查询租户套餐列表 - */ - @Override - public TableDataInfo queryPageList(SysTenantPackageBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - @Override - public List selectList() { - return baseMapper.selectVoList(new LambdaQueryWrapper() - .eq(SysTenantPackage::getStatus, SystemConstants.NORMAL)); - } - - /** - * 查询租户套餐列表 - */ - @Override - public List queryList(SysTenantPackageBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(SysTenantPackageBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getPackageName()), SysTenantPackage::getPackageName, bo.getPackageName()); - lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysTenantPackage::getStatus, bo.getStatus()); - lqw.orderByAsc(SysTenantPackage::getPackageId); - return lqw; - } - - /** - * 新增租户套餐 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(SysTenantPackageBo bo) { - SysTenantPackage add = MapstructUtils.convert(bo, SysTenantPackage.class); - // 保存菜单id - List menuIds = Arrays.asList(bo.getMenuIds()); - add.setMenuIds(CollUtil.isNotEmpty(menuIds) ? StringUtils.joinComma(menuIds) : ""); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setPackageId(add.getPackageId()); - } - return flag; - } - - /** - * 修改租户套餐 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean updateByBo(SysTenantPackageBo bo) { - SysTenantPackage update = MapstructUtils.convert(bo, SysTenantPackage.class); - // 保存菜单id - List menuIds = Arrays.asList(bo.getMenuIds()); - update.setMenuIds(CollUtil.isNotEmpty(menuIds) ? StringUtils.joinComma(menuIds) : ""); - return baseMapper.updateById(update) > 0; - } - - /** - * 校验套餐名称是否唯一 - */ - @Override - public boolean checkPackageNameUnique(SysTenantPackageBo bo) { - boolean exist = baseMapper.exists(new LambdaQueryWrapper() - .eq(SysTenantPackage::getPackageName, bo.getPackageName()) - .ne(ObjectUtil.isNotNull(bo.getPackageId()), SysTenantPackage::getPackageId, bo.getPackageId())); - return !exist; - } - - /** - * 修改套餐状态 - * - * @param bo 套餐信息 - * @return 结果 - */ - @Override - public int updatePackageStatus(SysTenantPackageBo bo) { - SysTenantPackage tenantPackage = MapstructUtils.convert(bo, SysTenantPackage.class); - return baseMapper.updateById(tenantPackage); - } - - /** - * 批量删除租户套餐 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - boolean exists = tenantMapper.exists(new LambdaQueryWrapper().in(SysTenant::getPackageId, ids)); - if (exists) { - throw new ServiceException("租户套餐已被使用"); - } - } - return baseMapper.deleteByIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java deleted file mode 100644 index 0f367e7eb..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java +++ /dev/null @@ -1,565 +0,0 @@ -package org.dromara.system.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.crypto.digest.BCrypt; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.apache.dubbo.config.annotation.DubboReference; -import org.dromara.common.core.constant.CacheNames; -import org.dromara.common.core.constant.Constants; -import org.dromara.common.core.constant.SystemConstants; -import org.dromara.common.core.constant.TenantConstants; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.redis.utils.CacheUtils; -import org.dromara.common.tenant.core.TenantEntity; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.system.domain.*; -import org.dromara.system.domain.bo.SysTenantBo; -import org.dromara.system.domain.vo.SysTenantVo; -import org.dromara.system.mapper.*; -import org.dromara.system.service.ISysTenantService; -import org.dromara.workflow.api.RemoteWorkflowService; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 租户Service业务层处理 - * - * @author Michelle.Chung - */ -@RequiredArgsConstructor -@Service -public class SysTenantServiceImpl implements ISysTenantService { - - private final SysTenantMapper baseMapper; - private final SysTenantPackageMapper tenantPackageMapper; - private final SysUserMapper userMapper; - private final SysDeptMapper deptMapper; - private final SysRoleMapper roleMapper; - private final SysRoleMenuMapper roleMenuMapper; - private final SysRoleDeptMapper roleDeptMapper; - private final SysUserRoleMapper userRoleMapper; - private final SysDictTypeMapper dictTypeMapper; - private final SysDictDataMapper dictDataMapper; - private final SysConfigMapper configMapper; - - @DubboReference(mock = "true") - private RemoteWorkflowService remoteWorkflowService; - - /** - * 查询租户 - */ - @Override - public SysTenantVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - /** - * 基于租户ID查询租户 - */ - @Cacheable(cacheNames = CacheNames.SYS_TENANT, key = "#tenantId") - @Override - public SysTenantVo queryByTenantId(String tenantId) { - return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysTenant::getTenantId, tenantId)); - } - - /** - * 查询租户列表 - */ - @Override - public TableDataInfo queryPageList(SysTenantBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询租户列表 - */ - @Override - public List queryList(SysTenantBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(SysTenantBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId()); - lqw.like(StringUtils.isNotBlank(bo.getContactUserName()), SysTenant::getContactUserName, bo.getContactUserName()); - lqw.eq(StringUtils.isNotBlank(bo.getContactPhone()), SysTenant::getContactPhone, bo.getContactPhone()); - lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), SysTenant::getCompanyName, bo.getCompanyName()); - lqw.eq(StringUtils.isNotBlank(bo.getLicenseNumber()), SysTenant::getLicenseNumber, bo.getLicenseNumber()); - lqw.eq(StringUtils.isNotBlank(bo.getAddress()), SysTenant::getAddress, bo.getAddress()); - lqw.eq(StringUtils.isNotBlank(bo.getIntro()), SysTenant::getIntro, bo.getIntro()); - lqw.like(StringUtils.isNotBlank(bo.getDomain()), SysTenant::getDomain, bo.getDomain()); - lqw.eq(bo.getPackageId() != null, SysTenant::getPackageId, bo.getPackageId()); - lqw.eq(bo.getExpireTime() != null, SysTenant::getExpireTime, bo.getExpireTime()); - lqw.eq(bo.getAccountCount() != null, SysTenant::getAccountCount, bo.getAccountCount()); - lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysTenant::getStatus, bo.getStatus()); - lqw.orderByAsc(SysTenant::getId); - return lqw; - } - - /** - * 新增租户 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(SysTenantBo bo) { - SysTenant add = MapstructUtils.convert(bo, SysTenant.class); - - // 获取所有租户编号 - List tenantIds = baseMapper.selectObjs( - new LambdaQueryWrapper().select(SysTenant::getTenantId), x -> {return Convert.toStr(x);}); - String tenantId = generateTenantId(tenantIds); - add.setTenantId(tenantId); - boolean flag = baseMapper.insert(add) > 0; - if (!flag) { - throw new ServiceException("创建租户失败"); - } - bo.setId(add.getId()); - - // 根据套餐创建角色 - Long roleId = createTenantRole(tenantId, bo.getPackageId()); - - // 创建部门: 公司名是部门名称 - SysDept dept = new SysDept(); - dept.setTenantId(tenantId); - dept.setDeptName(bo.getCompanyName()); - dept.setParentId(Constants.TOP_PARENT_ID); - dept.setAncestors(Constants.TOP_PARENT_ID.toString()); - deptMapper.insert(dept); - Long deptId = dept.getDeptId(); - - // 角色和部门关联表 - SysRoleDept roleDept = new SysRoleDept(); - roleDept.setRoleId(roleId); - roleDept.setDeptId(deptId); - roleDeptMapper.insert(roleDept); - - // 创建系统用户 - SysUser user = new SysUser(); - user.setTenantId(tenantId); - user.setUserName(bo.getUsername()); - user.setNickName(bo.getUsername()); - user.setPassword(BCrypt.hashpw(bo.getPassword())); - user.setDeptId(deptId); - userMapper.insert(user); - //新增系统用户后,默认当前用户为部门的负责人 - SysDept sd = new SysDept(); - sd.setLeader(user.getUserId()); - sd.setDeptId(deptId); - deptMapper.updateById(sd); - - // 用户和角色关联表 - SysUserRole userRole = new SysUserRole(); - userRole.setUserId(user.getUserId()); - userRole.setRoleId(roleId); - userRoleMapper.insert(userRole); - - String defaultTenantId = TenantConstants.DEFAULT_TENANT_ID; - List dictTypeList = dictTypeMapper.selectList( - new LambdaQueryWrapper().eq(SysDictType::getTenantId, defaultTenantId)); - List dictDataList = dictDataMapper.selectList( - new LambdaQueryWrapper().eq(SysDictData::getTenantId, defaultTenantId)); - for (SysDictType dictType : dictTypeList) { - dictType.setDictId(null); - dictType.setTenantId(tenantId); - dictType.setCreateDept(null); - dictType.setCreateBy(null); - dictType.setCreateTime(null); - dictType.setUpdateBy(null); - dictType.setUpdateTime(null); - } - for (SysDictData dictData : dictDataList) { - dictData.setDictCode(null); - dictData.setTenantId(tenantId); - dictData.setCreateDept(null); - dictData.setCreateBy(null); - dictData.setCreateTime(null); - dictData.setUpdateBy(null); - dictData.setUpdateTime(null); - } - dictTypeMapper.insertBatch(dictTypeList); - dictDataMapper.insertBatch(dictDataList); - - List sysConfigList = configMapper.selectList( - new LambdaQueryWrapper().eq(SysConfig::getTenantId, defaultTenantId)); - for (SysConfig config : sysConfigList) { - config.setConfigId(null); - config.setTenantId(tenantId); - config.setCreateDept(null); - config.setCreateBy(null); - config.setCreateTime(null); - config.setUpdateBy(null); - config.setUpdateTime(null); - } - configMapper.insertBatch(sysConfigList); - - // 新增租户流程定义 - remoteWorkflowService.syncDef(tenantId); - return true; - } - - /** - * 生成租户id - * - * @param tenantIds 已有租户id列表 - * @return 租户id - */ - private String generateTenantId(List tenantIds) { - // 随机生成6位 - String numbers = RandomUtil.randomNumbers(6); - // 判断是否存在,如果存在则重新生成 - if (tenantIds.contains(numbers)) { - return generateTenantId(tenantIds); - } - return numbers; - } - - /** - * 根据租户菜单创建租户角色 - * - * @param tenantId 租户编号 - * @param packageId 租户套餐id - * @return 角色id - */ - private Long createTenantRole(String tenantId, Long packageId) { - // 获取租户套餐 - SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId); - if (ObjectUtil.isNull(tenantPackage)) { - throw new ServiceException("套餐不存在"); - } - // 获取套餐菜单id - List menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong); - - // 创建角色 - SysRole role = new SysRole(); - role.setTenantId(tenantId); - role.setRoleName(TenantConstants.TENANT_ADMIN_ROLE_NAME); - role.setRoleKey(TenantConstants.TENANT_ADMIN_ROLE_KEY); - role.setRoleSort(1); - role.setStatus(SystemConstants.NORMAL); - roleMapper.insert(role); - Long roleId = role.getRoleId(); - - // 创建角色菜单 - List roleMenus = new ArrayList<>(menuIds.size()); - menuIds.forEach(menuId -> { - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setRoleId(roleId); - roleMenu.setMenuId(menuId); - roleMenus.add(roleMenu); - }); - roleMenuMapper.insertBatch(roleMenus); - - return roleId; - } - - /** - * 修改租户 - */ - @CacheEvict(cacheNames = CacheNames.SYS_TENANT, key = "#bo.tenantId") - @Override - public Boolean updateByBo(SysTenantBo bo) { - SysTenant tenant = MapstructUtils.convert(bo, SysTenant.class); - tenant.setTenantId(null); - tenant.setPackageId(null); - return baseMapper.updateById(tenant) > 0; - } - - /** - * 修改租户状态 - * - * @param bo 租户信息 - * @return 结果 - */ - @CacheEvict(cacheNames = CacheNames.SYS_TENANT, key = "#bo.tenantId") - @Override - public int updateTenantStatus(SysTenantBo bo) { - SysTenant tenant = new SysTenant(); - tenant.setId(bo.getId()); - tenant.setStatus(bo.getStatus()); - return baseMapper.updateById(tenant); - } - - /** - * 校验租户是否允许操作 - * - * @param tenantId 租户ID - */ - @Override - public void checkTenantAllowed(String tenantId) { - if (ObjectUtil.isNotNull(tenantId) && TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { - throw new ServiceException("不允许操作管理租户"); - } - } - - /** - * 批量删除租户 - */ - @CacheEvict(cacheNames = CacheNames.SYS_TENANT, allEntries = true) - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - // 做一些业务上的校验,判断是否需要校验 - if (ids.contains(TenantConstants.SUPER_ADMIN_ID)) { - throw new ServiceException("超管租户不能删除"); - } - } - return baseMapper.deleteByIds(ids) > 0; - } - - /** - * 校验企业名称是否唯一 - */ - @Override - public boolean checkCompanyNameUnique(SysTenantBo bo) { - boolean exist = baseMapper.exists(new LambdaQueryWrapper() - .eq(SysTenant::getCompanyName, bo.getCompanyName()) - .ne(ObjectUtil.isNotNull(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId())); - return !exist; - } - - /** - * 校验账号余额 - */ - @Override - public boolean checkAccountBalance(String tenantId) { - SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId); - // 如果余额为-1代表不限制 - if (tenant.getAccountCount() == -1) { - return true; - } - Long userNumber = userMapper.selectCount(new LambdaQueryWrapper<>()); - // 如果余额大于0代表还有可用名额 - return tenant.getAccountCount() - userNumber > 0; - } - - /** - * 校验有效期 - */ - @Override - public boolean checkExpireTime(String tenantId) { - SysTenantVo tenant = SpringUtils.getAopProxy(this).queryByTenantId(tenantId); - // 如果未设置过期时间代表不限制 - if (ObjectUtil.isNull(tenant.getExpireTime())) { - return true; - } - // 如果当前时间在过期时间之前则通过 - return new Date().before(tenant.getExpireTime()); - } - - /** - * 同步租户套餐 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean syncTenantPackage(String tenantId, Long packageId) { - SysTenantPackage tenantPackage = tenantPackageMapper.selectById(packageId); - List roles = roleMapper.selectList( - new LambdaQueryWrapper().eq(SysRole::getTenantId, tenantId)); - List roleIds = new ArrayList<>(roles.size() - 1); - List menuIds = StringUtils.splitTo(tenantPackage.getMenuIds(), Convert::toLong); - roles.forEach(item -> { - if (TenantConstants.TENANT_ADMIN_ROLE_KEY.equals(item.getRoleKey())) { - List roleMenus = new ArrayList<>(menuIds.size()); - menuIds.forEach(menuId -> { - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setRoleId(item.getRoleId()); - roleMenu.setMenuId(menuId); - roleMenus.add(roleMenu); - }); - roleMenuMapper.delete(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, item.getRoleId())); - roleMenuMapper.insertBatch(roleMenus); - } else { - roleIds.add(item.getRoleId()); - } - }); - if (!roleIds.isEmpty()) { - roleMenuMapper.delete( - new LambdaQueryWrapper().in(SysRoleMenu::getRoleId, roleIds).notIn(!menuIds.isEmpty(), SysRoleMenu::getMenuId, menuIds)); - } - return true; - } - - /** - * 同步租户字典 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void syncTenantDict() { - // 查询超管 所有字典数据 - List dictTypeList = new ArrayList<>(); - List dictDataList = new ArrayList<>(); - TenantHelper.ignore(() -> { - dictTypeList.addAll(dictTypeMapper.selectList()); - dictDataList.addAll(dictDataMapper.selectList()); - }); - // 所有租户字典类型 - Map> dictTypeMap = StreamUtils.groupByKey(dictTypeList, TenantEntity::getTenantId); - // 所有租户字典数据 - Map>> dictDataMap = StreamUtils.groupBy2Key(dictDataList, TenantEntity::getTenantId, SysDictData::getDictType); - - // 默认租户字典类型列表 - List defaultDictTypeList = dictTypeMap.get(TenantConstants.DEFAULT_TENANT_ID); - // 默认租户字典数据 - Map> defaultDictDataMap = dictDataMap.get(TenantConstants.DEFAULT_TENANT_ID); - - // 获取所有租户编号 - List tenantIds = baseMapper.selectObjs( - new LambdaQueryWrapper().select(SysTenant::getTenantId) - .eq(SysTenant::getStatus, SystemConstants.NORMAL), x -> { - return Convert.toStr(x); - }); - // 待入库的字典类型和字典数据 - List saveTypeList = new ArrayList<>(); - List saveDataList = new ArrayList<>(); - // 待同步的租户编号(用于清除对于租户的字典缓存) - Set syncTenantIds = new HashSet<>(); - // 循环所有租户,处理需要同步的数据 - for (String tenantId : tenantIds) { - // 排除默认租户 - if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { - continue; - } - // 根据默认租户的字典类型进行数据同步 - for (SysDictType dictType : defaultDictTypeList) { - // 获取当前租户的字典类型列表 - List typeList = StreamUtils.toList(dictTypeMap.get(tenantId), SysDictType::getDictType); - // 根据字典类型获取默认租户的字典数据 - List defaultDictDataList = defaultDictDataMap.get(dictType.getDictType()); - // 排除不需要同步的字典数据 - Set excludeDictDataSet = CollUtil.newHashSet(); - // 处理 存在type不存在data 的情况 - if (typeList.contains(dictType.getDictType())) { - // 获取租户字典数据 - Optional.ofNullable(dictDataMap.get(tenantId)) - // 获取租户当前字典类型的字典数据 - .map(tenantDictDataMap -> tenantDictDataMap.get(dictType.getDictType())) - // 保存字典数据项的字典键值,用于判断数据是否需要同步 - .map(data -> StreamUtils.toSet(data, SysDictData::getDictValue)) - // 添加到排除集合中 - .ifPresent(excludeDictDataSet::addAll); - } else { - // 同步字典类型 - SysDictType type = BeanUtil.toBean(dictType, SysDictType.class); - type.setDictId(null); - type.setTenantId(tenantId); - type.setCreateTime(null); - type.setUpdateTime(null); - syncTenantIds.add(tenantId); - saveTypeList.add(type); - } - - // 默认租户字典数据不为空再去处理 - if (CollUtil.isNotEmpty(defaultDictDataList)) { - // 提前优化排除判断if条件语句,对于 && 并联条件,该优化可以避免不必要的 excludeDictDataSet.contains() 函数调用 - boolean isExclude = CollUtil.isNotEmpty(excludeDictDataSet); - // 筛选出 dictType 对应的 data - for (SysDictData dictData : defaultDictDataList) { - // 排除不需要同步的字典数据 - if (isExclude && excludeDictDataSet.contains(dictData.getDictValue())) { - continue; - } - SysDictData data = BeanUtil.toBean(dictData, SysDictData.class); - // 设置字典编码为 null - data.setDictCode(null); - data.setTenantId(tenantId); - data.setCreateTime(null); - data.setUpdateTime(null); - data.setCreateDept(null); - data.setCreateBy(null); - data.setUpdateBy(null); - syncTenantIds.add(tenantId); - saveDataList.add(data); - } - } - } - } - TenantHelper.ignore(() -> { - if (CollUtil.isNotEmpty(saveTypeList)) { - dictTypeMapper.insertBatch(saveTypeList); - } - if (CollUtil.isNotEmpty(saveDataList)) { - dictDataMapper.insertBatch(saveDataList); - } - }); - for (String tenantId : syncTenantIds) { - TenantHelper.dynamic(tenantId, () -> CacheUtils.clear(CacheNames.SYS_DICT)); - } - } - - /** - * 同步租户参数配置 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void syncTenantConfig() { - // 查询超管 所有参数配置 - List configList = TenantHelper.ignore(() -> configMapper.selectList()); - - // 所有租户参数配置 - Map> configMap = StreamUtils.groupByKey(configList, TenantEntity::getTenantId); - - // 默认租户字典类型列表 - List defaultConfigList = configMap.get(TenantConstants.DEFAULT_TENANT_ID); - - // 获取所有租户编号 - List tenantIds = baseMapper.selectObjs( - new LambdaQueryWrapper().select(SysTenant::getTenantId) - .eq(SysTenant::getStatus, SystemConstants.NORMAL), x -> { - return Convert.toStr(x); - }); - // 待入库的字典类型和字典数据 - List saveConfigList = new ArrayList<>(); - // 待同步的租户编号(用于清除对于租户的字典缓存) - Set syncTenantIds = new HashSet<>(); - // 循环所有租户,处理需要同步的数据 - for (String tenantId : tenantIds) { - // 排除默认租户 - if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) { - continue; - } - // 根据默认租户的字典类型进行数据同步 - for (SysConfig config : defaultConfigList) { - // 获取当前租户的字典类型列表 - List typeList = StreamUtils.toList(configMap.get(tenantId), SysConfig::getConfigKey); - if (!typeList.contains(config.getConfigKey())) { - SysConfig type = BeanUtil.toBean(config, SysConfig.class); - type.setConfigId(null); - type.setTenantId(tenantId); - type.setCreateTime(null); - type.setUpdateTime(null); - syncTenantIds.add(tenantId); - saveConfigList.add(type); - } - } - } - TenantHelper.ignore(() -> { - if (CollUtil.isNotEmpty(saveConfigList)) { - configMapper.insertBatch(saveConfigList); - } - }); - for (String tenantId : syncTenantIds) { - TenantHelper.dynamic(tenantId, () -> CacheUtils.clear(CacheNames.SYS_CONFIG)); - } - } - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 3f49c56bc..26d33e0bc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -327,11 +327,10 @@ public class SysUserServiceImpl implements ISysUserService { * @return 结果 */ @Override - public boolean registerUser(SysUserBo user, String tenantId) { + public boolean registerUser(SysUserBo user) { user.setCreateBy(0L); user.setUpdateBy(0L); SysUser sysUser = MapstructUtils.convert(user, SysUser.class); - sysUser.setTenantId(tenantId); return baseMapper.insert(sysUser) > 0; } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml deleted file mode 100644 index 0d96e134d..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantPackageMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantPackageMapper.xml deleted file mode 100644 index 79cf4c56b..000000000 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantPackageMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ruoyi-modules/ruoyi-workflow/pom.xml b/ruoyi-modules/ruoyi-workflow/pom.xml index 1fee0bdbb..169f4e2c0 100644 --- a/ruoyi-modules/ruoyi-workflow/pom.xml +++ b/ruoyi-modules/ruoyi-workflow/pom.xml @@ -51,10 +51,6 @@ org.dromara ruoyi-common-translation - - org.dromara - ruoyi-common-tenant - org.dromara ruoyi-common-security diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowCategory.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowCategory.java index 28918f1d9..5247efee9 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowCategory.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowCategory.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; import java.util.ArrayList; @@ -21,7 +21,7 @@ import java.util.List; @Data @EqualsAndHashCode(callSuper = true) @TableName("flow_category") -public class FlowCategory extends TenantEntity { +public class FlowCategory extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowInstanceBizExt.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowInstanceBizExt.java index 932b0380e..fc62210c2 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowInstanceBizExt.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowInstanceBizExt.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; @@ -18,7 +18,7 @@ import java.io.Serial; @Data @EqualsAndHashCode(callSuper = true) @TableName("flow_instance_biz_ext") -public class FlowInstanceBizExt extends TenantEntity { +public class FlowInstanceBizExt extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java index aef75739a..210f1de22 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java @@ -31,11 +31,6 @@ public class FlowDefinitionVo implements Serializable { */ private Date updateTime; - /** - * 租户ID - */ - private String tenantId; - /** * 删除标记 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java index a9f6a60f4..1bc084503 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java @@ -35,11 +35,6 @@ public class FlowHisTaskVo implements Serializable { */ private Date updateTime; - /** - * 租户ID - */ - private String tenantId; - /** * 删除标记 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java index b03f73b13..7a7a3e346 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java @@ -27,11 +27,6 @@ public class FlowInstanceVo { */ private Date updateTime; - /** - * 租户ID - */ - private String tenantId; - /** * 删除标记 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java index ffe804912..e26a63c1b 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java @@ -36,11 +36,6 @@ public class FlowTaskVo implements Serializable { */ private Date updateTime; - /** - * 租户ID - */ - private String tenantId; - /** * 删除标记 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java index 97dc522c6..b60d94624 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java @@ -53,11 +53,6 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService { return workflowService.getInstanceIdByBusinessId(businessId); } - @Override - public void syncDef(String tenantId) { - workflowService.syncDef(tenantId); - } - @Override public RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess) { return workflowService.startWorkFlow(startProcess); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java index c7ce84e1e..26f454d46 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java @@ -2,7 +2,6 @@ package org.dromara.workflow.handler; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.warm.flow.core.entity.Instance; import org.dromara.warm.flow.core.entity.Task; import org.dromara.workflow.api.event.ProcessDeleteEvent; @@ -34,11 +33,9 @@ public class FlowProcessEventHandler { * @param submit 当为true时为申请人节点办理 */ public void processHandler(String flowCode, Instance instance, String status, Map params, boolean submit) { - String tenantId = TenantHelper.getTenantId(); - log.info("【流程事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}, 流程状态: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 是否申请人节点: {}, 参数: {}", - tenantId, flowCode, instance.getBusinessId(), status, instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), submit, params); + log.info("【流程事件发布】流程编码: {}, 业务ID: {}, 流程状态: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 是否申请人节点: {}, 参数: {}", + flowCode, instance.getBusinessId(), status, instance.getNodeType(), instance.getNodeCode(), instance.getNodeName(), submit, params); ProcessEvent processEvent = new ProcessEvent(); - processEvent.setTenantId(tenantId); processEvent.setFlowCode(flowCode); processEvent.setInstanceId(instance.getId()); processEvent.setBusinessId(instance.getBusinessId()); @@ -60,11 +57,9 @@ public class FlowProcessEventHandler { * @param params 上一个任务的办理参数 */ public void processTaskHandler(String flowCode, Instance instance, Task nextTask, Map params) { - String tenantId = TenantHelper.getTenantId(); - log.info("【流程任务事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}", - tenantId, flowCode, instance.getBusinessId(), nextTask.getNodeType(), nextTask.getNodeCode(), nextTask.getNodeName(), nextTask.getId()); + log.info("【流程任务事件发布】流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}", + flowCode, instance.getBusinessId(), nextTask.getNodeType(), nextTask.getNodeCode(), nextTask.getNodeName(), nextTask.getId()); ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); - processTaskEvent.setTenantId(tenantId); processTaskEvent.setFlowCode(flowCode); processTaskEvent.setInstanceId(instance.getId()); processTaskEvent.setBusinessId(instance.getBusinessId()); @@ -84,10 +79,8 @@ public class FlowProcessEventHandler { * @param businessId 业务ID */ public void processDeleteHandler(String flowCode, String businessId) { - String tenantId = TenantHelper.getTenantId(); - log.info("【流程删除事件发布】租户ID: {}, 流程编码: {}, 业务ID: {}", tenantId, flowCode, businessId); + log.info("【流程删除事件发布】流程编码: {}, 业务ID: {}", flowCode, businessId); ProcessDeleteEvent processDeleteEvent = new ProcessDeleteEvent(); - processDeleteEvent.setTenantId(tenantId); processDeleteEvent.setFlowCode(flowCode); processDeleteEvent.setBusinessId(businessId); SpringUtils.context().publishEvent(processDeleteEvent); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwDefinitionService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwDefinitionService.java index 1a2d29f77..2c5d9f946 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwDefinitionService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwDefinitionService.java @@ -70,10 +70,4 @@ public interface IFlwDefinitionService { */ boolean removeDef(List ids); - /** - * 新增租户流程定义 - * - * @param tenantId 租户id - */ - void syncDef(String tenantId); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/WorkflowService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/WorkflowService.java index 3838dedff..3e394e20d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/WorkflowService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/WorkflowService.java @@ -61,13 +61,6 @@ public interface WorkflowService { */ Long getInstanceIdByBusinessId(String businessId); - /** - * 新增租户流程定义 - * - * @param tenantId 租户id - */ - void syncDef(String tenantId); - /** * 启动流程 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java index 8a3e850d0..44346f398 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java @@ -45,8 +45,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static org.dromara.common.core.constant.TenantConstants.DEFAULT_TENANT_ID; - /** * 流程定义 服务层实现 * @@ -202,71 +200,4 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService { return true; } - /** - * 新增租户流程定义 - * - * @param tenantId 租户id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void syncDef(String tenantId) { - FlowCategory flowCategory = flwCategoryMapper.selectOne(new LambdaQueryWrapper() - .eq(FlowCategory::getTenantId, DEFAULT_TENANT_ID) - .eq(FlowCategory::getCategoryId, FlowConstant.FLOW_CATEGORY_ID)); - flowCategory.setCategoryId(null); - flowCategory.setTenantId(tenantId); - flowCategory.setCreateDept(null); - flowCategory.setCreateBy(null); - flowCategory.setCreateTime(null); - flowCategory.setUpdateBy(null); - flowCategory.setUpdateTime(null); - flwCategoryMapper.insert(flowCategory); - - List flowDefinitions = flowDefinitionMapper.selectList(new LambdaQueryWrapper().eq(FlowDefinition::getTenantId, DEFAULT_TENANT_ID)); - if (CollUtil.isEmpty(flowDefinitions)) { - return; - } - List defIds = StreamUtils.toList(flowDefinitions, FlowDefinition::getId); - List flowNodes = flowNodeMapper.selectList(new LambdaQueryWrapper().in(FlowNode::getDefinitionId, defIds)); - List flowSkips = flowSkipMapper.selectList(new LambdaQueryWrapper().in(FlowSkip::getDefinitionId, defIds)); - for (FlowDefinition definition : flowDefinitions) { - FlowDefinition flowDefinition = BeanUtil.toBean(definition, FlowDefinition.class); - flowDefinition.setId(null); - flowDefinition.setTenantId(tenantId); - flowDefinition.setIsPublish(0); - flowDefinition.setCategory(Convert.toStr(flowCategory.getCategoryId())); - int insert = flowDefinitionMapper.insert(flowDefinition); - if (insert <= 0) { - log.info("同步流程定义【{}】失败!", definition.getFlowCode()); - continue; - } - log.info("同步流程定义【{}】成功!", definition.getFlowCode()); - Long definitionId = flowDefinition.getId(); - if (CollUtil.isNotEmpty(flowNodes)) { - List nodes = StreamUtils.filter(flowNodes, node -> node.getDefinitionId().equals(definition.getId())); - if (CollUtil.isNotEmpty(nodes)) { - List flowNodeList = BeanUtil.copyToList(nodes, FlowNode.class); - flowNodeList.forEach(e -> { - e.setId(null); - e.setDefinitionId(definitionId); - e.setTenantId(tenantId); - e.setPermissionFlag(null); - }); - flowNodeMapper.insertOrUpdate(flowNodeList); - } - } - if (CollUtil.isNotEmpty(flowSkips)) { - List skips = StreamUtils.filter(flowSkips, skip -> skip.getDefinitionId().equals(definition.getId())); - if (CollUtil.isNotEmpty(skips)) { - List flowSkipList = BeanUtil.copyToList(skips, FlowSkip.class); - flowSkipList.forEach(e -> { - e.setId(null); - e.setDefinitionId(definitionId); - e.setTenantId(tenantId); - }); - flowSkipMapper.insertOrUpdate(flowSkipList); - } - } - } - } } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index b28574cac..1249acf29 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -762,7 +762,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } FlowParams flowParams = FlowParams.build().message(bo.getMessage()); - if (LoginHelper.isSuperAdmin() || LoginHelper.isTenantAdmin()) { + if (LoginHelper.isSuperAdmin()) { flowParams.ignore(true); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index 598736610..81bf9e7f1 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -18,7 +18,6 @@ import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.api.event.ProcessDeleteEvent; import org.dromara.workflow.api.event.ProcessEvent; @@ -182,32 +181,30 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @EventListener(condition = "#processEvent.flowCode.startsWith('leave')") public void processHandler(ProcessEvent processEvent) { - TenantHelper.dynamic(processEvent.getTenantId(), () -> { - log.info("当前任务执行了{}", processEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); - testLeave.setStatus(processEvent.getStatus()); - // 用于例如审批附件 审批意见等 存储到业务表内 自行根据业务实现存储流程 - Map params = processEvent.getParams(); - if (MapUtil.isNotEmpty(params)) { - // 历史任务扩展(通常为附件) - String hisTaskExt = Convert.toStr(params.get("hisTaskExt")); - // 办理人 - String handler = Convert.toStr(params.get("handler")); - // 办理意见 - String message = Convert.toStr(params.get("message")); + log.info("当前任务执行了{}", processEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); + testLeave.setStatus(processEvent.getStatus()); + // 用于例如审批附件 审批意见等 存储到业务表内 自行根据业务实现存储流程 + Map params = processEvent.getParams(); + if (MapUtil.isNotEmpty(params)) { + // 历史任务扩展(通常为附件) + String hisTaskExt = Convert.toStr(params.get("hisTaskExt")); + // 办理人 + String handler = Convert.toStr(params.get("handler")); + // 办理意见 + String message = Convert.toStr(params.get("message")); + } + if (processEvent.getSubmit()) { + if (StringUtils.isBlank(testLeave.getApplyCode())) { + String businessCode = MapUtil.getStr(params, FlowConstant.BUSINESS_CODE, StrUtil.EMPTY); + testLeave.setApplyCode(businessCode); } - if (processEvent.getSubmit()) { - if (StringUtils.isBlank(testLeave.getApplyCode())) { - String businessCode = MapUtil.getStr(params, FlowConstant.BUSINESS_CODE, StrUtil.EMPTY); - testLeave.setApplyCode(businessCode); - } - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - log.info("申请人提交"); - } - String status = BusinessStatusEnum.findByStatus(processEvent.getStatus()); - log.info("当前流程状态为{}", status); - baseMapper.updateById(testLeave); - }); + testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); + log.info("申请人提交"); + } + String status = BusinessStatusEnum.findByStatus(processEvent.getStatus()); + log.info("当前流程状态为{}", status); + baseMapper.updateById(testLeave); } /** @@ -234,14 +231,12 @@ public class TestLeaveServiceImpl implements ITestLeaveService { */ @EventListener(condition = "#processDeleteEvent.flowCode.startsWith('leave')") public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) { - TenantHelper.dynamic(processDeleteEvent.getTenantId(), () -> { - log.info("监听删除流程事件,当前任务执行了{}", processDeleteEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processDeleteEvent.getBusinessId())); - if (ObjectUtil.isNull(testLeave)) { - return; - } - baseMapper.deleteById(testLeave.getId()); - }); + log.info("监听删除流程事件,当前任务执行了{}", processDeleteEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processDeleteEvent.getBusinessId())); + if (ObjectUtil.isNull(testLeave)) { + return; + } + baseMapper.deleteById(testLeave.getId()); } } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java index cdcf5b105..9740fe90b 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java @@ -103,16 +103,6 @@ public class WorkflowServiceImpl implements WorkflowService { return ObjectUtil.isNotNull(flowInstance) ? flowInstance.getId() : null; } - /** - * 新增租户流程定义 - * - * @param tenantId 租户id - */ - @Override - public void syncDef(String tenantId) { - flwDefinitionService.syncDef(tenantId); - } - /** * 启动流程 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml index 33ec48801..3a83afd7e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml +++ b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml @@ -10,7 +10,6 @@ select fi.id, fi.create_time, fi.update_time, - fi.tenant_id, fi.del_flag, fi.definition_id, fi.business_id, diff --git a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml index 1a244c794..3858d4d75 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml +++ b/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml @@ -19,7 +19,6 @@ t.instance_id, t.create_time, t.update_time, - t.tenant_id, i.business_id, i.flow_status, i.create_by, @@ -68,7 +67,6 @@ a.ext, a.create_time, a.update_time, - a.tenant_id, a.form_custom, a.form_path, b.flow_status, diff --git a/script/config/nacos/application-common.yml b/script/config/nacos/application-common.yml index 053113150..3c59334c5 100644 --- a/script/config/nacos/application-common.yml +++ b/script/config/nacos/application-common.yml @@ -284,20 +284,3 @@ seata: namespace: ${spring.profiles.active} # 关闭自动代理 enable-auto-data-source-proxy: false - -# 多租户配置 -tenant: - # 是否开启 - enable: true - # 排除表 - excludes: - - sys_menu - - sys_tenant - - sys_tenant_package - - sys_role_dept - - sys_role_menu - - sys_user_post - - sys_user_role - - sys_client - - sys_oss_config - - flow_spel diff --git a/script/sql/oracle/oracle_ry_cloud.sql b/script/sql/oracle/oracle_ry_cloud.sql index 69a135787..2849dedb1 100644 --- a/script/sql/oracle/oracle_ry_cloud.sql +++ b/script/sql/oracle/oracle_ry_cloud.sql @@ -67,95 +67,6 @@ comment on column sys_social.update_by is '更新者'; comment on column sys_social.update_time is '更新时间'; comment on column sys_social.del_flag is '删除标志(0代表存在 1代表删除)'; --- ---------------------------- --- 租户表 --- ---------------------------- -create table sys_tenant ( - id number(20) not null, - tenant_id varchar2(20) not null, - contact_user_name varchar2(20) default '', - contact_phone varchar2(20) default '', - company_name varchar2(30) default '', - license_number varchar2(30) default '', - address varchar2(200) default '', - intro varchar2(200) default '', - domain varchar2(200) default '', - remark varchar2(200) default '', - package_id number(20) default null, - expire_time date default null, - account_count number(4) default -1, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_tenant add constraint pk_sys_tenant primary key (id); - -comment on table sys_tenant is '租户表'; -comment on column sys_tenant.tenant_id is '租户编号'; -comment on column sys_tenant.contact_phone is '联系电话'; -comment on column sys_tenant.company_name is '企业名称'; -comment on column sys_tenant.company_name is '联系人'; -comment on column sys_tenant.license_number is '统一社会信用代码'; -comment on column sys_tenant.address is '地址'; -comment on column sys_tenant.intro is '企业简介'; -comment on column sys_tenant.remark is '备注'; -comment on column sys_tenant.package_id is '租户套餐编号'; -comment on column sys_tenant.expire_time is '过期时间'; -comment on column sys_tenant.account_count is '用户数量(-1不限制)'; -comment on column sys_tenant.status is '租户状态(0正常 1停用)'; -comment on column sys_tenant.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant.create_dept is '创建部门'; -comment on column sys_tenant.create_by is '创建者'; -comment on column sys_tenant.create_time is '创建时间'; -comment on column sys_tenant.update_by is '更新者'; -comment on column sys_tenant.update_time is '更新时间'; - --- ---------------------------- --- 初始化-租户表数据 --- ---------------------------- - -insert into sys_tenant values(1, '000000', '管理组', '15888888888', 'XXX有限公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', '0', 103, 1, sysdate, null, null); - - --- ---------------------------- --- 租户套餐表 --- ---------------------------- -create table sys_tenant_package ( - package_id number(20) not null, - package_name varchar2(20) default '', - menu_ids varchar2(3000) default '', - remark varchar2(200) default '', - menu_check_strictly number(1) default 1, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_tenant_package add constraint pk_sys_tenant_package primary key (package_id); - -comment on table sys_tenant_package is '租户套餐表'; -comment on column sys_tenant_package.package_id is '租户套餐id'; -comment on column sys_tenant_package.package_name is '套餐名称'; -comment on column sys_tenant_package.menu_ids is '关联菜单id'; -comment on column sys_tenant_package.remark is '备注'; -comment on column sys_tenant_package.status is '状态(0正常 1停用)'; -comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant_package.create_dept is '创建部门'; -comment on column sys_tenant_package.create_by is '创建者'; -comment on column sys_tenant_package.create_time is '创建时间'; -comment on column sys_tenant_package.update_by is '更新者'; -comment on column sys_tenant_package.update_time is '更新时间'; - - -- ---------------------------- -- 1、部门表 -- ---------------------------- @@ -427,7 +338,6 @@ comment on column sys_menu.remark is '备注'; -- ---------------------------- -- 一级菜单 insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 103, 1, sysdate, null, null, '系统管理目录'); -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', 1, 0, 'M', '0', '0', '', 'chart', 103, 1, sysdate, null, null, '租户管理目录'); insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 103, 1, sysdate, null, null, '系统监控目录'); insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 103, 1, sysdate, null, null, '系统工具目录'); insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Cloud-Plus', null, '', 0, 0, 'M', '0', '0', '', 'guide', 103, 1, sysdate, null, null, 'RuoYi-Cloud-Plus官网地址'); @@ -448,8 +358,6 @@ insert into sys_menu values('110', 'SnailJob控制台', '2', '2', 'http://local insert into sys_menu values('112', 'Nacos控制台', '2', '4', 'http://localhost:8848/nacos', '', '', 0, 0, 'C', '0', '0', 'monitor:nacos:list', 'nacos', 103, 1, sysdate, null, null, '服务治理菜单'); insert into sys_menu values('113', 'Admin控制台', '2', '5', 'http://localhost:9100/login', '', '', 0, 0, 'C', '0', '0', 'monitor:server:list', 'server', 103, 1, sysdate, null, null, '服务监控菜单'); insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, sysdate, null, null, '代码生成菜单'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', 1, 0, 'C', '0', '0', 'system:tenant:list', 'list', 103, 1, sysdate, null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', 1, 0, 'C', '0', '0', 'system:tenantPackage:list', 'form', 103, 1, sysdate, null, null, '租户套餐管理菜单'); insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate, null, null, '客户端管理菜单'); insert into sys_menu values('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 1, 1, 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, sysdate, null, null, '/tool/gen'); insert into sys_menu values('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', 1, 1, 'C', '1', '0', 'system:role:edit', '#', 103, 1, sysdate, null, null, '/system/role'); @@ -540,18 +448,6 @@ insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate, null, null, ''); insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate, null, null, ''); insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate, null, null, ''); --- 租户管理相关按钮 -insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:export', '#', 103, 1, sysdate, null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:export', '#', 103, 1, sysdate, null, null, ''); -- 客户端管理按钮 insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate, null, null, ''); insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate, null, null, ''); diff --git a/script/sql/postgres/postgres_ry_cloud.sql b/script/sql/postgres/postgres_ry_cloud.sql index 403e4d710..271623a7c 100644 --- a/script/sql/postgres/postgres_ry_cloud.sql +++ b/script/sql/postgres/postgres_ry_cloud.sql @@ -66,99 +66,6 @@ comment on column sys_social.update_by is '更新者'; comment on column sys_social.update_time is '更新时间'; comment on column sys_social.del_flag is '删除标志(0代表存在 1代表删除)'; --- ---------------------------- --- 租户表 --- ---------------------------- -create table if not exists sys_tenant -( - id int8, - tenant_id varchar(20) not null, - contact_user_name varchar(20) default null::varchar, - contact_phone varchar(20) default null::varchar, - company_name varchar(30) default null::varchar, - license_number varchar(30) default null::varchar, - address varchar(200) default null::varchar, - intro varchar(200) default null::varchar, - domain varchar(200) default null::varchar, - remark varchar(200) default null::varchar, - package_id int8, - expire_time timestamp, - account_count int4 default -1, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint "pk_sys_tenant" primary key (id) -); - - -comment on table sys_tenant is '租户表'; -comment on column sys_tenant.tenant_id is '租户编号'; -comment on column sys_tenant.contact_phone is '联系电话'; -comment on column sys_tenant.company_name is '企业名称'; -comment on column sys_tenant.company_name is '联系人'; -comment on column sys_tenant.license_number is '统一社会信用代码'; -comment on column sys_tenant.address is '地址'; -comment on column sys_tenant.intro is '企业简介'; -comment on column sys_tenant.domain is '域名'; -comment on column sys_tenant.remark is '备注'; -comment on column sys_tenant.package_id is '租户套餐编号'; -comment on column sys_tenant.expire_time is '过期时间'; -comment on column sys_tenant.account_count is '用户数量(-1不限制)'; -comment on column sys_tenant.status is '租户状态(0正常 1停用)'; -comment on column sys_tenant.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant.create_dept is '创建部门'; -comment on column sys_tenant.create_by is '创建者'; -comment on column sys_tenant.create_time is '创建时间'; -comment on column sys_tenant.update_by is '更新者'; -comment on column sys_tenant.update_time is '更新时间'; - - --- ---------------------------- --- 初始化-租户表数据 --- ---------------------------- - -insert into sys_tenant values(1, '000000', '管理组', '15888888888', 'XXX有限公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', '0', 103, 1, now(), null, null); - - --- ---------------------------- --- 租户套餐表 --- ---------------------------- -create table if not exists sys_tenant_package -( - package_id int8, - package_name varchar(20) default ''::varchar, - menu_ids varchar(3000) default ''::varchar, - remark varchar(200) default ''::varchar, - menu_check_strictly bool default true, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint "pk_sys_tenant_package" primary key (package_id) -); - - -comment on table sys_tenant_package is '租户套餐表'; -comment on column sys_tenant_package.package_id is '租户套餐id'; -comment on column sys_tenant_package.package_name is '套餐名称'; -comment on column sys_tenant_package.menu_ids is '关联菜单id'; -comment on column sys_tenant_package.remark is '备注'; -comment on column sys_tenant_package.status is '状态(0正常 1停用)'; -comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_tenant_package.create_dept is '创建部门'; -comment on column sys_tenant_package.create_by is '创建者'; -comment on column sys_tenant_package.create_time is '创建时间'; -comment on column sys_tenant_package.update_by is '更新者'; -comment on column sys_tenant_package.update_time is '更新时间'; - - -- ---------------------------- -- 1、部门表 -- ---------------------------- @@ -429,7 +336,6 @@ comment on column sys_menu.remark is '备注'; -- ---------------------------- -- 一级菜单 insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '1', '0', 'M', '0', '0', '', 'system', 103, 1, now(), null, null, '系统管理目录'); -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 103, 1, now(), null, null, '租户管理目录'); insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, now(), null, null, '系统监控目录'); insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', '1', '0', 'M', '0', '0', '', 'tool', 103, 1, now(), null, null, '系统工具目录'); insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Cloud-Plus', null, '', '0', '0', 'M', '0', '0', '', 'guide', 103, 1, now(), null, null, 'RuoYi-Cloud-Plus官网地址'); @@ -450,8 +356,6 @@ insert into sys_menu values('110', 'SnailJob控制台', '2', '2', 'http://local insert into sys_menu values('112', 'Nacos控制台', '2', '4', 'http://localhost:8848/nacos', '', '', '0', '0', 'C', '0', '0', 'monitor:nacos:list', 'nacos', 103, 1, now(), null, null, '服务治理菜单'); insert into sys_menu values('113', 'Admin控制台', '2', '5', 'http://localhost:9100/login', '', '', '0', '0', 'C', '0', '0', 'monitor:server:list', 'server', 103, 1, now(), null, null, '服务监控菜单'); insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', '1', '0', 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, now(), null, null, '代码生成菜单'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', '1', '0', 'C', '0', '0', 'system:tenant:list', 'list', 103, 1, now(), null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', '1', '0', 'C', '0', '0', 'system:tenantPackage:list', 'form', 103, 1, now(), null, null, '租户套餐管理菜单'); insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 103, 1, now(), null, null, '客户端管理菜单'); insert into sys_menu values('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', '1', '1', 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, now(), null, null, '/tool/gen'); insert into sys_menu values('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', '1', '1', 'C', '1', '0', 'system:role:edit', '#', 103, 1, now(), null, null, '/system/role'); @@ -540,18 +444,6 @@ insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1' insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, now(), null, null, ''); insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, now(), null, null, ''); insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, now(), null, null, ''); --- 租户管理相关按钮 -insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:export', '#', 103, 1, now(), null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:export', '#', 103, 1, now(), null, null, ''); -- 客户端管理按钮 insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 103, 1, now(), null, null, ''); insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 103, 1, now(), null, null, ''); diff --git a/script/sql/ry-cloud.sql b/script/sql/ry-cloud.sql index c51eb4ea0..96a3d48e1 100644 --- a/script/sql/ry-cloud.sql +++ b/script/sql/ry-cloud.sql @@ -35,62 +35,6 @@ create table sys_social PRIMARY KEY (id) ) engine=innodb comment = '社会化关系表'; --- ---------------------------- --- 租户表 --- ---------------------------- -create table sys_tenant -( - id bigint(20) not null comment 'id', - tenant_id varchar(20) not null comment '租户编号', - contact_user_name varchar(20) comment '联系人', - contact_phone varchar(20) comment '联系电话', - company_name varchar(30) comment '企业名称', - license_number varchar(30) comment '统一社会信用代码', - address varchar(200) comment '地址', - intro varchar(200) comment '企业简介', - domain varchar(200) comment '域名', - remark varchar(200) comment '备注', - package_id bigint(20) comment '租户套餐编号', - expire_time datetime comment '过期时间', - account_count int default -1 comment '用户数量(-1不限制)', - status char(1) default '0' comment '租户状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)', - create_dept bigint(20) comment '创建部门', - create_by bigint(20) comment '创建者', - create_time datetime comment '创建时间', - update_by bigint(20) comment '更新者', - update_time datetime comment '更新时间', - primary key (id) -) engine=innodb comment = '租户表'; - - --- ---------------------------- --- 初始化-租户表数据 --- ---------------------------- - -insert into sys_tenant values(1, '000000', '管理组', '15888888888', 'XXX有限公司', NULL, NULL, '多租户通用后台管理管理系统', NULL, NULL, NULL, NULL, -1, '0', '0', 103, 1, sysdate(), NULL, NULL); - - --- ---------------------------- --- 租户套餐表 --- ---------------------------- -create table sys_tenant_package ( - package_id bigint(20) not null comment '租户套餐id', - package_name varchar(20) comment '套餐名称', - menu_ids varchar(3000) comment '关联菜单id', - remark varchar(200) comment '备注', - menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示', - status char(1) default '0' comment '状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)', - create_dept bigint(20) comment '创建部门', - create_by bigint(20) comment '创建者', - create_time datetime comment '创建时间', - update_by bigint(20) comment '更新者', - update_time datetime comment '更新时间', - primary key (package_id) -) engine=innodb comment = '租户套餐表'; - - -- ---------------------------- -- 1、部门表 -- ---------------------------- @@ -262,7 +206,6 @@ create table sys_menu ( -- ---------------------------- -- 一级菜单 insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 103, 1, sysdate(), null, null, '系统管理目录'); -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', 1, 0, 'M', '0', '0', '', 'chart', 103, 1, sysdate(), null, null, '租户管理目录'); insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 103, 1, sysdate(), null, null, '系统监控目录'); insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 103, 1, sysdate(), null, null, '系统工具目录'); insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Cloud-Plus', null, '', 0, 0, 'M', '0', '0', '', 'guide', 103, 1, sysdate(), null, null, 'RuoYi-Cloud-Plus官网地址'); @@ -284,8 +227,6 @@ insert into sys_menu values('110', 'SnailJob控制台', '2', '2', 'http://local insert into sys_menu values('112', 'Nacos控制台', '2', '4', 'http://localhost:8848/nacos', '', '', 0, 0, 'C', '0', '0', 'monitor:nacos:list', 'nacos', 103, 1, sysdate(), null, null, '服务治理菜单'); insert into sys_menu values('113', 'Admin控制台', '2', '5', 'http://localhost:9100/login', '', '', 0, 0, 'C', '0', '0', 'monitor:server:list', 'server', 103, 1, sysdate(), null, null, '服务监控菜单'); insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, sysdate(), null, null, '代码生成菜单'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', 1, 0, 'C', '0', '0', 'system:tenant:list', 'list', 103, 1, sysdate(), null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', 1, 0, 'C', '0', '0', 'system:tenantPackage:list', 'form', 103, 1, sysdate(), null, null, '租户套餐管理菜单'); insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate(), null, null, '客户端管理菜单'); insert into sys_menu values('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 1, 1, 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, sysdate(), null, null, '/tool/gen'); insert into sys_menu values('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', 1, 1, 'C', '1', '0', 'system:role:edit', '#', 103, 1, sysdate(), null, null, '/system/role'); @@ -374,18 +315,6 @@ insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate(), null, null, ''); insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate(), null, null, ''); insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate(), null, null, ''); --- 租户管理相关按钮 -insert into sys_menu values ('1606', '租户查询', '121', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1607', '租户新增', '121', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1608', '租户修改', '121', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1609', '租户删除', '121', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1610', '租户导出', '121', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:export', '#', 103, 1, sysdate(), null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values ('1611', '租户套餐查询', '122', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1612', '租户套餐新增', '122', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1613', '租户套餐修改', '122', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1614', '租户套餐删除', '122', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('1615', '租户套餐导出', '122', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:export', '#', 103, 1, sysdate(), null, null, ''); -- 客户端管理按钮 insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate(), null, null, ''); insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate(), null, null, ''); diff --git a/script/sql/update/oracle/update_2.0-2.1.sql b/script/sql/update/oracle/update_2.0-2.1.sql deleted file mode 100644 index 278149c70..000000000 --- a/script/sql/update/oracle/update_2.0-2.1.sql +++ /dev/null @@ -1,146 +0,0 @@ -UPDATE sys_menu SET menu_name = 'PowerJob控制台', path = 'http://localhost:7700' WHERE menu_id = '110'; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id number(20) not null, - user_id number(20) not null, - tenant_id varchar2(20) default null, - auth_id varchar2(255) not null, - source varchar2(255) not null, - open_id varchar2(255) default null, - user_name varchar2(30) not null, - nick_name varchar2(30) default '', - email varchar2(255) default '', - avatar varchar2(500) default '', - access_token varchar2(255) not null, - expire_in number(20) default null, - refresh_token varchar2(255) default null, - access_code varchar2(255) default null, - union_id varchar2(255) default null, - scope varchar2(255) default null, - token_type varchar2(255) default null, - id_token varchar2(255) default null, - mac_algorithm varchar2(255) default null, - mac_key varchar2(255) default null, - code varchar2(255) default null, - oauth_token varchar2(255) default null, - oauth_token_secret varchar2(255) default null, - create_dept number(20), - create_by number(20), - create_time date, - update_by number(20), - update_time date, - del_flag char(1) default '0' -); - -alter table sys_social add constraint pk_sys_social primary key (id); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 1代表删除)'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -create table sys_client ( - id number(20) not null, - client_id varchar2(64) default null, - client_key varchar2(32) default null, - client_secret varchar2(255) default null, - grant_type varchar2(255) default null, - device_type varchar2(32) default null, - active_timeout number(11) default 1800, - timeout number(11) default 604800, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_client add constraint pk_sys_client primary key (id); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', '0', 103, 1, sysdate, null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', '0', 103, 1, sysdate, null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate, null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate, null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - -update sys_dept set leader = null; -ALTER TABLE sys_dept MODIFY (leader NUMBER(20)) diff --git a/script/sql/update/oracle/update_2.1.0-2.1.1.sql b/script/sql/update/oracle/update_2.1.0-2.1.1.sql deleted file mode 100644 index 880ee106f..000000000 --- a/script/sql/update/oracle/update_2.1.0-2.1.1.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE sys_logininfor ADD (client_key VARCHAR(32) DEFAULT ''); -COMMENT ON COLUMN sys_logininfor.client_key IS '客户端'; - -ALTER TABLE sys_logininfor ADD (device_type VARCHAR(32) DEFAULT ''); -COMMENT ON COLUMN sys_logininfor.device_type IS '设备类型'; - -insert into sys_menu values('124', '缓存监控', '2', '1', 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, sysdate, null, null, '缓存监控'); diff --git a/script/sql/update/oracle/update_2.1.1-2.1.2.sql b/script/sql/update/oracle/update_2.1.1-2.1.2.sql deleted file mode 100644 index dcb5cbb1c..000000000 --- a/script/sql/update/oracle/update_2.1.1-2.1.2.sql +++ /dev/null @@ -1,5 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate, null, null, ''); diff --git a/script/sql/update/oracle/update_2.1.2-2.2.0.sql b/script/sql/update/oracle/update_2.1.2-2.2.0.sql deleted file mode 100644 index 6d49f64b6..000000000 --- a/script/sql/update/oracle/update_2.1.2-2.2.0.sql +++ /dev/null @@ -1,9 +0,0 @@ -ALTER TABLE sys_dept ADD (dept_category varchar2(100) DEFAULT NULL) COMMENT '部门类别编码'; -COMMENT ON COLUMN sys_dept.dept_category IS '部门类别编码'; -ALTER TABLE sys_post ADD (dept_id number(20) NOT NULL) COMMENT '部门id'; -COMMENT ON COLUMN sys_post.dept_id IS '部门id'; -ALTER TABLE sys_post ADD (post_category VARCHAR2(100) DEFAULT NULL) COMMENT '岗位类别编码'; -COMMENT ON COLUMN sys_post.post_category IS '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'http://localhost:8800/snail-job' WHERE menu_id = 110; diff --git a/script/sql/update/oracle/update_2.2.0-2.3.0.sql b/script/sql/update/oracle/update_2.2.0-2.3.0.sql deleted file mode 100644 index 09000fe2d..000000000 --- a/script/sql/update/oracle/update_2.2.0-2.3.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE flow_node DROP COLUMN skip_any_node; -ALTER TABLE flow_node ADD (ext VARCHAR2(500)); -COMMENT ON COLUMN flow_node.ext IS '扩展属性'; -create index USER_ASSOCIATED_IDX on FLOW_USER (ASSOCIATED); - -ALTER TABLE sys_oss ADD (ext1 VARCHAR2(500)); -COMMENT ON COLUMN sys_oss.ext1 IS '扩展属性'; diff --git a/script/sql/update/oracle/update_2.3.0-2.4.0.sql b/script/sql/update/oracle/update_2.3.0-2.4.0.sql deleted file mode 100644 index 3561f4d94..000000000 --- a/script/sql/update/oracle/update_2.3.0-2.4.0.sql +++ /dev/null @@ -1,18 +0,0 @@ -ALTER TABLE flow_task ADD (flow_status VARCHAR2(20)); -COMMENT ON COLUMN flow_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -COMMENT ON COLUMN flow_instance.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -COMMENT ON COLUMN flow_his_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -ALTER TABLE sys_social - MODIFY (access_token VARCHAR2(2000 BYTE)) - MODIFY (refresh_token VARCHAR2(2000 BYTE)); - -INSERT INTO sys_menu VALUES ('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 1, 1, 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, sysdate, null, null, ''); -INSERT INTO sys_menu VALUES ('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', 1, 1, 'C', '1', '0', 'system:role:edit', '#', 103, 1, sysdate, null, null, ''); -INSERT INTO sys_menu VALUES ('131', '分配角色', '1', '1', 'user-auth/role/:userId', 'system/user/authRole', '', 1, 1, 'C', '1', '0', 'system:user:edit', '#', 103, 1, sysdate, null, null, ''); -INSERT INTO sys_menu VALUES ('132', '字典数据', '1', '6', 'dict-data/index/:dictId', 'system/dict/data', '', 1, 1, 'C', '1', '0', 'system:dict:list', '#', 103, 1, sysdate, null, null, ''); -INSERT INTO sys_menu VALUES ('133', '文件配置管理', '1', '10', 'oss-config/index', 'system/oss/config', '', 1, 1, 'C', '1', '0', 'system:ossConfig:list', '#', 103, 1, sysdate, null, null, ''); -INSERT INTO sys_menu VALUES ('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, SYSDATE, NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, SYSDATE, NULL, NULL, ''); diff --git a/script/sql/update/oracle/update_2.4.1-2.5.0.sql b/script/sql/update/oracle/update_2.4.1-2.5.0.sql deleted file mode 100644 index aaa0c0626..000000000 --- a/script/sql/update/oracle/update_2.4.1-2.5.0.sql +++ /dev/null @@ -1,96 +0,0 @@ --- ry-workflow 数据库 -CREATE TABLE flow_spel ( - id NUMBER(20) NOT NULL, - component_name VARCHAR2(255), - method_name VARCHAR2(255), - method_params VARCHAR2(255), - view_spel VARCHAR2(255), - remark VARCHAR2(255), - status CHAR(1) DEFAULT '0', - del_flag CHAR(1) DEFAULT '0', - create_dept NUMBER(20), - create_by NUMBER(20), - create_time DATE, - update_by NUMBER(20), - update_time DATE -); - -alter table flow_spel add constraint pk_flow_spel primary key (id); - -COMMENT ON TABLE flow_spel IS '流程spel表达式定义表'; -COMMENT ON COLUMN flow_spel.id IS '主键id'; -COMMENT ON COLUMN flow_spel.component_name IS '组件名称'; -COMMENT ON COLUMN flow_spel.method_name IS '方法名'; -COMMENT ON COLUMN flow_spel.method_params IS '参数'; -COMMENT ON COLUMN flow_spel.view_spel IS '预览spel表达式'; -COMMENT ON COLUMN flow_spel.remark IS '备注'; -COMMENT ON COLUMN flow_spel.status IS '状态(0正常 1停用)'; -COMMENT ON COLUMN flow_spel.del_flag IS '删除标志'; -COMMENT ON COLUMN flow_spel.create_dept IS '创建部门'; -COMMENT ON COLUMN flow_spel.create_by IS '创建者'; -COMMENT ON COLUMN flow_spel.create_time IS '创建时间'; -COMMENT ON COLUMN flow_spel.update_by IS '更新者'; -COMMENT ON COLUMN flow_spel.update_time IS '更新时间'; - -INSERT INTO flow_spel VALUES (1, 'spelRuleComponent', 'selectDeptLeaderById', 'initiatorDeptId', '#{@spelRuleComponent.selectDeptLeaderById(#initiatorDeptId)}', '根据部门id获取部门负责人', '0', '0', 103, 1, SYSDATE, 1, SYSDATE); -INSERT INTO flow_spel VALUES (2, NULL, NULL, 'initiator', '${initiator}', '流程发起人', '0', '0', 103, 1, SYSDATE, 1, SYSDATE); - --- ry-cloud 数据库 -INSERT INTO sys_menu VALUES ('11801', '流程表达式', '11616', 2, 'spel', 'workflow/spel/index', '', 1, 0, 'C', '0', '0', 'workflow:spel:list', 'input', 103, 1, SYSDATE, 1, SYSDATE, '流程达式定义菜单'); -INSERT INTO sys_menu VALUES ('11802', '流程spel表达式定义查询', '11801', 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:query', '#', 103, 1, SYSDATE, NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11803', '流程spel表达式定义新增', '11801', 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:add', '#', 103, 1, SYSDATE, NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11804', '流程spel表达式定义修改', '11801', 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:edit', '#', 103, 1, SYSDATE, NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11805', '流程spel表达式定义删除', '11801', 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:remove', '#', 103, 1, SYSDATE, NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11806', '流程spel表达式定义导出', '11801', 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:export', '#', 103, 1, SYSDATE, NULL, NULL, ''); - -ALTER TABLE flow_definition ADD model_value VARCHAR2(40) DEFAULT 'CLASSICS' NOT NULL; -COMMENT ON COLUMN flow_definition.model_value IS '设计器模式(CLASSICS经典模式 MIMIC仿钉钉模式)'; - -UPDATE flow_skip SET skip_condition = REPLACE(skip_condition, 'notNike', 'notLike'); - -ALTER TABLE flow_his_task MODIFY (collaborator VARCHAR2(500) DEFAULT NULL NULL); -COMMENT ON COLUMN flow_his_task.collaborator IS '协作人'; - --- ---------------------------- --- 流程实例业务扩展表 --- ---------------------------- -CREATE TABLE flow_instance_biz_ext ( - id NUMBER(20), - tenant_id VARCHAR2(20) DEFAULT '000000', - create_dept NUMBER(20), - create_by NUMBER(20), - create_time TIMESTAMP, - update_by NUMBER(20), - update_time TIMESTAMP, - business_code VARCHAR2(255), - business_title VARCHAR2(1000), - del_flag CHAR(1) DEFAULT '0', - instance_id NUMBER(20), - business_id VARCHAR2(255) -); - -alter table flow_instance_biz_ext add constraint pk_fi_biz_ext primary key (id); - -COMMENT ON TABLE flow_instance_biz_ext IS '流程实例业务扩展表'; -COMMENT ON COLUMN flow_instance_biz_ext.id IS '主键id'; -COMMENT ON COLUMN flow_instance_biz_ext.tenant_id IS '租户编号'; -COMMENT ON COLUMN flow_instance_biz_ext.create_dept IS '创建部门'; -COMMENT ON COLUMN flow_instance_biz_ext.create_by IS '创建者'; -COMMENT ON COLUMN flow_instance_biz_ext.create_time IS '创建时间'; -COMMENT ON COLUMN flow_instance_biz_ext.update_by IS '更新者'; -COMMENT ON COLUMN flow_instance_biz_ext.update_time IS '更新时间'; -COMMENT ON COLUMN flow_instance_biz_ext.business_code IS '业务编码'; -COMMENT ON COLUMN flow_instance_biz_ext.business_title IS '业务标题'; -COMMENT ON COLUMN flow_instance_biz_ext.del_flag IS '删除标志(0代表存在 1代表删除)'; -COMMENT ON COLUMN flow_instance_biz_ext.instance_id IS '流程实例Id'; -COMMENT ON COLUMN flow_instance_biz_ext.business_id IS '业务Id'; - -ALTER TABLE test_leave ADD COLUMN apply_code VARCHAR2(50) NOT NULL; -COMMENT ON COLUMN test_leave.apply_code IS '申请编号'; - -update sys_menu set remark = '/tool/gen' where menu_id = 116; -update sys_menu set remark = '/system/role' where menu_id = 130; -update sys_menu set remark = '/system/user' where menu_id = 131; -update sys_menu set remark = '/system/dict' where menu_id = 132; -update sys_menu set remark = '/system/oss' where menu_id = 133; -update sys_menu set remark = '/workflow/processDefinition' where menu_id = 11700; diff --git a/script/sql/update/oracle/update_2.5.0-2.5.1.sql b/script/sql/update/oracle/update_2.5.0-2.5.1.sql deleted file mode 100644 index 8fa28c007..000000000 --- a/script/sql/update/oracle/update_2.5.0-2.5.1.sql +++ /dev/null @@ -1,25 +0,0 @@ -ALTER TABLE flow_definition ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_definition ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_definition.create_by IS '创建人'; -COMMENT ON COLUMN flow_definition.update_by IS '更新人'; - -ALTER TABLE flow_node ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_node ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_node.create_by IS '创建人'; -COMMENT ON COLUMN flow_node.update_by IS '更新人'; - -ALTER TABLE flow_skip ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_skip ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_skip.create_by IS '创建人'; -COMMENT ON COLUMN flow_skip.update_by IS '更新人'; - -ALTER TABLE flow_instance ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_instance.update_by IS '更新人'; - -ALTER TABLE flow_task ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_task ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_task.create_by IS '创建人'; -COMMENT ON COLUMN flow_task.update_by IS '更新人'; - -ALTER TABLE flow_user ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_user.update_by IS '更新人'; diff --git a/script/sql/update/oracle/update_2.5.1-2.5.2.sql b/script/sql/update/oracle/update_2.5.1-2.5.2.sql deleted file mode 100644 index 17600d6b9..000000000 --- a/script/sql/update/oracle/update_2.5.1-2.5.2.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE flow_node MODIFY (node_ratio VARCHAR2(200) DEFAULT NULL NULL); -COMMENT ON COLUMN flow_node.node_ratio IS '流程签署比例值'; -ALTER TABLE flow_node DROP COLUMN handler_type; -ALTER TABLE flow_node DROP COLUMN handler_path; diff --git a/script/sql/update/postgres/update_2.0-2.1.sql b/script/sql/update/postgres/update_2.0-2.1.sql deleted file mode 100644 index 882e544aa..000000000 --- a/script/sql/update/postgres/update_2.0-2.1.sql +++ /dev/null @@ -1,145 +0,0 @@ -UPDATE sys_menu SET menu_name = 'PowerJob控制台', path = 'http://localhost:7700' WHERE menu_id = '110'; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id int8 not null, - user_id int8 not null, - tenant_id varchar(20) default null::varchar, - auth_id varchar(255) not null, - source varchar(255) not null, - open_id varchar(255) default null::varchar, - user_name varchar(30) not null, - nick_name varchar(30) default ''::varchar, - email varchar(255) default ''::varchar, - avatar varchar(500) default ''::varchar, - access_token varchar(255) not null, - expire_in int8 default null, - refresh_token varchar(255) default null::varchar, - access_code varchar(255) default null::varchar, - union_id varchar(255) default null::varchar, - scope varchar(255) default null::varchar, - token_type varchar(255) default null::varchar, - id_token varchar(255) default null::varchar, - mac_algorithm varchar(255) default null::varchar, - mac_key varchar(255) default null::varchar, - code varchar(255) default null::varchar, - oauth_token varchar(255) default null::varchar, - oauth_token_secret varchar(255) default null::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - del_flag char default '0'::bpchar, - constraint "pk_sys_social" primary key (id) -); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 1代表删除)'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -drop table if exists sys_client; -create table sys_client ( - id int8, - client_id varchar(64) default ''::varchar, - client_key varchar(32) default ''::varchar, - client_secret varchar(255) default ''::varchar, - grant_type varchar(255) default ''::varchar, - device_type varchar(32) default ''::varchar, - active_timeout int4 default 1800, - timeout int4 default 604800, - status char(1) default '0'::bpchar, - del_flag char(1) default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint sys_client_pk primary key (id) -); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 1代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', '0', 103, 1, now(), null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', '0', 103, 1, now(), null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 103, 1, now(), null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:export', '#', 103, 1, now(), null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - -update sys_dept set leader = null; -ALTER TABLE sys_dept ALTER COLUMN leader TYPE int8; diff --git a/script/sql/update/postgres/update_2.1.0-2.1.1.sql b/script/sql/update/postgres/update_2.1.0-2.1.1.sql deleted file mode 100644 index b561f604d..000000000 --- a/script/sql/update/postgres/update_2.1.0-2.1.1.sql +++ /dev/null @@ -1,8 +0,0 @@ -ALTER TABLE sys_logininfor ADD client_key varchar(32) default ''::varchar; -COMMENT ON COLUMN sys_logininfor.client_key IS '客户端'; - -ALTER TABLE sys_logininfor ADD device_type varchar(32) default ''::varchar; -COMMENT ON COLUMN sys_logininfor.device_type IS '设备类型'; - - -insert into sys_menu values('124', '缓存监控', '2', '1', 'cache', 'monitor/cache/index', '', '1', '0', 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, now(), null, null, '缓存监控'); diff --git a/script/sql/update/postgres/update_2.1.1-2.1.2.sql b/script/sql/update/postgres/update_2.1.1-2.1.2.sql deleted file mode 100644 index 0e212de70..000000000 --- a/script/sql/update/postgres/update_2.1.1-2.1.2.sql +++ /dev/null @@ -1,6 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, now(), null, null, ''); - diff --git a/script/sql/update/postgres/update_2.1.2-2.2.0.sql b/script/sql/update/postgres/update_2.1.2-2.2.0.sql deleted file mode 100644 index 333693aa1..000000000 --- a/script/sql/update/postgres/update_2.1.2-2.2.0.sql +++ /dev/null @@ -1,9 +0,0 @@ -ALTER TABLE sys_dept ADD COLUMN dept_category varchar(100) default null::varchar; -COMMENT ON COLUMN sys_dept.dept_category IS '客户端'; -ALTER TABLE sys_post ADD COLUMN dept_id int8 NOT NULL; -COMMENT ON COLUMN sys_post.dept_id IS '部门id'; -ALTER TABLE sys_post ADD COLUMN post_category varchar(100) default null::varchar; -COMMENT ON COLUMN sys_post.post_category IS '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'http://localhost:8800/snail-job' WHERE menu_id = 110; diff --git a/script/sql/update/postgres/update_2.2.0-2.3.0.sql b/script/sql/update/postgres/update_2.2.0-2.3.0.sql deleted file mode 100644 index de5dd5681..000000000 --- a/script/sql/update/postgres/update_2.2.0-2.3.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE flow_node DROP COLUMN skip_any_node; -ALTER TABLE flow_node ADD COLUMN ext varchar(500); -COMMENT ON COLUMN flow_node.ext IS '扩展属性'; -CREATE INDEX user_associated_idx ON FLOW_USER USING btree (associated); - -ALTER TABLE sys_oss ADD COLUMN ext1 varchar(500)); -COMMENT ON COLUMN sys_oss.ext1 IS '扩展属性'; diff --git a/script/sql/update/postgres/update_2.3.0-2.4.0.sql b/script/sql/update/postgres/update_2.3.0-2.4.0.sql deleted file mode 100644 index e0b67e2dc..000000000 --- a/script/sql/update/postgres/update_2.3.0-2.4.0.sql +++ /dev/null @@ -1,18 +0,0 @@ -ALTER TABLE flow_task ADD COLUMN flow_status varchar(20); -COMMENT ON COLUMN flow_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -COMMENT ON COLUMN flow_instance.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -COMMENT ON COLUMN flow_his_task.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)'; - -ALTER TABLE sys_social -ALTER COLUMN access_token TYPE varchar(2000), -ALTER COLUMN refresh_token TYPE varchar(2000); - -INSERT INTO sys_menu VALUES ('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', '1', '1', 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, now(), null, null, ''); -INSERT INTO sys_menu VALUES ('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', '1', '1', 'C', '1', '0', 'system:role:edit', '#', 103, 1, now(), null, null, ''); -INSERT INTO sys_menu VALUES ('131', '分配角色', '1', '1', 'user-auth/role/:userId', 'system/user/authRole', '', '1', '1', 'C', '1', '0', 'system:user:edit', '#', 103, 1, now(), null, null, ''); -INSERT INTO sys_menu VALUES ('132', '字典数据', '1', '6', 'dict-data/index/:dictId', 'system/dict/data', '', '1', '1', 'C', '1', '0', 'system:dict:list', '#', 103, 1, now(), null, null, ''); -INSERT INTO sys_menu VALUES ('133', '文件配置管理', '1', '10', 'oss-config/index', 'system/oss/config', '', '1', '1', 'C', '1', '0', 'system:ossConfig:list', '#', 103, 1, now(), null, null, ''); -INSERT INTO sys_menu VALUES ('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', '1', '1', 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, ''); diff --git a/script/sql/update/postgres/update_2.4.1-2.5.0.sql b/script/sql/update/postgres/update_2.4.1-2.5.0.sql deleted file mode 100644 index 37ba566ad..000000000 --- a/script/sql/update/postgres/update_2.4.1-2.5.0.sql +++ /dev/null @@ -1,97 +0,0 @@ --- ry-workflow 数据库 -CREATE TABLE flow_spel ( - id BIGINT NOT NULL, - component_name VARCHAR(255), - method_name VARCHAR(255), - method_params VARCHAR(255), - view_spel VARCHAR(255), - remark VARCHAR(255), - status CHAR(1) DEFAULT '0', - del_flag CHAR(1) DEFAULT '0', - create_dept BIGINT, - create_by BIGINT, - create_time TIMESTAMP, - update_by BIGINT, - update_time TIMESTAMP, - PRIMARY KEY (id) -); - -COMMENT ON TABLE flow_spel IS '流程spel表达式定义表'; -COMMENT ON COLUMN flow_spel.id IS '主键id'; -COMMENT ON COLUMN flow_spel.component_name IS '组件名称'; -COMMENT ON COLUMN flow_spel.method_name IS '方法名'; -COMMENT ON COLUMN flow_spel.method_params IS '参数'; -COMMENT ON COLUMN flow_spel.view_spel IS '预览spel表达式'; -COMMENT ON COLUMN flow_spel.remark IS '备注'; -COMMENT ON COLUMN flow_spel.status IS '状态(0正常 1停用)'; -COMMENT ON COLUMN flow_spel.del_flag IS '删除标志'; -COMMENT ON COLUMN flow_spel.create_dept IS '创建部门'; -COMMENT ON COLUMN flow_spel.create_by IS '创建者'; -COMMENT ON COLUMN flow_spel.create_time IS '创建时间'; -COMMENT ON COLUMN flow_spel.update_by IS '更新者'; -COMMENT ON COLUMN flow_spel.update_time IS '更新时间'; - -INSERT INTO flow_spel VALUES (1, 'spelRuleComponent', 'selectDeptLeaderById', 'initiatorDeptId', '#{@spelRuleComponent.selectDeptLeaderById(#initiatorDeptId)}', '根据部门id获取部门负责人', '0', '0', 103, 1, now(), 1, now()); -INSERT INTO flow_spel VALUES (2, NULL, NULL, 'initiator', '${initiator}', '流程发起人', '0', '0', 103, 1, now(), 1, now()); - --- ry-cloud 数据库 -INSERT INTO sys_menu VALUES ('11801', '流程表达式', '11616', 2, 'spel', 'workflow/spel/index', '', 1, 0, 'C', '0', '0', 'workflow:spel:list', 'input', 103, 1, now(), 1, now(), '流程达式定义菜单'); -INSERT INTO sys_menu VALUES ('11802', '流程spel表达式定义查询', '11801', 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:query', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11803', '流程spel表达式定义新增', '11801', 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:add', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11804', '流程spel表达式定义修改', '11801', 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:edit', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11805', '流程spel表达式定义删除', '11801', 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:remove', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11806', '流程spel表达式定义导出', '11801', 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:export', '#', 103, 1, now(), NULL, NULL, ''); - -ALTER TABLE flow_definition ADD COLUMN model_value VARCHAR(40) NOT NULL DEFAULT 'CLASSICS'; -COMMENT ON COLUMN flow_definition.model_value IS '设计器模式(CLASSICS经典模式 MIMIC仿钉钉模式)'; - -UPDATE flow_skip SET skip_condition = REPLACE(skip_condition, 'notNike', 'notLike'); - -ALTER TABLE flow_his_task - ALTER COLUMN collaborator DROP NOT NULL, -ALTER COLUMN collaborator SET DEFAULT NULL, - ALTER COLUMN collaborator TYPE VARCHAR(500); -COMMENT ON COLUMN flow_his_task.collaborator IS '协作人'; - --- ---------------------------- --- 流程实例业务扩展表 --- ---------------------------- -CREATE TABLE flow_instance_biz_ext ( - id int8, - tenant_id VARCHAR(20) DEFAULT '000000', - create_dept int8, - create_by int8, - create_time TIMESTAMP, - update_by int8, - update_time TIMESTAMP, - business_code VARCHAR(255), - business_title VARCHAR(1000), - del_flag CHAR(1) DEFAULT '0', - instance_id int8, - business_id VARCHAR(255), - PRIMARY KEY (id) -); - -COMMENT ON TABLE flow_instance_biz_ext IS '流程实例业务扩展表'; -COMMENT ON COLUMN flow_instance_biz_ext.id IS '主键id'; -COMMENT ON COLUMN flow_instance_biz_ext.tenant_id IS '租户编号'; -COMMENT ON COLUMN flow_instance_biz_ext.create_dept IS '创建部门'; -COMMENT ON COLUMN flow_instance_biz_ext.create_by IS '创建者'; -COMMENT ON COLUMN flow_instance_biz_ext.create_time IS '创建时间'; -COMMENT ON COLUMN flow_instance_biz_ext.update_by IS '更新者'; -COMMENT ON COLUMN flow_instance_biz_ext.update_time IS '更新时间'; -COMMENT ON COLUMN flow_instance_biz_ext.business_code IS '业务编码'; -COMMENT ON COLUMN flow_instance_biz_ext.business_title IS '业务标题'; -COMMENT ON COLUMN flow_instance_biz_ext.del_flag IS '删除标志(0代表存在 1代表删除)'; -COMMENT ON COLUMN flow_instance_biz_ext.instance_id IS '流程实例Id'; -COMMENT ON COLUMN flow_instance_biz_ext.business_id IS '业务Id'; - -ALTER TABLE test_leave ADD COLUMN apply_code VARCHAR(50) NOT NULL; -COMMENT ON COLUMN test_leave.apply_code IS '申请编号'; - -update sys_menu set remark = '/tool/gen' where menu_id = 116; -update sys_menu set remark = '/system/role' where menu_id = 130; -update sys_menu set remark = '/system/user' where menu_id = 131; -update sys_menu set remark = '/system/dict' where menu_id = 132; -update sys_menu set remark = '/system/oss' where menu_id = 133; -update sys_menu set remark = '/workflow/processDefinition' where menu_id = 11700; diff --git a/script/sql/update/postgres/update_2.5.0-2.5.1.sql b/script/sql/update/postgres/update_2.5.0-2.5.1.sql deleted file mode 100644 index f1449f0f6..000000000 --- a/script/sql/update/postgres/update_2.5.0-2.5.1.sql +++ /dev/null @@ -1,25 +0,0 @@ -ALTER TABLE flow_definition ADD create_by VARCHAR(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_definition ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_definition.create_by IS '创建人'; -COMMENT ON COLUMN flow_definition.update_by IS '更新人'; - -ALTER TABLE flow_node ADD create_by VARCHAR(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_node ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_node.create_by IS '创建人'; -COMMENT ON COLUMN flow_node.update_by IS '更新人'; - -ALTER TABLE flow_skip ADD create_by VARCHAR(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_skip ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_skip.create_by IS '创建人'; -COMMENT ON COLUMN flow_skip.update_by IS '更新人'; - -ALTER TABLE flow_instance ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_instance.update_by IS '更新人'; - -ALTER TABLE flow_task ADD create_by VARCHAR(64) DEFAULT '' NOT NULL; -ALTER TABLE flow_task ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_task.create_by IS '创建人'; -COMMENT ON COLUMN flow_task.update_by IS '更新人'; - -ALTER TABLE flow_user ADD update_by VARCHAR(64) DEFAULT '' NOT NULL; -COMMENT ON COLUMN flow_user.update_by IS '更新人'; diff --git a/script/sql/update/postgres/update_2.5.1-2.5.2.sql b/script/sql/update/postgres/update_2.5.1-2.5.2.sql deleted file mode 100644 index d34435031..000000000 --- a/script/sql/update/postgres/update_2.5.1-2.5.2.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE flow_node -ALTER COLUMN node_ratio TYPE VARCHAR(200), - ALTER COLUMN node_ratio DROP NOT NULL; -COMMENT ON COLUMN flow_node.node_ratio IS '流程签署比例值'; -ALTER TABLE flow_node DROP COLUMN handler_type; -ALTER TABLE flow_node DROP COLUMN handler_path; diff --git a/script/sql/update/update_2.0-2.1.sql b/script/sql/update/update_2.0-2.1.sql deleted file mode 100644 index 9a5cd5e22..000000000 --- a/script/sql/update/update_2.0-2.1.sql +++ /dev/null @@ -1,99 +0,0 @@ -UPDATE sys_menu SET menu_name = 'PowerJob控制台', path = 'http://localhost:7700' WHERE menu_id = '110'; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -drop table if exists sys_social; -create table sys_social -( - id bigint not null comment '主键', - user_id bigint not null comment '用户ID', - tenant_id varchar(20) default null comment '租户id', - auth_id varchar(255) not null comment '平台+平台唯一id', - source varchar(255) not null comment '用户来源', - open_id varchar(255) default null comment '平台编号唯一id', - user_name varchar(30) not null comment '登录账号', - nick_name varchar(30) default '' comment '用户昵称', - email varchar(255) default '' comment '用户邮箱', - avatar varchar(500) default '' comment '头像地址', - access_token varchar(255) not null comment '用户的授权令牌', - expire_in int default null comment '用户的授权令牌的有效期,部分平台可能没有', - refresh_token varchar(255) default null comment '刷新令牌,部分平台可能没有', - access_code varchar(255) default null comment '平台的授权信息,部分平台可能没有', - union_id varchar(255) default null comment '用户的 unionid', - scope varchar(255) default null comment '授予的权限,部分平台可能没有', - token_type varchar(255) default null comment '个别平台的授权信息,部分平台可能没有', - id_token varchar(255) default null comment 'id token,部分平台可能没有', - mac_algorithm varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有', - mac_key varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有', - code varchar(255) default null comment '用户的授权code,部分平台可能没有', - oauth_token varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有', - oauth_token_secret varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有', - create_dept bigint(20) comment '创建部门', - create_by bigint(20) comment '创建者', - create_time datetime comment '创建时间', - update_by bigint(20) comment '更新者', - update_time datetime comment '更新时间', - del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)', - PRIMARY KEY (id) -) engine=innodb comment = '社会化关系表'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -drop table if exists sys_client; -create table sys_client ( - id bigint(20) not null comment 'id', - client_id varchar(64) default null comment '客户端id', - client_key varchar(32) default null comment '客户端key', - client_secret varchar(255) default null comment '客户端秘钥', - grant_type varchar(255) default null comment '授权类型', - device_type varchar(32) default null comment '设备类型', - active_timeout int(11) default 1800 comment 'token活跃超时时间', - timeout int(11) default 604800 comment 'token固定超时', - status char(1) default '0' comment '状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 1代表删除)', - create_dept bigint(20) default null comment '创建部门', - create_by bigint(20) default null comment '创建者', - create_time datetime default null comment '创建时间', - update_by bigint(20) default null comment '更新者', - update_time datetime default null comment '更新时间', - primary key (id) -) engine=innodb comment='系统授权表'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', 103, 1, sysdate(), null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', 103, 1, sysdate(), null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate(), null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate(), null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - - -update sys_dept set leader = null; -alter table sys_dept modify column leader bigint null default null comment '负责人' after order_num; diff --git a/script/sql/update/update_2.1.0-2.1.1.sql b/script/sql/update/update_2.1.0-2.1.1.sql deleted file mode 100644 index aafeff3fb..000000000 --- a/script/sql/update/update_2.1.0-2.1.1.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE sys_logininfor - ADD COLUMN client_key VARCHAR(32) NULL DEFAULT NULL COMMENT '客户端' AFTER `user_name`, - ADD COLUMN device_type VARCHAR(32) NULL DEFAULT NULL COMMENT '设备类型' AFTER `client_key`; - -insert into sys_menu values('124', '缓存监控', '2', '1', 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, sysdate(), null, null, '缓存监控'); diff --git a/script/sql/update/update_2.1.1-2.1.2.sql b/script/sql/update/update_2.1.1-2.1.2.sql deleted file mode 100644 index 681394938..000000000 --- a/script/sql/update/update_2.1.1-2.1.2.sql +++ /dev/null @@ -1,6 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate(), null, null, ''); - diff --git a/script/sql/update/update_2.1.2-2.2.0.sql b/script/sql/update/update_2.1.2-2.2.0.sql deleted file mode 100644 index 6dd09ab55..000000000 --- a/script/sql/update/update_2.1.2-2.2.0.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE sys_dept ADD dept_category VARCHAR(100) DEFAULT NULL COMMENT '部门类别编码'; -ALTER TABLE sys_post ADD dept_id BIGINT(20) NOT NULL COMMENT '部门id', ADD post_category VARCHAR(100) DEFAULT NULL COMMENT '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'http://localhost:8800/snail-job' WHERE menu_id = 110; diff --git a/script/sql/update/update_2.2.0-2.3.0.sql b/script/sql/update/update_2.2.0-2.3.0.sql deleted file mode 100644 index f45cc4019..000000000 --- a/script/sql/update/update_2.2.0-2.3.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE `flow_node` DROP COLUMN `skip_any_node`; -ALTER TABLE `flow_node` - ADD COLUMN `ext` text NULL COMMENT '扩展属性' AFTER `update_time`; -ALTER TABLE `flow_user` ADD INDEX `user_associated`(`associated`) USING BTREE - -ALTER TABLE `sys_oss` - ADD COLUMN `ext1` text NULL COMMENT '扩展属性' AFTER `url`; diff --git a/script/sql/update/update_2.3.0-2.4.0.sql b/script/sql/update/update_2.3.0-2.4.0.sql deleted file mode 100644 index 058f6fcba..000000000 --- a/script/sql/update/update_2.3.0-2.4.0.sql +++ /dev/null @@ -1,21 +0,0 @@ -ALTER TABLE `flow_task` - ADD COLUMN `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)' AFTER `node_type`; - -ALTER TABLE `flow_instance` - MODIFY COLUMN `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)' AFTER `variable`; - -ALTER TABLE `flow_his_task` - MODIFY COLUMN `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)' AFTER `skip_type`; - -ALTER TABLE `sys_social` - MODIFY COLUMN `access_token` varchar(2000) NOT NULL COMMENT '用户的授权令牌' AFTER `avatar`; -ALTER TABLE `sys_social` - MODIFY COLUMN `refresh_token` varchar(2000) DEFAULT NULL COMMENT '刷新令牌,部分平台可能没有' AFTER `expire_in`; - -insert into sys_menu values('116', '修改生成配置', '3', '2', 'gen-edit/index/:tableId', 'tool/gen/editTable', '', 1, 1, 'C', '1', '0', 'tool:gen:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('130', '分配用户', '1', '2', 'role-auth/user/:roleId', 'system/role/authUser', '', 1, 1, 'C', '1', '0', 'system:role:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('131', '分配角色', '1', '1', 'user-auth/role/:userId', 'system/user/authRole', '', 1, 1, 'C', '1', '0', 'system:user:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('132', '字典数据', '1', '6', 'dict-data/index/:dictId', 'system/dict/data', '', 1, 1, 'C', '1', '0', 'system:dict:list', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('133', '文件配置管理', '1', '10', 'oss-config/index', 'system/oss/config', '', 1, 1, 'C', '1', '0', 'system:ossConfig:list', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('11700', '流程设计', '11616', '5', 'design/index', 'workflow/processDefinition/design', '', 1, 1, 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('11701', '请假申请', '11616', '6', 'leaveEdit/index', 'workflow/leave/leaveEdit', '', 1, 1, 'C', '1', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), null, null, ''); diff --git a/script/sql/update/update_2.4.1-2.5.0.sql b/script/sql/update/update_2.4.1-2.5.0.sql deleted file mode 100644 index 9d0831430..000000000 --- a/script/sql/update/update_2.4.1-2.5.0.sql +++ /dev/null @@ -1,66 +0,0 @@ --- ry-workflow 数据库 -CREATE TABLE flow_spel ( - id bigint(20) NOT NULL COMMENT '主键id', - component_name varchar(255) DEFAULT NULL COMMENT '组件名称', - method_name varchar(255) DEFAULT NULL COMMENT '方法名', - method_params varchar(255) DEFAULT NULL COMMENT '参数', - view_spel varchar(255) DEFAULT NULL COMMENT '预览spel表达式', - remark varchar(255) DEFAULT NULL COMMENT '备注', - status char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', - del_flag char(1) DEFAULT '0' COMMENT '删除标志', - create_dept bigint(20) DEFAULT NULL COMMENT '创建部门', - create_by bigint(20) DEFAULT NULL COMMENT '创建者', - create_time datetime DEFAULT NULL COMMENT '创建时间', - update_by bigint(20) DEFAULT NULL COMMENT '更新者', - update_time datetime DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT='流程spel表达式定义表'; - -INSERT INTO flow_spel VALUES (1, 'spelRuleComponent', 'selectDeptLeaderById', 'initiatorDeptId', '#{@spelRuleComponent.selectDeptLeaderById(#initiatorDeptId)}', '根据部门id获取部门负责人', '0', '0', 103, 1, sysdate(), 1, sysdate()); -INSERT INTO flow_spel VALUES (2, NULL, NULL, 'initiator', '${initiator}', '流程发起人', '0', '0', 103, 1, sysdate(), 1, sysdate()); - --- ry-cloud 数据库 -INSERT INTO sys_menu VALUES ('11801', '流程表达式', '11616', '2', 'spel', 'workflow/spel/index', '', 1, 0, 'C', '0', '0', 'workflow:spel:list', 'input', 103, 1, sysdate(), 1, sysdate(), '流程达式定义菜单'); -INSERT INTO sys_menu VALUES ('11802', '流程spel表达式定义查询', '11801', 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:query', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11803', '流程spel表达式定义新增', '11801', 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:add', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11804', '流程spel表达式定义修改', '11801', 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:edit', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11805', '流程spel表达式定义删除', '11801', 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:remove', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES ('11806', '流程spel表达式定义导出', '11801', 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'workflow:spel:export', '#', 103, 1, sysdate(), NULL, NULL, ''); - -ALTER TABLE `flow_definition` - ADD COLUMN `model_value` varchar(40) NOT NULL DEFAULT 'CLASSICS' COMMENT '设计器模式(CLASSICS经典模式 MIMIC仿钉钉模式)' AFTER `flow_name`; - -update flow_skip set skip_condition = REPLACE(skip_condition,'notNike','notLike'); - -ALTER TABLE `flow_his_task` - MODIFY COLUMN `collaborator` varchar(500) NULL DEFAULT NULL COMMENT '协作人' AFTER `cooperate_type`; - --- ---------------------------- --- 流程实例业务扩展表 --- ---------------------------- - -create table flow_instance_biz_ext ( - id bigint not null comment '主键id', - tenant_id varchar(20) default '000000' null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - business_code varchar(255) null comment '业务编码', - business_title varchar(1000) null comment '业务标题', - del_flag char default '0' null comment '删除标志(0代表存在 1代表删除)', - instance_id bigint null comment '流程实例Id', - business_id varchar(255) null comment '业务Id', - PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT '流程实例业务扩展表'; - -ALTER TABLE `test_leave` - ADD COLUMN `apply_code` varchar(50) NOT NULL COMMENT '申请编号' AFTER `tenant_id`; - -update sys_menu set remark = '/tool/gen' where menu_id = 116; -update sys_menu set remark = '/system/role' where menu_id = 130; -update sys_menu set remark = '/system/user' where menu_id = 131; -update sys_menu set remark = '/system/dict' where menu_id = 132; -update sys_menu set remark = '/system/oss' where menu_id = 133; -update sys_menu set remark = '/workflow/processDefinition' where menu_id = 11700; diff --git a/script/sql/update/update_2.5.0-2.5.1.sql b/script/sql/update/update_2.5.0-2.5.1.sql deleted file mode 100644 index 17a60af35..000000000 --- a/script/sql/update/update_2.5.0-2.5.1.sql +++ /dev/null @@ -1,21 +0,0 @@ -ALTER TABLE `flow_definition` - ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`, - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; - -ALTER TABLE `flow_node` - ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`, - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; - -ALTER TABLE `flow_skip` - ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`, - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; - -ALTER TABLE `flow_instance` - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; - -ALTER TABLE `flow_task` - ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`, - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; - -ALTER TABLE `flow_user` - ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`; diff --git a/script/sql/update/update_2.5.1-2.5.2.sql b/script/sql/update/update_2.5.1-2.5.2.sql deleted file mode 100644 index d1e4cef20..000000000 --- a/script/sql/update/update_2.5.1-2.5.2.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER TABLE flow_node MODIFY COLUMN node_ratio varchar(200) NULL COMMENT '流程签署比例值'; -ALTER TABLE flow_node DROP COLUMN handler_type; -ALTER TABLE flow_node DROP COLUMN handler_path;