You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.2 KiB
76 lines
2.2 KiB
package com.mydreamjob.assessment;
|
|
|
|
import jakarta.persistence.*;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
import org.springframework.data.annotation.CreatedDate;
|
|
import org.springframework.data.annotation.LastModifiedDate;
|
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
/**
|
|
* 测评定义(V34/V35)。
|
|
*
|
|
* <p>{@code questionCount} 为题库总题数(72),{@code attemptQuestionCount} 为每次答卷抽题数(30),
|
|
* {@code minPerDimension} 为每个维度最少抽题数(5)。</p>
|
|
*/
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Entity
|
|
@Table(name = "assessment_definitions")
|
|
@EntityListeners(AuditingEntityListener.class)
|
|
public class AssessmentDefinition {
|
|
|
|
public static final String STATUS_ACTIVE = "ACTIVE";
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@Column(name = "type_code", nullable = false, length = 40)
|
|
private String typeCode;
|
|
|
|
@Column(name = "display_name", nullable = false, length = 100)
|
|
private String displayName;
|
|
|
|
@Column(length = 1000)
|
|
private String description;
|
|
|
|
@Column(columnDefinition = "TEXT")
|
|
private String instructions;
|
|
|
|
@Column(nullable = false, length = 20)
|
|
@Builder.Default
|
|
private String status = STATUS_ACTIVE;
|
|
|
|
@Column(name = "scale_type", nullable = false, length = 20)
|
|
private String scaleType;
|
|
|
|
@Column(name = "question_count", nullable = false)
|
|
private Integer questionCount;
|
|
|
|
@Column(name = "attempt_question_count", nullable = false)
|
|
private Integer attemptQuestionCount;
|
|
|
|
@Column(name = "min_per_dimension", nullable = false)
|
|
private Integer minPerDimension;
|
|
|
|
@Column(name = "question_set_version", nullable = false, length = 40)
|
|
private String questionSetVersion;
|
|
|
|
@Column(name = "rules_version", nullable = false, length = 40)
|
|
private String rulesVersion;
|
|
|
|
@CreatedDate
|
|
@Column(name = "created_at", nullable = false, updatable = false)
|
|
private LocalDateTime createdAt;
|
|
|
|
@LastModifiedDate
|
|
@Column(name = "updated_at", nullable = false)
|
|
private LocalDateTime updatedAt;
|
|
}
|