/*
 * @Author: Kane
 * @Date: 2023-06-06 17:35:54
 * @LastEditors: Kane
 * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/archievement/caller/CallerArchievementQueryResult.java
 * @Description: 
 * 
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 */
package com.cpic.xim.web.controllers.archievement.caller;

import com.cpic.xim.mybatis.pojo.MensualArchievementItem;
import com.cpic.xim.web.controllers.QueryResponse;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;

public class CallerArchievementQueryResult extends QueryResponse
{
    /**
     * 
     * @param success
     * @param message
     * @param callerCode
     * @param callerName
     * @param totalArchievement
     * @param mensualArchievementList
     * @param insuranceRenewalRate
     * @param attachingRate
     */
    public CallerArchievementQueryResult( boolean success, String message, String callerCode,
            String callerName, long totalArchievement,
            ArrayList<MensualArchievementItem> mensualArchievementList, String insuranceRenewalRate,
            String attachingRate)
    {
        super( success, message );
        this.callerCode = callerCode;
        this.callerName = callerName;
        this.totalArchievement = totalArchievement;
        this.mensualArchievementList = mensualArchievementList;
        this.insuranceRenewalRate = insuranceRenewalRate;
        this.attachingRate = attachingRate;
    }

    @JsonProperty("callerCode")
    String callerCode;

    public String getCallerCode()
    {
        return callerCode;
    }

    public void setCallerCode( String callerCode )
    {
        this.callerCode = callerCode;
    }

    public String getCallerName()
    {
        return callerName;
    }

    public void setCallerName( String callerName )
    {
        this.callerName = callerName;
    }

    public long getTotalArchievement()
    {
        return totalArchievement;
    }

    public void setTotalArchievement( long totalArchievement )
    {
        this.totalArchievement = totalArchievement;
    }

    public ArrayList<MensualArchievementItem> getMensualArchievementList()
    {
        return mensualArchievementList;
    }

    public void setMensualArchievementList( ArrayList<MensualArchievementItem> mensualArchievementList )
    {
        this.mensualArchievementList = mensualArchievementList;
    }

    public String getInsuranceRenewalRate()
    {
        return insuranceRenewalRate;
    }

    public void setInsuranceRenewalRate( String insuranceRenewalRate )
    {
        this.insuranceRenewalRate = insuranceRenewalRate;
    }

    public String getAttachingRate()
    {
        return attachingRate;
    }

    public void setAttachingRate( String attachingRate )
    {
        this.attachingRate = attachingRate;
    }

    @JsonProperty("callerName")
    String callerName;

    @JsonProperty( "total_archievement" )
    private long totalArchievement; // 总业绩

    // 每月业绩列表
    // 要保证数据是按照月份排序。
    @JsonProperty( "mensual_archievement_list" )
    private ArrayList<MensualArchievementItem> mensualArchievementList;

    @JsonProperty( "insurance_renewal_rate" )
    private String insuranceRenewalRate; // 续保率

    @JsonProperty( "attaching_rate" )
    private String attachingRate; // 车非渗透率
}
