package com.ssj.service.conch.parents.dto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author chchen
 */
public class KnowledgeSkillDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 维度数组
     */
    private List<String> dimension;

    /**
     * 学生知识维度数组
     */
    private List<Integer> thisMonthTrueCount;

    /**
     * v1版本废弃
     */
    private List<Integer> lastMonthTrueCount;

    /**
     * 所有学生知识维度平均数组
     */
    private List<Integer> overallAvgTrueCount;

    /**
     * 诊断说明
     */
    private String diagnostic;

    /**
     * 学习建议
     */
    private List<Map<String, String>> leaningSuggest;

    public KnowledgeSkillDto () {
        dimension = new ArrayList<>();
        thisMonthTrueCount = new ArrayList<>();
        lastMonthTrueCount = new ArrayList<>();
        overallAvgTrueCount = new ArrayList<>();
        leaningSuggest = new ArrayList<>();
    }

    public List<String> getDimension() {
        return dimension;
    }

    public void setDimension(List<String> dimension) {
        this.dimension = dimension;
    }

    public void addDimension (String dimension){
        this.dimension.add(dimension);
    }

    public List<Integer> getThisMonthTrueCount() {
        return thisMonthTrueCount;
    }

    public void setThisMonthTrueCount(List<Integer> thisMonthTrueCount) {
        this.thisMonthTrueCount = thisMonthTrueCount;
    }
    public void addThisCount (int count) {
        this.thisMonthTrueCount.add(count);
    }

    public List<Integer> getLastMonthTrueCount() {
        return lastMonthTrueCount;
    }

    public void setLastMonthTrueCount(List<Integer> lastMonthTrueCount) {
        this.lastMonthTrueCount = lastMonthTrueCount;
    }

    public void addLastCount (int count) {
        this.lastMonthTrueCount.add(count);
    }

    public List<Integer> getOverallAvgTrueCount() {
        return overallAvgTrueCount;
    }

    public void setOverallAvgTrueCount(List<Integer> overallAvgTrueCount) {
        this.overallAvgTrueCount = overallAvgTrueCount;
    }

    public void addAvgCount (int count) {
        this.overallAvgTrueCount.add(count);
    }

    public String getDiagnostic() {
        return diagnostic;
    }

    public void setDiagnostic(String diagnostic) {
        this.diagnostic = diagnostic;
    }

    public List<Map<String, String>> getLeaningSuggest() {
        return leaningSuggest;
    }

    public void setLeaningSuggest(List<Map<String, String>> leaningSuggest) {
        this.leaningSuggest = leaningSuggest;
    }

    public void addSuggest (String title, String content) {
        Map<String, String> temp = new HashMap<>();
        temp.put("title", title);
        temp.put("content", content);
        this.leaningSuggest.add(temp);
    }
}
