| | |
| | | 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表) |
| | |
| | | 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() { |
| | |
| | | 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() { |
| | |
| | | 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 + '\'' + |
| | | '}'; |
| | | } |