From ba94ceae1315174798ae1967ef62268c6d16cd5b Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期一, 06 十月 2025 22:07:06 +0800
Subject: [PATCH] feat: 评审与活动相关改动 - backend(GraphQL): Activity schema 增加 updateActivityState(id, state);实现 resolver/service 仅更新 state=2 作为逻辑删除 - backend(GraphQL): region.graphqls 新增 Query leafRegions - backend(GraphQL): player.graphqls 的 projectReviewApplications 增加可选参数 regionId - backend(Service): listProjectReviewApplications 绑定 regionId 参数,修复 QueryParameterException - frontend(web): 新增 api/activity.js 的 updateActivityState 并接入 activity-list 删除逻辑 - frontend(web): review-list.vue 权限仅校验登录,移除角色限制;查询参数修正为 name/regionId - frontend(web): 删除未引用的 ActivityList.vue - frontend(web): projectReviewNew.js GraphQL 查询增加 name 参数

---
 backend/src/main/java/com/rongyichuang/activity/service/ActivityService.java |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/activity/service/ActivityService.java b/backend/src/main/java/com/rongyichuang/activity/service/ActivityService.java
index c5254f0..845d515 100644
--- a/backend/src/main/java/com/rongyichuang/activity/service/ActivityService.java
+++ b/backend/src/main/java/com/rongyichuang/activity/service/ActivityService.java
@@ -60,25 +60,22 @@
     /**
      * 鍒嗛〉鏌ヨ姣旇禌鍒楄〃
      */
-    public PageResponse<ActivityResponse> findActivities(PageRequest pageRequest, String name) {
+    public PageResponse<ActivityResponse> findActivities(PageRequest pageRequest, String name, Integer state) {
         Pageable pageable = pageRequest.toPageable();
         Page<Activity> page;
 
-        if (StringUtils.hasText(name)) {
+        boolean hasName = StringUtils.hasText(name);
+        if (state != null) {
+            if (hasName) {
+                page = activityRepository.findByPidAndStateAndNameContainingOrderByCreateTimeDesc(0L, state, name, pageable);
+            } else {
+                page = activityRepository.findByPidAndStateOrderByCreateTimeDesc(0L, state, pageable);
+            }
+        } else if (hasName) {
             page = activityRepository.findByPidAndNameContainingOrderByCreateTimeDesc(0L, name, pageable);
         } else {
             // 鏌ヨ鎵�鏈変富娲诲姩锛坧id = 0锛�
             page = activityRepository.findByPidOrderByCreateTimeDesc(0L, pageable);
-        }
-
-        // 璋冭瘯锛氭墦鍗板垎椤靛師濮嬫椿鍔ㄧ殑鎶ュ悕鎴鏃堕棿
-        try {
-            log.info("鍒嗛〉鏌ヨ姣旇禌鍒楄〃锛氭�绘暟={}, 褰撳墠椤�={}, 姣忛〉={}", page.getTotalElements(), page.getNumber(), page.getSize());
-            page.getContent().stream().limit(10).forEach(a ->
-                log.info("Activity(id={}, name={}) signupDeadline={}, matchTime={}", a.getId(), a.getName(), a.getSignupDeadline(), a.getMatchTime())
-            );
-        } catch (Exception e) {
-            log.warn("鎵撳嵃娲诲姩鎶ュ悕鎴鏃堕棿鏃ュ織澶辫触: {}", e.getMessage());
         }
 
         List<ActivityResponse> content = page.getContent().stream()
@@ -372,6 +369,17 @@
         }
         return false;
     }
+
+    public boolean updateActivityState(Long id, Integer state) {
+        Optional<Activity> activityOpt = activityRepository.findById(id);
+        if (activityOpt.isPresent()) {
+            Activity activity = activityOpt.get();
+            activity.setState(state);
+            activityRepository.save(activity);
+            return true;
+        }
+        return false;
+    }
     
     /**
      * 鑾峰彇鎵�鏈夋湁鏁堜富姣旇禌锛堢敤浜庝笅鎷夐�夋嫨锛�

--
Gitblit v1.8.0