package com.mydreamjob.application.dto; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDateTime; import java.util.List; /** * 企业候选人列表项视图 — 不返回 studentUserId、phone、coverLetter、内部字段 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class CandidateItemView { private Long applicationId; private Long jobId; private String jobTitle; private String status; private String candidateName; private String candidateSchool; private String candidateEducation; private Short candidateGraduationYear; private String candidateAvatarUrl; private LocalDateTime createdAt; private LocalDateTime updatedAt; /** 岗位匹配度(0-100 整数),全部排序下一致返回 */ private Integer matchScore; /** 岗位匹配理由(简短短语,企业内部信息),全部排序下一致返回 */ private List matchReasons; }