From 66e1767979064d9e048d143203b306ba36ccd4e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 29 May 2025 15:42:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=99=A8=20flowParams=20=E4=B8=BAnull=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/workflow/listener/WorkflowGlobalListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 027865bc8..01a9194c4 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -106,6 +106,7 @@ public class WorkflowGlobalListener implements GlobalListener { Task task = listenerVariable.getTask(); Map params = new HashMap<>(); FlowParams flowParams = listenerVariable.getFlowParams(); + Map variable = new HashMap<>(); if (ObjectUtil.isNotNull(flowParams)) { // 历史任务扩展(通常为附件) params.put("hisTaskExt", flowParams.getHisTaskExt()); @@ -113,8 +114,8 @@ public class WorkflowGlobalListener implements GlobalListener { params.put("handler", flowParams.getHandler()); // 办理意见 params.put("message", flowParams.getMessage()); + variable = flowParams.getVariable(); } - Map variable = flowParams.getVariable(); //申请人提交事件 Boolean submit = MapUtil.getBool(variable, FlowConstant.SUBMIT); if (submit != null && submit) { From 1842103a18b2068b5ba49016576ebe62761ceb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 29 May 2025 16:19:00 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20PermissionServic?= =?UTF-8?q?e=20=E6=97=A0=E5=AE=9E=E7=8E=B0=E7=B1=BB=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SaPermissionImpl.java | 33 ++++++++++++++----- ruoyi-gateway/pom.xml | 5 --- ruoyi-modules/ruoyi-job/pom.xml | 5 --- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java index a003a926c..e6b0404f8 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java @@ -3,11 +3,12 @@ package org.dromara.common.satoken.core.service; import cn.dev33.satoken.stp.StpInterface; import cn.hutool.core.util.ObjectUtil; import org.dromara.common.core.enums.UserType; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.PermissionService; +import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.api.model.LoginUser; -import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @@ -19,9 +20,6 @@ import java.util.List; */ public class SaPermissionImpl implements StpInterface { - @Autowired - private PermissionService permissionService; - /** * 获取菜单权限列表 */ @@ -29,8 +27,13 @@ public class SaPermissionImpl implements StpInterface { public List getPermissionList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { - List list = StringUtils.splitList(loginId.toString(), ":"); - return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1)))); + PermissionService permissionService = getPermissionService(); + if (ObjectUtil.isNotNull(permissionService)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1)))); + } else { + throw new ServiceException("PermissionService 实现类不存在"); + } } UserType userType = UserType.getUserType(loginUser.getUserType()); if (userType == UserType.APP_USER) { @@ -47,8 +50,13 @@ public class SaPermissionImpl implements StpInterface { public List getRoleList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { - List list = StringUtils.splitList(loginId.toString(), ":"); - return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1)))); + PermissionService permissionService = getPermissionService(); + if (ObjectUtil.isNotNull(permissionService)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1)))); + } else { + throw new ServiceException("PermissionService 实现类不存在"); + } } UserType userType = UserType.getUserType(loginUser.getUserType()); if (userType == UserType.APP_USER) { @@ -57,4 +65,13 @@ public class SaPermissionImpl implements StpInterface { // SYS_USER 默认返回权限 return new ArrayList<>(loginUser.getRolePermission()); } + + private PermissionService getPermissionService() { + try { + return SpringUtils.getBean(PermissionService.class); + } catch (Exception e) { + return null; + } + } + } diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 113330e8b..0f287d857 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -88,11 +88,6 @@ ruoyi-common-tenant - - org.dromara - ruoyi-common-service-impl - - diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index fd79de0b2..ab2e869e9 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -64,11 +64,6 @@ ruoyi-common-security - - org.dromara - ruoyi-common-service-impl - - org.dromara From b7835ec5bd0740ba99f7b95dabb73eda4fd6d929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 29 May 2025 17:24:56 +0800 Subject: [PATCH 3/4] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=BB=99?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E6=88=B7=E5=A2=9E=E5=8A=A0=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=9D=83=E9=99=90(=E5=8F=AF=E4=B8=8D=E6=9B=B4?= =?UTF-8?q?=E6=96=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/sql/oracle/oracle_ry_cloud.sql | 35 ++++++++++++++++++++++ script/sql/postgres/postgres_ry_cloud.sql | 36 +++++++++++++++++++++++ script/sql/ry-cloud.sql | 35 ++++++++++++++++++++++ 3 files changed, 106 insertions(+) diff --git a/script/sql/oracle/oracle_ry_cloud.sql b/script/sql/oracle/oracle_ry_cloud.sql index 4cc35407d..7fd8c3658 100644 --- a/script/sql/oracle/oracle_ry_cloud.sql +++ b/script/sql/oracle/oracle_ry_cloud.sql @@ -651,6 +651,12 @@ insert into sys_role_menu values ('3', '105'); insert into sys_role_menu values ('3', '106'); insert into sys_role_menu values ('3', '107'); insert into sys_role_menu values ('3', '108'); +insert into sys_role_menu values ('3', '118'); +insert into sys_role_menu values ('3', '123'); +insert into sys_role_menu values ('3', '130'); +insert into sys_role_menu values ('3', '131'); +insert into sys_role_menu values ('3', '132'); +insert into sys_role_menu values ('3', '133'); insert into sys_role_menu values ('3', '500'); insert into sys_role_menu values ('3', '501'); insert into sys_role_menu values ('3', '1001'); @@ -698,6 +704,12 @@ insert into sys_role_menu values ('3', '1042'); insert into sys_role_menu values ('3', '1043'); insert into sys_role_menu values ('3', '1044'); insert into sys_role_menu values ('3', '1045'); +insert into sys_role_menu values ('3', '1050'); +insert into sys_role_menu values ('3', '1061'); +insert into sys_role_menu values ('3', '1062'); +insert into sys_role_menu values ('3', '1063'); +insert into sys_role_menu values ('3', '1064'); +insert into sys_role_menu values ('3', '1065'); insert into sys_role_menu values ('3', '1500'); insert into sys_role_menu values ('3', '1501'); insert into sys_role_menu values ('3', '1502'); @@ -710,6 +722,29 @@ insert into sys_role_menu values ('3', '1508'); insert into sys_role_menu values ('3', '1509'); insert into sys_role_menu values ('3', '1510'); insert into sys_role_menu values ('3', '1511'); +insert into sys_role_menu values ('3', '1600'); +insert into sys_role_menu values ('3', '1601'); +insert into sys_role_menu values ('3', '1602'); +insert into sys_role_menu values ('3', '1603'); +insert into sys_role_menu values ('3', '1620'); +insert into sys_role_menu values ('3', '1621'); +insert into sys_role_menu values ('3', '1622'); +insert into sys_role_menu values ('3', '1623'); +insert into sys_role_menu values ('3', '11616'); +insert into sys_role_menu values ('3', '11618'); +insert into sys_role_menu values ('3', '11619'); +insert into sys_role_menu values ('3', '11622'); +insert into sys_role_menu values ('3', '11623'); +insert into sys_role_menu values ('3', '11629'); +insert into sys_role_menu values ('3', '11632'); +insert into sys_role_menu values ('3', '11633'); +insert into sys_role_menu values ('3', '11638'); +insert into sys_role_menu values ('3', '11639'); +insert into sys_role_menu values ('3', '11640'); +insert into sys_role_menu values ('3', '11641'); +insert into sys_role_menu values ('3', '11642'); +insert into sys_role_menu values ('3', '11643'); +insert into sys_role_menu values ('3', '11701'); insert into sys_role_menu values ('4', '5'); insert into sys_role_menu values ('4', '1500'); insert into sys_role_menu values ('4', '1501'); diff --git a/script/sql/postgres/postgres_ry_cloud.sql b/script/sql/postgres/postgres_ry_cloud.sql index fe665e1df..66225bc69 100644 --- a/script/sql/postgres/postgres_ry_cloud.sql +++ b/script/sql/postgres/postgres_ry_cloud.sql @@ -649,6 +649,12 @@ insert into sys_role_menu values ('3', '105'); insert into sys_role_menu values ('3', '106'); insert into sys_role_menu values ('3', '107'); insert into sys_role_menu values ('3', '108'); +insert into sys_role_menu values ('3', '118'); +insert into sys_role_menu values ('3', '123'); +insert into sys_role_menu values ('3', '130'); +insert into sys_role_menu values ('3', '131'); +insert into sys_role_menu values ('3', '132'); +insert into sys_role_menu values ('3', '133'); insert into sys_role_menu values ('3', '500'); insert into sys_role_menu values ('3', '501'); insert into sys_role_menu values ('3', '1001'); @@ -696,6 +702,12 @@ insert into sys_role_menu values ('3', '1042'); insert into sys_role_menu values ('3', '1043'); insert into sys_role_menu values ('3', '1044'); insert into sys_role_menu values ('3', '1045'); +insert into sys_role_menu values ('3', '1050'); +insert into sys_role_menu values ('3', '1061'); +insert into sys_role_menu values ('3', '1062'); +insert into sys_role_menu values ('3', '1063'); +insert into sys_role_menu values ('3', '1064'); +insert into sys_role_menu values ('3', '1065'); insert into sys_role_menu values ('3', '1500'); insert into sys_role_menu values ('3', '1501'); insert into sys_role_menu values ('3', '1502'); @@ -708,6 +720,29 @@ insert into sys_role_menu values ('3', '1508'); insert into sys_role_menu values ('3', '1509'); insert into sys_role_menu values ('3', '1510'); insert into sys_role_menu values ('3', '1511'); +insert into sys_role_menu values ('3', '1600'); +insert into sys_role_menu values ('3', '1601'); +insert into sys_role_menu values ('3', '1602'); +insert into sys_role_menu values ('3', '1603'); +insert into sys_role_menu values ('3', '1620'); +insert into sys_role_menu values ('3', '1621'); +insert into sys_role_menu values ('3', '1622'); +insert into sys_role_menu values ('3', '1623'); +insert into sys_role_menu values ('3', '11616'); +insert into sys_role_menu values ('3', '11618'); +insert into sys_role_menu values ('3', '11619'); +insert into sys_role_menu values ('3', '11622'); +insert into sys_role_menu values ('3', '11623'); +insert into sys_role_menu values ('3', '11629'); +insert into sys_role_menu values ('3', '11632'); +insert into sys_role_menu values ('3', '11633'); +insert into sys_role_menu values ('3', '11638'); +insert into sys_role_menu values ('3', '11639'); +insert into sys_role_menu values ('3', '11640'); +insert into sys_role_menu values ('3', '11641'); +insert into sys_role_menu values ('3', '11642'); +insert into sys_role_menu values ('3', '11643'); +insert into sys_role_menu values ('3', '11701'); insert into sys_role_menu values ('4', '5'); insert into sys_role_menu values ('4', '1500'); insert into sys_role_menu values ('4', '1501'); @@ -722,6 +757,7 @@ insert into sys_role_menu values ('4', '1509'); insert into sys_role_menu values ('4', '1510'); insert into sys_role_menu values ('4', '1511'); + -- ---------------------------- -- 8、角色和部门关联表 角色1-N部门 -- ---------------------------- diff --git a/script/sql/ry-cloud.sql b/script/sql/ry-cloud.sql index 21d6b8c23..d4e8fe01a 100644 --- a/script/sql/ry-cloud.sql +++ b/script/sql/ry-cloud.sql @@ -474,6 +474,12 @@ insert into sys_role_menu values ('3', '105'); insert into sys_role_menu values ('3', '106'); insert into sys_role_menu values ('3', '107'); insert into sys_role_menu values ('3', '108'); +insert into sys_role_menu values ('3', '118'); +insert into sys_role_menu values ('3', '123'); +insert into sys_role_menu values ('3', '130'); +insert into sys_role_menu values ('3', '131'); +insert into sys_role_menu values ('3', '132'); +insert into sys_role_menu values ('3', '133'); insert into sys_role_menu values ('3', '500'); insert into sys_role_menu values ('3', '501'); insert into sys_role_menu values ('3', '1001'); @@ -521,6 +527,12 @@ insert into sys_role_menu values ('3', '1042'); insert into sys_role_menu values ('3', '1043'); insert into sys_role_menu values ('3', '1044'); insert into sys_role_menu values ('3', '1045'); +insert into sys_role_menu values ('3', '1050'); +insert into sys_role_menu values ('3', '1061'); +insert into sys_role_menu values ('3', '1062'); +insert into sys_role_menu values ('3', '1063'); +insert into sys_role_menu values ('3', '1064'); +insert into sys_role_menu values ('3', '1065'); insert into sys_role_menu values ('3', '1500'); insert into sys_role_menu values ('3', '1501'); insert into sys_role_menu values ('3', '1502'); @@ -533,6 +545,29 @@ insert into sys_role_menu values ('3', '1508'); insert into sys_role_menu values ('3', '1509'); insert into sys_role_menu values ('3', '1510'); insert into sys_role_menu values ('3', '1511'); +insert into sys_role_menu values ('3', '1600'); +insert into sys_role_menu values ('3', '1601'); +insert into sys_role_menu values ('3', '1602'); +insert into sys_role_menu values ('3', '1603'); +insert into sys_role_menu values ('3', '1620'); +insert into sys_role_menu values ('3', '1621'); +insert into sys_role_menu values ('3', '1622'); +insert into sys_role_menu values ('3', '1623'); +insert into sys_role_menu values ('3', '11616'); +insert into sys_role_menu values ('3', '11618'); +insert into sys_role_menu values ('3', '11619'); +insert into sys_role_menu values ('3', '11622'); +insert into sys_role_menu values ('3', '11623'); +insert into sys_role_menu values ('3', '11629'); +insert into sys_role_menu values ('3', '11632'); +insert into sys_role_menu values ('3', '11633'); +insert into sys_role_menu values ('3', '11638'); +insert into sys_role_menu values ('3', '11639'); +insert into sys_role_menu values ('3', '11640'); +insert into sys_role_menu values ('3', '11641'); +insert into sys_role_menu values ('3', '11642'); +insert into sys_role_menu values ('3', '11643'); +insert into sys_role_menu values ('3', '11701'); insert into sys_role_menu values ('4', '5'); insert into sys_role_menu values ('4', '1500'); insert into sys_role_menu values ('4', '1501'); From 3f0d0ad82bf0875b08e337c96f2d2c1a2a64e11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 29 May 2025 18:16:57 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=95=B0=E6=8D=AE=E9=87=8D=E5=A4=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=20=E7=8A=B6=E6=80=81=E8=A2=AB=E8=A6=86=E7=9B=96=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=AE=8C=E6=88=90=E6=B5=81=E7=A8=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/SysDictDataServiceImpl.java | 2 +- .../dromara/workflow/listener/WorkflowGlobalListener.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java index a0f8b5690..07c8227f2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java @@ -58,7 +58,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService { lqw.eq(bo.getDictSort() != null, SysDictData::getDictSort, bo.getDictSort()); lqw.like(StringUtils.isNotBlank(bo.getDictLabel()), SysDictData::getDictLabel, bo.getDictLabel()); lqw.eq(StringUtils.isNotBlank(bo.getDictType()), SysDictData::getDictType, bo.getDictType()); - lqw.orderByAsc(SysDictData::getDictSort); + lqw.orderByAsc(SysDictData::getDictSort, SysDictData::getDictCode); return lqw; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 01a9194c4..c1ef2622a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -15,6 +15,7 @@ import org.dromara.warm.flow.core.entity.Task; import org.dromara.warm.flow.core.listener.GlobalListener; import org.dromara.warm.flow.core.listener.ListenerVariable; import org.dromara.warm.flow.core.service.InsService; +import org.dromara.warm.flow.orm.entity.FlowInstance; import org.dromara.warm.flow.orm.entity.FlowTask; import org.dromara.workflow.common.ConditionalOnEnable; import org.dromara.workflow.common.constant.FlowConstant; @@ -151,13 +152,15 @@ public class WorkflowGlobalListener implements GlobalListener { flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice); } } + FlowInstance ins = new FlowInstance(); Map variableMap = instance.getVariableMap(); variableMap.remove(FlowConstant.FLOW_COPY_LIST); variableMap.remove(FlowConstant.MESSAGE_TYPE); variableMap.remove(FlowConstant.MESSAGE_NOTICE); variableMap.remove(FlowConstant.SUBMIT); - instance.setVariable(FlowEngine.jsonConvert.objToStr(variableMap)); - insService.updateById(instance); + ins.setId(instance.getId()); + ins.setVariable(FlowEngine.jsonConvert.objToStr(variableMap)); + insService.updateById(ins); } } }