package cn.teammodel.model.entity.appraise;

import cn.teammodel.model.entity.BaseItem;
import com.azure.spring.data.cosmos.core.mapping.Container;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 一个学生在一个学年(学校+学年 = 分区键)的所有评价记录 <br/>
 * 注意: 唯一定位: academicYearId(学年-{semesterId}) + studentId + code(AppraiseRecord-{schoolId})
 * @author winter
 * @create 2023-11-27 11:02
 */
@EqualsAndHashCode(callSuper = true)
@Container(containerName = "Student")
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AppraiseRecord extends BaseItem {
    /**
     * 学段 id
     */
    private String periodId;
    /**
    * 班级 id
    */
    private String classId;
    private String className;
    /**
    * 学年(组合 id: 学年-semesterId -> 2023-{semesterId})
    */
    private String academicYearId;
    /**
    * 学生/class id
    */
    private String targetId;
    private String targetType;
    /**
    * 学生/class 名字
    */
    private String name;
    /**
    * 学生/class 头像
    */
    private String avatar;
    private String gender;
    /**
    * 表扬次数
    */
    private Integer praiseCount;
    private Integer criticizeCount;
    /**
    * 学生得分
    */
    private Integer score;
    private List<AppraiseRecordItem> nodes;

}
