From a748d0d62cf917dee350799aedcac1da2be35bac 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:38:29 +0800 Subject: [PATCH 1/5] =?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 c88367939cb53782fa5318b9bd001b395d3316b7 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:28:09 +0800 Subject: [PATCH 2/5] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20PermissionSer?= =?UTF-8?q?vice=20=E6=97=A0=E5=AE=9E=E7=8E=B0=E7=B1=BB=E4=B9=9F=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=90=AF=E5=8A=A8=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SaPermissionImpl.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 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 35d16cd6e..e57d1fbde 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 @@ -4,10 +4,11 @@ import cn.dev33.satoken.stp.StpInterface; import cn.hutool.core.util.ObjectUtil; import org.dromara.common.core.domain.model.LoginUser; 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.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; + } + } + } From 5849ddc1609981d5039e91bf89c612b4caa011b3 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:05:29 +0800 Subject: [PATCH 3/5] =?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_vue_5.X.sql | 5 +++++ script/sql/postgres/postgres_ry_vue_5.X.sql | 5 +++++ script/sql/ry_vue_5.X.sql | 5 +++++ script/sql/sqlserver/sqlserver_ry_vue_5.X.sql | 10 ++++++++++ 4 files changed, 25 insertions(+) diff --git a/script/sql/oracle/oracle_ry_vue_5.X.sql b/script/sql/oracle/oracle_ry_vue_5.X.sql index dcab9cfa5..b6bcfb1ea 100644 --- a/script/sql/oracle/oracle_ry_vue_5.X.sql +++ b/script/sql/oracle/oracle_ry_vue_5.X.sql @@ -623,6 +623,10 @@ 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'); @@ -707,6 +711,7 @@ 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_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql index 2b1d23d56..b64ba8ba2 100644 --- a/script/sql/postgres/postgres_ry_vue_5.X.sql +++ b/script/sql/postgres/postgres_ry_vue_5.X.sql @@ -624,6 +624,10 @@ 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'); @@ -708,6 +712,7 @@ 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/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql index 42d791fe0..555abd910 100644 --- a/script/sql/ry_vue_5.X.sql +++ b/script/sql/ry_vue_5.X.sql @@ -448,6 +448,10 @@ 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'); @@ -532,6 +536,7 @@ 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/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql index 47d7c15f2..82bfd171e 100644 --- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql +++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql @@ -2494,6 +2494,14 @@ INSERT sys_role_menu VALUES (3, 118); GO INSERT sys_role_menu VALUES (3, 123); GO +INSERT sys_role_menu VALUES (3, 130); +GO +INSERT sys_role_menu VALUES (3, 131); +GO +INSERT sys_role_menu VALUES (3, 132); +GO +INSERT sys_role_menu VALUES (3, 133); +GO INSERT sys_role_menu VALUES (3, 500); GO INSERT sys_role_menu VALUES (3, 501); @@ -2662,6 +2670,8 @@ INSERT sys_role_menu VALUES (3, 11642); GO INSERT sys_role_menu VALUES (3, 11643); GO +INSERT sys_role_menu VALUES (3, 11701); +GO INSERT sys_role_menu VALUES (4, 5); GO INSERT sys_role_menu VALUES (4, 1500); From daf79683b3e6cec105c18d56f55d04d5f8f36e26 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:22:14 +0800 Subject: [PATCH 4/5] =?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_vue_5.X.sql | 3 +++ script/sql/postgres/postgres_ry_vue_5.X.sql | 3 +++ script/sql/ry_vue_5.X.sql | 3 +++ script/sql/sqlserver/sqlserver_ry_vue_5.X.sql | 6 ++++++ 4 files changed, 15 insertions(+) diff --git a/script/sql/oracle/oracle_ry_vue_5.X.sql b/script/sql/oracle/oracle_ry_vue_5.X.sql index b6bcfb1ea..baf00494d 100644 --- a/script/sql/oracle/oracle_ry_vue_5.X.sql +++ b/script/sql/oracle/oracle_ry_vue_5.X.sql @@ -700,8 +700,11 @@ 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'); diff --git a/script/sql/postgres/postgres_ry_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql index b64ba8ba2..ce836c405 100644 --- a/script/sql/postgres/postgres_ry_vue_5.X.sql +++ b/script/sql/postgres/postgres_ry_vue_5.X.sql @@ -701,8 +701,11 @@ 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'); diff --git a/script/sql/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql index 555abd910..9c9bad517 100644 --- a/script/sql/ry_vue_5.X.sql +++ b/script/sql/ry_vue_5.X.sql @@ -525,8 +525,11 @@ 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'); diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql index 82bfd171e..6a66f0ac2 100644 --- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql +++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql @@ -2648,10 +2648,16 @@ INSERT sys_role_menu VALUES (3, 1622); GO INSERT sys_role_menu VALUES (3, 1623); GO +INSERT sys_role_menu VALUES (3, 11616); +GO INSERT sys_role_menu VALUES (3, 11618); GO INSERT sys_role_menu VALUES (3, 11619); GO +INSERT sys_role_menu VALUES (3, 11622); +GO +INSERT sys_role_menu VALUES (3, 11623); +GO INSERT sys_role_menu VALUES (3, 11629); GO INSERT sys_role_menu VALUES (3, 11632); From 2e50e307783fdfe4d6f6f13f00da81e2958dd39e 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:15:47 +0800 Subject: [PATCH 5/5] =?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 e44fdbc29..da4394756 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); } } }