lrj
8 天以前 6d519474e44855682043d3c40db2c86a6822caca
backend/src/main/java/com/rongyichuang/activity/entity/ActivityPlayerRatingItem.java
@@ -14,10 +14,46 @@
public class ActivityPlayerRatingItem extends BaseEntity {
    /**
     * 活动ID
     */
    @Column(name = "activity_id", nullable = false)
    private Long activityId;
    /**
     * 活动选手ID
     */
    @Column(name = "activity_player_id", nullable = false)
    private Long activityPlayerId;
    /**
     * 活动选手评分ID(关联t_activity_player_rating表)
     */
    @Column(name = "activity_player_rating_id", nullable = false)
    private Long activityPlayerRatingId;
    /**
     * 阶段ID
     */
    @Column(name = "stage_id", nullable = false)
    private Long stageId;
    /**
     * 选手ID
     */
    @Column(name = "player_id", nullable = false)
    private Long playerId;
    /**
     * 评委ID
     */
    @Column(name = "judge_id", nullable = false)
    private Long judgeId;
    /**
     * 评分方案ID
     */
    @Column(name = "rating_scheme_id", nullable = false)
    private Long ratingSchemeId;
    /**
     * 评分项ID(关联t_rating_item表)
@@ -26,66 +62,89 @@
    private Long ratingItemId;
    /**
     * 评分项名称(冗余字段,便于查询)
     */
    @Column(name = "rating_item_name", length = 100)
    private String ratingItemName;
    /**
     * 评分项权重(冗余字段,便于计算)
     */
    @Column(name = "weight", precision = 5, scale = 2)
    private BigDecimal weight;
    /**
     * 评分项满分(冗余字段,便于计算)
     */
    @Column(name = "max_score", precision = 10, scale = 2)
    private BigDecimal maxScore;
    /**
     * 实际得分
     */
    @Column(name = "score", precision = 10, scale = 2, nullable = false)
    private BigDecimal score;
    /**
     * 加权得分(score * weight)
     * 备注
     */
    @Column(name = "weighted_score", precision = 10, scale = 2)
    private BigDecimal weightedScore;
    /**
     * 评分备注
     */
    @Column(name = "remark", length = 500)
    @Column(name = "feedback", columnDefinition = "TEXT")
    private String remark;
    // 构造函数
    public ActivityPlayerRatingItem() {}
    public ActivityPlayerRatingItem(Long activityPlayerRatingId, Long ratingItemId,
                                   String ratingItemName, BigDecimal weight,
                                   BigDecimal maxScore, BigDecimal score) {
    public ActivityPlayerRatingItem(Long activityId, Long activityPlayerId, Long activityPlayerRatingId,
                                   Long stageId, Long playerId, Long judgeId, Long ratingSchemeId,
                                   Long ratingItemId, BigDecimal score) {
        this.activityId = activityId;
        this.activityPlayerId = activityPlayerId;
        this.activityPlayerRatingId = activityPlayerRatingId;
        this.stageId = stageId;
        this.playerId = playerId;
        this.judgeId = judgeId;
        this.ratingSchemeId = ratingSchemeId;
        this.ratingItemId = ratingItemId;
        this.ratingItemName = ratingItemName;
        this.weight = weight;
        this.maxScore = maxScore;
        this.score = score;
        // 计算加权得分
        if (score != null && weight != null) {
            this.weightedScore = score.multiply(weight);
        }
    }
    // Getter和Setter方法
    public Long getActivityId() {
        return activityId;
    }
    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }
    public Long getActivityPlayerId() {
        return activityPlayerId;
    }
    public void setActivityPlayerId(Long activityPlayerId) {
        this.activityPlayerId = activityPlayerId;
    }
    public Long getActivityPlayerRatingId() {
        return activityPlayerRatingId;
    }
    public void setActivityPlayerRatingId(Long activityPlayerRatingId) {
        this.activityPlayerRatingId = activityPlayerRatingId;
    }
    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 getJudgeId() {
        return judgeId;
    }
    public void setJudgeId(Long judgeId) {
        this.judgeId = judgeId;
    }
    public Long getRatingSchemeId() {
        return ratingSchemeId;
    }
    public void setRatingSchemeId(Long ratingSchemeId) {
        this.ratingSchemeId = ratingSchemeId;
    }
    public Long getRatingItemId() {
@@ -96,48 +155,12 @@
        this.ratingItemId = ratingItemId;
    }
    public String getRatingItemName() {
        return ratingItemName;
    }
    public void setRatingItemName(String ratingItemName) {
        this.ratingItemName = ratingItemName;
    }
    public BigDecimal getWeight() {
        return weight;
    }
    public void setWeight(BigDecimal weight) {
        this.weight = weight;
        // 重新计算加权得分
        updateWeightedScore();
    }
    public BigDecimal getMaxScore() {
        return maxScore;
    }
    public void setMaxScore(BigDecimal maxScore) {
        this.maxScore = maxScore;
    }
    public BigDecimal getScore() {
        return score;
    }
    public void setScore(BigDecimal score) {
        this.score = score;
        // 重新计算加权得分
        updateWeightedScore();
    }
    public BigDecimal getWeightedScore() {
        return weightedScore;
    }
    public void setWeightedScore(BigDecimal weightedScore) {
        this.weightedScore = weightedScore;
    }
    public String getRemark() {
@@ -148,36 +171,13 @@
        this.remark = remark;
    }
    /**
     * 更新加权得分
     */
    private void updateWeightedScore() {
        if (score != null && weight != null) {
            this.weightedScore = score.multiply(weight);
        }
    }
    /**
     * 计算得分率(实际得分/满分)
     */
    public BigDecimal getScoreRate() {
        if (score != null && maxScore != null && maxScore.compareTo(BigDecimal.ZERO) > 0) {
            return score.divide(maxScore, 4, BigDecimal.ROUND_HALF_UP);
        }
        return BigDecimal.ZERO;
    }
    @Override
    public String toString() {
        return "ActivityPlayerRatingItem{" +
                "id=" + getId() +
                ", activityPlayerRatingId=" + activityPlayerRatingId +
                ", ratingItemId=" + ratingItemId +
                ", ratingItemName='" + ratingItemName + '\'' +
                ", weight=" + weight +
                ", maxScore=" + maxScore +
                ", score=" + score +
                ", weightedScore=" + weightedScore +
                ", remark='" + remark + '\'' +
                '}';
    }