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/judge/entity/Judge.java |   65 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 13 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/judge/entity/Judge.java b/backend/src/main/java/com/rongyichuang/judge/entity/Judge.java
index 8597aa1..8b02dd4 100644
--- a/backend/src/main/java/com/rongyichuang/judge/entity/Judge.java
+++ b/backend/src/main/java/com/rongyichuang/judge/entity/Judge.java
@@ -1,11 +1,15 @@
 package com.rongyichuang.judge.entity;
 
 import com.rongyichuang.common.entity.BaseEntity;
+import com.rongyichuang.tag.entity.Tag;
 import jakarta.persistence.*;
-import java.util.List;
+import org.hibernate.annotations.Where;
+import java.util.HashSet;
+import java.util.Set;
 
 @Entity
 @Table(name = "t_judge")
+@Where(clause = "state = 1")
 public class Judge extends BaseEntity {
 
     @Column(name = "name", length = 64, nullable = false)
@@ -20,23 +24,34 @@
     @Column(name = "gender")
     private Integer gender; // 0-濂�, 1-鐢�
 
-    @Column(name = "state", nullable = false)
-    private Integer state = 1; // 鐘舵�侊細1-姝e父
-
     @Column(name = "role_id")
     private Long roleId;
 
-    @Column(name = "description", length = 255)
+    @Column(name = "description")
     private String description;
 
-    // 涓撲笟鏍囩锛堝瀵瑰鍏崇郴锛�
-    @ManyToMany
+    @Column(name = "title")
+    private String title;
+
+    @Column(name = "company")
+    private String company;
+
+    @Column(name = "introduction")
+    private String introduction;
+
+    /**
+     * 鐘舵�侊細1-姝e父锛�0-鍒犻櫎
+     */
+    @Column(name = "state", nullable = false)
+    private Integer state = 1;
+
+    @ManyToMany(fetch = FetchType.LAZY)
     @JoinTable(
-        name = "t_judge_tag",
-        joinColumns = @JoinColumn(name = "judge_id"),
-        inverseJoinColumns = @JoinColumn(name = "tag_id")
+            name = "t_judge_tag",
+            joinColumns = @JoinColumn(name = "judge_id"),
+            inverseJoinColumns = @JoinColumn(name = "tag_id")
     )
-    private List<Tag> specialties;
+    private Set<Tag> specialties = new HashSet<>();
 
     // Getter and Setter methods
     public String getName() {
@@ -95,11 +110,35 @@
         this.description = description;
     }
 
-    public List<Tag> getSpecialties() {
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCompany() {
+        return company;
+    }
+
+    public void setCompany(String company) {
+        this.company = company;
+    }
+
+    public String getIntroduction() {
+        return introduction;
+    }
+
+    public void setIntroduction(String introduction) {
+        this.introduction = introduction;
+    }
+
+    public Set<Tag> getSpecialties() {
         return specialties;
     }
 
-    public void setSpecialties(List<Tag> specialties) {
+    public void setSpecialties(Set<Tag> specialties) {
         this.specialties = specialties;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0