From a2371d570725163f3ad9ecee8725f16c839b1e2a Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 18:06:53 +0800
Subject: [PATCH] fix(ums): 资料变更列表按提交人过滤,查看全部需审核权限
---
yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java
index e50cc8f..fb118dc 100644
--- a/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java
+++ b/yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.ums.controller.admin.member.vo.profile.UmsMemberProfileChangePageReqVO;
import cn.iocoder.yudao.module.ums.controller.admin.member.vo.profile.UmsMemberProfileChangeSaveReqVO;
import cn.iocoder.yudao.module.ums.dal.dataobject.member.UmsMemberDO;
@@ -35,11 +36,17 @@
private static final int SUMMARY_MAX_LENGTH = 1000;
+ /** 璧勬枡鍙樻洿瀹℃牳鏉冮檺锛氭嫢鏈夎鏉冮檺锛堟垨涓鸿秴绾х鐞嗗憳锛夊嵆鍙煡鐪嬪叏閮ㄧ敵璇� */
+ private static final String PERMISSION_CHANGE_AUDIT = "ums:member:change:audit";
+
@Resource
private UmsMemberMapper memberMapper;
@Resource
private UmsMemberProfileChangeMapper changeMapper;
+
+ @Resource
+ private PermissionApi permissionApi;
@Override
public UmsMemberDO getMyProfile() {
@@ -75,7 +82,22 @@
@Override
public PageResult<UmsMemberProfileChangeDO> getChangePage(UmsMemberProfileChangePageReqVO reqVO) {
- return changeMapper.selectPage(reqVO);
+ Long loginUserId = getLoginUserId();
+ // 鏃犵櫥褰曟�佹椂杩斿洖绌猴紝閬垮厤鎻愪氦浜烘潯浠朵负绌哄鑷撮��鍖栨垚鏌ュ叏閮�
+ if (loginUserId == null) {
+ return PageResult.empty();
+ }
+ // 鏈夊鏍告潈闄愶紙鍚秴绾х鐞嗗憳锛夊彲鏌ョ湅鍏ㄩ儴鐢宠锛涘叾浣欎汉鍙兘鐪嬪埌鑷繁鎻愪氦鐨勮褰曪紝
+ // 鍚﹀垯鏅�氫細鍛樺嚟 ums:member:change:query 灏辫兘缈诲埌鍏朵粬浼氬憳鐨勮仈绯绘柟寮忕瓑璧勬枡銆�
+ if (canViewAllChanges(loginUserId)) {
+ return changeMapper.selectPageBySubmitter(reqVO, null);
+ }
+ return changeMapper.selectPageBySubmitter(reqVO, loginUserId);
+ }
+
+ /** 鏄惁鏈夋煡鐪嬪叏閮ㄨ祫鏂欏彉鏇寸敵璇风殑鏉冮檺锛氬鏍告潈闄愭垨瓒呯骇绠$悊鍛橈紙hasAnyPermissions 鍐呭惈瓒呯鍏滃簳锛� */
+ private boolean canViewAllChanges(Long userId) {
+ return permissionApi.hasAnyPermissions(userId, PERMISSION_CHANGE_AUDIT);
}
@Override
--
Gitblit v1.9.3