From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 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 03f19a7..772be77 100644
--- a/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java
+++ b/backend/src/main/java/com/rongyichuang/player/service/PlayerApplicationService.java
@@ -23,11 +23,19 @@
@SuppressWarnings("unchecked")
public PageResponse<ActivityPlayerApplicationResponse> listApplications(String name, Long activityId, Integer state, Integer page, Integer size) {
String baseSql =
- "SELECT ap.id, CONCAT(p.name, '锛�', ap.project_name, '锛�') AS player_name, parent.name AS activity_name, ap.project_name AS project_name, p.phone AS phone, ap.create_time AS apply_time, ap.state AS state " +
+ "SELECT ap.id, p.name AS player_name, parent.name AS activity_name, ap.project_name AS project_name, u.phone AS phone, ap.create_time AS apply_time, ap.state AS state, " +
+ "COALESCE(rating_stats.rating_count, 0) AS rating_count, rating_stats.average_score " +
"FROM t_activity_player ap " +
"JOIN t_player p ON p.id = ap.player_id " +
+ "JOIN t_user u ON u.id = p.user_id " +
"JOIN t_activity stage ON stage.id = ap.stage_id " +
- "JOIN t_activity parent ON parent.id = stage.pid ";
+ "JOIN t_activity parent ON parent.id = stage.pid " +
+ "LEFT JOIN (" +
+ " SELECT activity_player_id, COUNT(*) AS rating_count, AVG(total_score) AS average_score " +
+ " FROM t_activity_player_rating " +
+ " WHERE state = 1 " +
+ " GROUP BY activity_player_id" +
+ ") rating_stats ON rating_stats.activity_player_id = ap.id ";
StringBuilder whereClause = new StringBuilder();
boolean hasCondition = false;
@@ -76,6 +84,7 @@
if (activityId != null) {
q.setParameter("activityId", activityId);
}
+
if (state != null) {
q.setParameter("state", state);
}
@@ -119,12 +128,13 @@
* 涓巐istApplications鐨勫尯鍒細涓嶈繃婊ゅ璧涘拰鍐宠禌闃舵
*/
@SuppressWarnings("unchecked")
- public PageResponse<ActivityPlayerApplicationResponse> listProjectReviewApplications(String name, Long activityId, Integer state, Integer page, Integer size) {
+ public PageResponse<ActivityPlayerApplicationResponse> listProjectReviewApplications(String name, Long activityId, Long regionId, Integer state, Integer page, Integer size) {
String baseSql =
- "SELECT ap.id, CONCAT(p.name, '锛�', ap.project_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, " +
+ "SELECT ap.id, CONCAT(p.name, '锛�', ap.project_name, '锛�') AS player_name, stage.name AS activity_name, ap.project_name AS project_name, u.phone AS phone, ap.create_time AS apply_time, ap.state AS state, " +
"COALESCE(rating_stats.rating_count, 0) AS rating_count, rating_stats.average_score " +
"FROM t_activity_player ap " +
"JOIN t_player p ON p.id = ap.player_id " +
+ "JOIN t_user u ON u.id = p.user_id " +
"JOIN t_activity stage ON stage.id = ap.stage_id " +
"LEFT JOIN (" +
" SELECT activity_player_id, COUNT(*) AS rating_count, AVG(total_score) AS average_score " +
@@ -152,6 +162,14 @@
}
// 鐩存帴鏌ヨ鎸囧畾闃舵ID鐨勬姤鍚嶉」鐩�
whereClause.append("ap.stage_id = :activityId");
+ hasCondition = true;
+ }
+
+ if (regionId != null) {
+ if (hasCondition) {
+ whereClause.append(" AND ");
+ }
+ whereClause.append("ap.region_id = :regionId");
hasCondition = true;
}
@@ -190,6 +208,9 @@
if (activityId != null) {
q.setParameter("activityId", activityId);
}
+ if (regionId != null) {
+ q.setParameter("regionId", regionId);
+ }
if (state != null) {
q.setParameter("state", state);
}
--
Gitblit v1.8.0