package com.xuekairui.quiz.vo; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; /** * 首页聚合信息 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class HomeIndexVO { private ExamInfoVO examInfo; private DailyPracticeVO dailyPractice; private List subjects; private List latestExamPapers; @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public static class ExamInfoVO { private String name; private String examDate; private Long daysLeft; } @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public static class DailyPracticeVO { private Boolean hasDone; private Long doneCount; private Integer totalCount; } @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public static class HomeSubjectVO { private Long id; private String name; private String icon; private Integer totalCount; private Long doneCount; private Integer progress; } @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public static class LatestExamPaperVO { private Integer year; private Long subjectId; private String subjectName; private Long questionCount; } }