package com.rongyichuang.player.entity; import com.rongyichuang.common.entity.BaseEntity; import com.rongyichuang.region.entity.Region; import jakarta.persistence.*; import java.math.BigDecimal; /** * 活动选手实体类 * 对应数据库表:t_activity_player */ @Entity @Table(name = "t_activity_player") public class ActivityPlayer extends BaseEntity { /** * 活动ID */ @Column(name = "activity_id", nullable = false) private Long activityId; /** * 阶段ID */ @Column(name = "stage_id") private Long stageId; /** * 选手ID */ @Column(name = "player_id", nullable = false) private Long playerId; /** * 区域ID,关联t_region表 */ @Column(name = "region_id") private Long regionId; /** * 描述 */ @Column(name = "description", columnDefinition = "TEXT") private String description; /** * 驳回原因 */ @Column(name = "reject_reason", length = 500) private String rejectReason; /** * 评委ID */ @Column(name = "judge_id") private Long judgeId; /** * 反馈 */ @Column(name = "feedback", columnDefinition = "TEXT") private String feedback; /** * 总分 */ @Column(name = "total_score", precision = 10, scale = 2) private BigDecimal totalScore; /** * 排名 */ @Column(name = "rank") private Integer rank; // JPA关联关系 /** * 关联选手信息 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "player_id", insertable = false, updatable = false) private Player player; /** * 关联区域信息 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "region_id", insertable = false, updatable = false) private Region region; // 构造函数 public ActivityPlayer() {} public ActivityPlayer(Long activityId, Long playerId, String description) { this.activityId = activityId; this.playerId = playerId; this.description = description; } public ActivityPlayer(Long activityId, Long stageId, Long playerId, Long regionId, String description) { this.activityId = activityId; this.stageId = stageId; this.playerId = playerId; this.regionId = regionId; this.description = description; } // Getter和Setter方法 public Long getActivityId() { return activityId; } public void setActivityId(Long activityId) { this.activityId = activityId; } public Long getStageId() { return stageId; } public void setStageId(Long stageId) { this.stageId = stageId; } public Long getPlayerId() { return playerId; } public void setPlayerId(Long playerId) { this.playerId = playerId; } public Long getRegionId() { return regionId; } public void setRegionId(Long regionId) { this.regionId = regionId; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getRejectReason() { return rejectReason; } public void setRejectReason(String rejectReason) { this.rejectReason = rejectReason; } public Long getJudgeId() { return judgeId; } public void setJudgeId(Long judgeId) { this.judgeId = judgeId; } public String getFeedback() { return feedback; } public void setFeedback(String feedback) { this.feedback = feedback; } public BigDecimal getTotalScore() { return totalScore; } public void setTotalScore(BigDecimal totalScore) { this.totalScore = totalScore; } public Integer getRank() { return rank; } public void setRank(Integer rank) { this.rank = rank; } public Player getPlayer() { return player; } public void setPlayer(Player player) { this.player = player; } public Region getRegion() { return region; } public void setRegion(Region region) { this.region = region; } @Override public String toString() { return "ActivityPlayer{" + "id=" + getId() + ", activityId=" + activityId + ", stageId=" + stageId + ", playerId=" + playerId + ", regionId=" + regionId + ", description='" + description + '\'' + ", totalScore=" + totalScore + ", rank=" + rank + '}'; } }