package com.designhub.entity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.io.Serializable; import java.time.LocalDateTime; /** * 团队PK实体 */ @Data @TableName("team_pk") public class TeamPK implements Serializable { private static final long serialVersionUID = 1L; @TableId(type = IdType.AUTO) private Long id; /** * PK名称 */ private String name; /** * PK描述 */ private String description; /** * 甲方部门ID */ private Long teamADeptId; /** * 甲方部门名称 */ private String teamAName; /** * 乙方部门ID */ private Long teamBDeptId; /** * 乙方部门名称 */ private String teamBName; /** * 开始时间 */ private LocalDateTime startTime; /** * 结束时间 */ private LocalDateTime endTime; /** * PK维度配置(JSON对象) * 例如:{"taskCount":{"weight":30},"fiveStarCount":{"weight":25},"onTimeRate":{"weight":25},"avgRating":{"weight":20}} */ private String dimensions; /** * 甲方当前得分 */ private Integer teamAScore; /** * 乙方当前得分 */ private Integer teamBScore; /** * 甲方完成任务数 */ private Integer teamATaskCount; /** * 乙方完成任务数 */ private Integer teamBTaskCount; /** * 甲方五星好评数 */ private Integer teamAFiveStarCount; /** * 乙方五星好评数 */ private Integer teamBFiveStarCount; /** * 甲方准时完成率(百分比*100) */ private Integer teamAOnTimeRate; /** * 乙方准时完成率(百分比*100) */ private Integer teamBOnTimeRate; /** * 胜利奖励配置(JSON对象) * 例如:{"winnerReward":200,"loserReward":100,"mvpReward":300} */ private String rewards; /** * PK状态:draft-草稿, scheduled-待开始, active-进行中, ended-已结束, cancelled-已取消 */ private String status; /** * 获胜方:A-甲方, B-乙方, draw-平局, null-未结束 */ private String winner; /** * MVP用户ID */ private Long mvpUserId; /** * 创建人ID */ private Long creatorId; /** * 是否删除:0-否,1-是 */ @TableLogic private Integer deleted; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; // Getters and Setters (手动添加以解决Lombok编译问题) public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Long getTeamADeptId() { return teamADeptId; } public void setTeamADeptId(Long teamADeptId) { this.teamADeptId = teamADeptId; } public String getTeamAName() { return teamAName; } public void setTeamAName(String teamAName) { this.teamAName = teamAName; } public Long getTeamBDeptId() { return teamBDeptId; } public void setTeamBDeptId(Long teamBDeptId) { this.teamBDeptId = teamBDeptId; } public String getTeamBName() { return teamBName; } public void setTeamBName(String teamBName) { this.teamBName = teamBName; } public LocalDateTime getStartTime() { return startTime; } public void setStartTime(LocalDateTime startTime) { this.startTime = startTime; } public LocalDateTime getEndTime() { return endTime; } public void setEndTime(LocalDateTime endTime) { this.endTime = endTime; } public String getDimensions() { return dimensions; } public void setDimensions(String dimensions) { this.dimensions = dimensions; } public Integer getTeamAScore() { return teamAScore; } public void setTeamAScore(Integer teamAScore) { this.teamAScore = teamAScore; } public Integer getTeamBScore() { return teamBScore; } public void setTeamBScore(Integer teamBScore) { this.teamBScore = teamBScore; } public Integer getTeamATaskCount() { return teamATaskCount; } public void setTeamATaskCount(Integer teamATaskCount) { this.teamATaskCount = teamATaskCount; } public Integer getTeamBTaskCount() { return teamBTaskCount; } public void setTeamBTaskCount(Integer teamBTaskCount) { this.teamBTaskCount = teamBTaskCount; } public Integer getTeamAFiveStarCount() { return teamAFiveStarCount; } public void setTeamAFiveStarCount(Integer teamAFiveStarCount) { this.teamAFiveStarCount = teamAFiveStarCount; } public Integer getTeamBFiveStarCount() { return teamBFiveStarCount; } public void setTeamBFiveStarCount(Integer teamBFiveStarCount) { this.teamBFiveStarCount = teamBFiveStarCount; } public Integer getTeamAOnTimeRate() { return teamAOnTimeRate; } public void setTeamAOnTimeRate(Integer teamAOnTimeRate) { this.teamAOnTimeRate = teamAOnTimeRate; } public Integer getTeamBOnTimeRate() { return teamBOnTimeRate; } public void setTeamBOnTimeRate(Integer teamBOnTimeRate) { this.teamBOnTimeRate = teamBOnTimeRate; } public String getRewards() { return rewards; } public void setRewards(String rewards) { this.rewards = rewards; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getWinner() { return winner; } public void setWinner(String winner) { this.winner = winner; } public Long getMvpUserId() { return mvpUserId; } public void setMvpUserId(Long mvpUserId) { this.mvpUserId = mvpUserId; } public Long getCreatorId() { return creatorId; } public void setCreatorId(Long creatorId) { this.creatorId = creatorId; } public Integer getDeleted() { return deleted; } public void setDeleted(Integer deleted) { this.deleted = deleted; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } }