From dc643ba44fd2a426263015491268a0f0d6b4671d Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期三, 01 十月 2025 08:39:29 +0800
Subject: [PATCH] 删除包含test、check、fix的文件名的文件

---
 backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java |   56 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 13 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java b/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java
index 62583da..397796e 100644
--- a/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java
+++ b/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java
@@ -15,20 +15,43 @@
     private EntityManager em;
 
     /**
-     * 璇诲彇鎶ュ悕鐢宠锛屾寜鎶ュ悕鏃堕棿鍊掑簭
-     * 娉ㄦ剰锛氬疄闄呭簱琛ㄤ负 t_avtivity_player锛堟嫾鍐欎互搴撲负鍑嗭級
+     * 鏌ヨ娲诲姩鎶ュ悕淇℃伅
+     * 褰撲紶鍏ctivityId鏃讹紝鏌ヨ璇ユ瘮璧涗笅绗竴涓樁娈碉紙sort_order=1锛夌殑鎶ュ悕椤圭洰
      */
     @SuppressWarnings("unchecked")
-    public List<ActivityPlayerApplicationResponse> listApplications(String name, Integer page, Integer size) {
+    public List<ActivityPlayerApplicationResponse> listApplications(String name, Long activityId, Integer state, Integer page, Integer size) {
         String baseSql =
-            "SELECT ap.id, p.name AS player_name, a.name AS activity_name, p.phone AS phone, ap.create_time AS apply_time, p.audit_state AS state " +
-            "FROM t_avtivity_player ap " +
+            "SELECT ap.id, p.name AS player_name, stage.name AS activity_name, ap.project_name AS project_name, p.phone AS phone, ap.create_time AS apply_time, ap.state AS state " +
+            "FROM t_activity_player ap " +
             "JOIN t_player p ON p.id = ap.player_id " +
-            "JOIN t_activity a ON a.id = ap.activity_id ";
-        String where = "";
+            "JOIN t_activity stage ON stage.id = ap.stage_id ";
+        
+        StringBuilder whereClause = new StringBuilder();
+        boolean hasCondition = false;
+        
         if (name != null && !name.isEmpty()) {
-            where = "WHERE p.name LIKE CONCAT('%', :name, '%') ";
+            whereClause.append("p.name LIKE CONCAT('%', :name, '%')");
+            hasCondition = true;
         }
+        
+        if (activityId != null) {
+            if (hasCondition) {
+                whereClause.append(" AND ");
+            }
+            // 鏌ヨ鎸囧畾涓绘瘮璧涚殑绗竴闃舵鎶ュ悕椤圭洰锛歛ctivity_id=涓绘瘮璧汭D, stage_id=绗竴闃舵ID
+            whereClause.append("ap.activity_id = :activityId AND stage.pid = :activityId AND stage.sort_order = 1");
+            hasCondition = true;
+        }
+        
+        if (state != null) {
+            if (hasCondition) {
+                whereClause.append(" AND ");
+            }
+            whereClause.append("ap.state = :state");
+            hasCondition = true;
+        }
+        
+        String where = hasCondition ? "WHERE " + whereClause.toString() + " " : "";
         String order = "ORDER BY ap.create_time DESC ";
         String limit = "";
         if (page != null && size != null && page > 0 && size > 0) {
@@ -37,8 +60,14 @@
         }
 
         var q = em.createNativeQuery(baseSql + where + order + limit);
-        if (!where.isEmpty()) {
+        if (name != null && !name.isEmpty()) {
             q.setParameter("name", name);
+        }
+        if (activityId != null) {
+            q.setParameter("activityId", activityId);
+        }
+        if (state != null) {
+            q.setParameter("state", state);
         }
         List<Object[]> rows = q.getResultList();
         List<ActivityPlayerApplicationResponse> list = new ArrayList<>();
@@ -47,10 +76,11 @@
             dto.setId(r[0] != null ? Long.valueOf(r[0].toString()) : null); // activity_player_id
             dto.setPlayerName(r[1] != null ? r[1].toString() : "");
             dto.setActivityName(r[2] != null ? r[2].toString() : "");
-            dto.setPhone(r[3] != null ? r[3].toString() : "");
-            dto.setApplyTime(r[4] != null ? r[4].toString() : "");
-            // 鏄犲皠鐘舵�侊細浣跨敤 t_player.audit_state锛�0=鏈鏍革紝1=杩涜涓紝2=宸查┏鍥烇紝3=缁撴潫锛�
-            dto.setState(r[5] != null ? Integer.valueOf(r[5].toString()) : 0);
+            dto.setProjectName(r[3] != null ? r[3].toString() : ""); // project_name
+            dto.setPhone(r[4] != null ? r[4].toString() : "");
+            dto.setApplyTime(r[5] != null ? r[5].toString() : "");
+            // 鏄犲皠鐘舵�侊細浣跨敤 t_activity_player.state锛�0=鏈鏍革紝1=瀹℃牳閫氳繃锛�2=瀹℃牳椹冲洖锛�
+            dto.setState(r[6] != null ? Integer.valueOf(r[6].toString()) : 0);
             list.add(dto);
         }
         return list;

--
Gitblit v1.8.0