From 5d34bdd3c426bb2ca5f6627424ae67984f745603 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 21 十月 2026 18:28:59 +0800
Subject: [PATCH] feat: 新增资产/用车/采购模块,完善课题、会员、财务与企微功能

---
 yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/member/WxCpMemberServiceImpl.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/member/WxCpMemberServiceImpl.java b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/member/WxCpMemberServiceImpl.java
index efdfdd1..2b32fdb 100644
--- a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/member/WxCpMemberServiceImpl.java
+++ b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/member/WxCpMemberServiceImpl.java
@@ -4,6 +4,7 @@
 import cn.iocoder.yudao.module.wxcp.controller.admin.member.vo.WxCpMemberRespVO;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.cp.api.WxCpService;
 import me.chanjar.weixin.cp.bean.WxCpDepart;
 import me.chanjar.weixin.cp.bean.WxCpUser;
@@ -73,7 +74,8 @@
             users = wxCpService.getUserService().listSimpleByDepartment(deptId, child, null);
         } catch (Exception e) {
             log.error("[getMemberList][鑾峰彇浼佷笟寰俊鎴愬憳澶辫触 deptId={} fetchChild={}]", deptId, child, e);
-            throw exception(WXCP_API_ERROR);
+            throwWxCpApiError(e);
+            return List.of();
         }
 
         // 閮ㄩ棬鍚嶆槧灏勶紝鐢ㄤ簬鎶婃垚鍛樼殑閮ㄩ棬ID缈昏瘧鎴愬彲璇诲悕绉�
@@ -94,10 +96,22 @@
             return departs != null ? departs : List.of();
         } catch (Exception e) {
             log.error("[listDeparts][鑾峰彇浼佷笟寰俊閮ㄩ棬澶辫触]", e);
-            throw exception(WXCP_API_ERROR);
+            throwWxCpApiError(e);
+            return List.of();
         }
     }
 
+    /**
+     * 鎶婁紒涓氬井淇℃帴鍙e紓甯歌浆鎴愬甫 errcode/errmsg 鐨勫彲璇绘彁绀猴紝渚夸簬瀹氫綅 IP 鐧藉悕鍗曘�丼ecret 绛夐棶棰�
+     */
+    private void throwWxCpApiError(Exception e) {
+        if (e instanceof WxErrorException wxError && wxError.getError() != null) {
+            throw exception(WXCP_API_ERROR,
+                    wxError.getError().getErrorCode(), wxError.getError().getErrorMsg());
+        }
+        throw exception(WXCP_API_ERROR, "unknown", e.getMessage());
+    }
+
     private WxCpDepartmentRespVO toDeptVO(WxCpDepart depart) {
         WxCpDepartmentRespVO vo = new WxCpDepartmentRespVO();
         vo.setId(depart.getId());

--
Gitblit v1.9.3