From 57e799b27c4e20a28d405394f383a67e684ddda0071290c29098c9b1eef14638 Mon Sep 17 00:00:00 2001 From: attiya <2413103649@qq.com> Date: Wed, 3 Sep 2025 16:04:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=90=AF=E7=99=BB=E9=99=86=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E3=80=81=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9=EF=BC=88=E4=B8=8D=E5=8F=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=BF=90=E8=90=A5=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cdzy/gateway/config/SaTokenConfigure.java | 2 +- .../src/main/resources/application-dev.yml | 2 +- .../staff/component/EbikeTenantFactory.java | 13 +++- .../config/MyBatisFlexConfiguration.java | 1 + .../staff/controller/EbikeRoleController.java | 1 + .../staff/model/entity/EbikeOperator.java | 1 - .../model/entity/EbikeOperatorStaff.java | 1 - .../cdzy/staff/model/entity/EbikeRole.java | 7 ++- .../cdzy/staff/service/EbikeRoleService.java | 2 + .../impl/EbikeOperatorServiceImpl.java | 23 +++---- .../service/impl/EbikeRoleServiceImpl.java | 60 +++++++++++++------ pom.xml | 2 +- 12 files changed, 77 insertions(+), 38 deletions(-) diff --git a/ebike-gateway/src/main/java/com/cdzy/gateway/config/SaTokenConfigure.java b/ebike-gateway/src/main/java/com/cdzy/gateway/config/SaTokenConfigure.java index 26628e6..5f301e8 100644 --- a/ebike-gateway/src/main/java/com/cdzy/gateway/config/SaTokenConfigure.java +++ b/ebike-gateway/src/main/java/com/cdzy/gateway/config/SaTokenConfigure.java @@ -31,7 +31,7 @@ public class SaTokenConfigure { .setAuth(obj -> { if (isCheck) { // 登录校验 -- 拦截所有路由,并排除/user/doLogin 用于开放登录 - SaRouter.match("/**", "/user/auth/loginByPwd", r -> StpUtil.checkLogin()); + SaRouter.match("/**", "/staff/ebikeOperatorStaff/login", r -> StpUtil.checkLogin()); } // 权限认证 -- 不同模块, 校验不同权限 diff --git a/ebike-gateway/src/main/resources/application-dev.yml b/ebike-gateway/src/main/resources/application-dev.yml index 2a2f6cc..3ac6a0f 100644 --- a/ebike-gateway/src/main/resources/application-dev.yml +++ b/ebike-gateway/src/main/resources/application-dev.yml @@ -97,7 +97,7 @@ sa-token: # 是否输出操作日志 is-log: true # 开启检查的登陆状态的开关 - is-check: false + is-check: true # 自定义加解密配置 cdzy: diff --git a/ebike-staff/src/main/java/com/cdzy/staff/component/EbikeTenantFactory.java b/ebike-staff/src/main/java/com/cdzy/staff/component/EbikeTenantFactory.java index 76c6c8a..170f4f5 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/component/EbikeTenantFactory.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/component/EbikeTenantFactory.java @@ -19,13 +19,20 @@ public class EbikeTenantFactory implements TenantFactory { String id = (String) StpUtil.getLoginId(); StaffInfo staffInfo = (StaffInfo) StpUtil.getSessionByLoginId(id).get(id); List roles = staffInfo.getRoles(); - for (EbikeRole role:roles){ + boolean isSysAdmin = false; + for (EbikeRole role : roles) { if (role.getSysAdmin()) { - return new Object[]{}; + isSysAdmin = true; + break; } } long tenantId = Long.parseLong(attribute.toString()); - return new Object[]{tenantId}; + //系统管理员 + if (isSysAdmin) { + return null; + } else { + return new Object[]{tenantId}; + } } } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/config/MyBatisFlexConfiguration.java b/ebike-staff/src/main/java/com/cdzy/staff/config/MyBatisFlexConfiguration.java index 6a25100..fbb5141 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/config/MyBatisFlexConfiguration.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/config/MyBatisFlexConfiguration.java @@ -49,6 +49,7 @@ public class MyBatisFlexConfiguration { //设置数据已被删除时的值 globalConfig.setDeletedValueOfLogicDelete(Boolean.TRUE); + globalConfig.setTenantColumn("operator_id"); return globalConfig; } } \ No newline at end of file diff --git a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRoleController.java b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRoleController.java index 5fa87f3..e70fb60 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRoleController.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikeRoleController.java @@ -47,6 +47,7 @@ public class EbikeRoleController { */ @GetMapping("remove") public JsonResult remove(@RequestParam("roleId") Long roleId) { + ebikeRoleService.checkRoleCode(roleId); ebikeRoleService.removeById(roleId); return JsonResult.success(); } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperator.java b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperator.java index 7a8d917..7143a3e 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperator.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperator.java @@ -29,7 +29,6 @@ public class EbikeOperator implements Serializable { private static final long serialVersionUID = 1L; @Id - @Column(tenantId = true) private Long operatorId; private String operatorName; diff --git a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperatorStaff.java b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperatorStaff.java index 3de3302..47f8854 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperatorStaff.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeOperatorStaff.java @@ -37,7 +37,6 @@ public class EbikeOperatorStaff implements Serializable { private String salt; - @Column(tenantId = true) private Long operatorId; private Integer status; diff --git a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeRole.java b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeRole.java index 1f4ce59..c97678b 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeRole.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikeRole.java @@ -44,7 +44,6 @@ public class EbikeRole implements Serializable { /** * 所属运营商 */ - @Column(tenantId = true) private Long operatorId; /** @@ -65,4 +64,10 @@ public class EbikeRole implements Serializable { @Column(onInsertValue = "false") private Boolean sysAdmin; + /** + * 是否系统角色 + */ + @Column(onInsertValue = "false") + private Boolean sysRole; + } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/service/EbikeRoleService.java b/ebike-staff/src/main/java/com/cdzy/staff/service/EbikeRoleService.java index 0189f3e..0c1d18c 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/service/EbikeRoleService.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/service/EbikeRoleService.java @@ -15,4 +15,6 @@ public interface EbikeRoleService extends IService { void saveRole(EbikeRoleVo ebikeRole); void updateRole(EbikeRoleVo ebikeRole); + + void checkRoleCode(Long roleId); } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeOperatorServiceImpl.java b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeOperatorServiceImpl.java index 30012c5..7102300 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeOperatorServiceImpl.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikeOperatorServiceImpl.java @@ -38,14 +38,10 @@ public class EbikeOperatorServiceImpl extends ServiceImpl2.18.0 5.8.26 1.18.30 - 1.11.1 + 1.11.0 3.0.4 1.40.0 8.0.32