package com.mortals.xhx.module.study.model;

import java.math.BigDecimal;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.study.model.vo.StudyStatVo;
/**
* 学习统计实体对象
*
* @author zxfei
* @date 2023-03-06
*/

public class StudyStatEntity extends StudyStatVo {
    private static final long serialVersionUID = 1L;

    /**
    * 站点Id，来源基础服务平台
    */
    private Long siteId;
    /**
    * 题目总数
    */
    private Integer projectTotalCount;
    /**
    * 昨日新增项目数量
    */
    private Integer projectAddCount;
    /**
    * 学习人数数量
    */
    private Integer studyPersonCount;
    /**
    * 学习率
    */
    private BigDecimal studyPersonRatio;
    /**
    * 未学习人数数量
    */
    private Integer unStudyPersonCount;
    /**
    * 未学习率
    */
    private BigDecimal unStudyPersonRatio;
    /**
    * 今日消息推送数量
    */
    private Integer pushTotalCount;
    /**
    * 昨日新增减少数量
    */
    private Integer pushAddCount;
    /**
    * 年
    */
    private Integer year;
    /**
    * 月
    */
    private Integer month;
    /**
    * 日
    */
    private Integer day;



    public StudyStatEntity(){}
    /**
    * 获取 站点Id，来源基础服务平台
    * @return Long
    */
    public Long getSiteId(){
        return siteId;
    }
    /**
    * 设置 站点Id，来源基础服务平台
    * @param siteId
    */
    public void setSiteId(Long siteId){
        this.siteId = siteId;
    }
    /**
    * 获取 题目总数
    * @return Integer
    */
    public Integer getProjectTotalCount(){
        return projectTotalCount;
    }
    /**
    * 设置 题目总数
    * @param projectTotalCount
    */
    public void setProjectTotalCount(Integer projectTotalCount){
        this.projectTotalCount = projectTotalCount;
    }
    /**
    * 获取 昨日新增项目数量
    * @return Integer
    */
    public Integer getProjectAddCount(){
        return projectAddCount;
    }
    /**
    * 设置 昨日新增项目数量
    * @param projectAddCount
    */
    public void setProjectAddCount(Integer projectAddCount){
        this.projectAddCount = projectAddCount;
    }
    /**
    * 获取 学习人数数量
    * @return Integer
    */
    public Integer getStudyPersonCount(){
        return studyPersonCount;
    }
    /**
    * 设置 学习人数数量
    * @param studyPersonCount
    */
    public void setStudyPersonCount(Integer studyPersonCount){
        this.studyPersonCount = studyPersonCount;
    }
    /**
    * 获取 学习率
    * @return BigDecimal
    */
    public BigDecimal getStudyPersonRatio(){
        return studyPersonRatio;
    }
    /**
    * 设置 学习率
    * @param studyPersonRatio
    */
    public void setStudyPersonRatio(BigDecimal studyPersonRatio){
        this.studyPersonRatio = studyPersonRatio;
    }
    /**
    * 获取 未学习人数数量
    * @return Integer
    */
    public Integer getUnStudyPersonCount(){
        return unStudyPersonCount;
    }
    /**
    * 设置 未学习人数数量
    * @param unStudyPersonCount
    */
    public void setUnStudyPersonCount(Integer unStudyPersonCount){
        this.unStudyPersonCount = unStudyPersonCount;
    }
    /**
    * 获取 未学习率
    * @return BigDecimal
    */
    public BigDecimal getUnStudyPersonRatio(){
        return unStudyPersonRatio;
    }
    /**
    * 设置 未学习率
    * @param unStudyPersonRatio
    */
    public void setUnStudyPersonRatio(BigDecimal unStudyPersonRatio){
        this.unStudyPersonRatio = unStudyPersonRatio;
    }
    /**
    * 获取 今日消息推送数量
    * @return Integer
    */
    public Integer getPushTotalCount(){
        return pushTotalCount;
    }
    /**
    * 设置 今日消息推送数量
    * @param pushTotalCount
    */
    public void setPushTotalCount(Integer pushTotalCount){
        this.pushTotalCount = pushTotalCount;
    }
    /**
    * 获取 昨日新增减少数量
    * @return Integer
    */
    public Integer getPushAddCount(){
        return pushAddCount;
    }
    /**
    * 设置 昨日新增减少数量
    * @param pushAddCount
    */
    public void setPushAddCount(Integer pushAddCount){
        this.pushAddCount = pushAddCount;
    }
    /**
    * 获取 年
    * @return Integer
    */
    public Integer getYear(){
        return year;
    }
    /**
    * 设置 年
    * @param year
    */
    public void setYear(Integer year){
        this.year = year;
    }
    /**
    * 获取 月
    * @return Integer
    */
    public Integer getMonth(){
        return month;
    }
    /**
    * 设置 月
    * @param month
    */
    public void setMonth(Integer month){
        this.month = month;
    }
    /**
    * 获取 日
    * @return Integer
    */
    public Integer getDay(){
        return day;
    }
    /**
    * 设置 日
    * @param day
    */
    public void setDay(Integer day){
        this.day = day;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof StudyStatEntity) {
            StudyStatEntity tmp = (StudyStatEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",siteId:").append(getSiteId());
        sb.append(",projectTotalCount:").append(getProjectTotalCount());
        sb.append(",projectAddCount:").append(getProjectAddCount());
        sb.append(",studyPersonCount:").append(getStudyPersonCount());
        sb.append(",studyPersonRatio:").append(getStudyPersonRatio());
        sb.append(",unStudyPersonCount:").append(getUnStudyPersonCount());
        sb.append(",unStudyPersonRatio:").append(getUnStudyPersonRatio());
        sb.append(",pushTotalCount:").append(getPushTotalCount());
        sb.append(",pushAddCount:").append(getPushAddCount());
        sb.append(",year:").append(getYear());
        sb.append(",month:").append(getMonth());
        sb.append(",day:").append(getDay());
        return sb.toString();
    }

    public void initAttrValue(){

            this.siteId = null;

            this.projectTotalCount = 0;

            this.projectAddCount = 0;

            this.studyPersonCount = 0;

            this.studyPersonRatio = BigDecimal.valueOf(0.00);

            this.unStudyPersonCount = 0;

            this.unStudyPersonRatio = BigDecimal.valueOf(0.00);

            this.pushTotalCount = 0;

            this.pushAddCount = 0;

            this.year = null;

            this.month = null;

            this.day = null;
    }
}