From 2bccc6b024d504d5cafae96e74ec08a8a93a2f7b Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期一, 21 九月 2026 21:56:27 +0800
Subject: [PATCH] bug:收入类型统计数据bug

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |   40 +++++++++++++++++++++++++++++-----------
 1 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index e544dda..21fb2b1 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -355,13 +355,19 @@
             }
             Store store = storeClient.queryStoreById(re.getStoreId());
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
-            String studentId = re.getStudentId();
-            String[] split = studentId.split(";");
             StringBuilder stringBuilder = new StringBuilder("");
-
-            for (String s : split) {
-                Student student = studentClient.queryStudentById(Integer.valueOf(s));
-                stringBuilder.append(student.getName()+",");
+            String studentId = re.getStudentId();
+            if (studentId != null && !studentId.trim().isEmpty()) {
+                String[] split = studentId.split(";");
+                for (String s : split) {
+                    if (s == null || s.trim().isEmpty()) {
+                        continue;
+                    }
+                    Student student = studentClient.queryStudentById(Integer.valueOf(s));
+                    if (student != null) {
+                        stringBuilder.append(student.getName()).append(",");
+                    }
+                }
             }
             String string = stringBuilder.toString();
             if (string.length() > 0) {
@@ -491,11 +497,23 @@
                 }
             }
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
-            String[] split = re.getStudentIds().split(",");
-            Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
-            re.setPayStudent(student.getName());
-            re.setPayUser(appUser.getName());
-            re.setPhone(appUser.getPhone());
+            // 统计接口只关心订单金额;历史订单可能没有关联学员或用户,不能因此整批查询失败。
+            re.setPayStudent("无");
+            if (re.getStudentIds() != null && !re.getStudentIds().trim().isEmpty()) {
+                try {
+                    String[] split = re.getStudentIds().split(",");
+                    Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
+                    if (student != null && student.getName() != null) {
+                        re.setPayStudent(student.getName());
+                    }
+                } catch (NumberFormatException ignored) {
+                    // 历史脏数据按“无学员”返回,避免影响其他有效订单。
+                }
+            }
+            if (appUser != null) {
+                re.setPayUser(appUser.getName());
+                re.setPhone(appUser.getPhone());
+            }
         }
         return res;
     }

--
Gitblit v1.7.1