From d0cf2cb2c352bdeb146aad2bb57ba7d39cef3bbd Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 03 十一月 2026 17:59:04 +0800
Subject: [PATCH] 完善会员审批及门户配置

---
 yudao-module-ums/src/main/java/cn/iocoder/yudao/module/ums/service/member/UmsMemberProfileChangeServiceImpl.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 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..55e45b4 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,15 +36,22 @@
 
     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() {
-        return getLoginMember();
+        Long userId = getLoginUserId();
+        return userId != null ? memberMapper.selectByUserId(userId) : null;
     }
 
     @Override
@@ -75,7 +83,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