package com.hzs.system.config.dto;

import com.hzs.common.domain.bonus.BdBonusDeduct;
import com.hzs.common.domain.bonus.BdBonusService;
import com.hzs.common.domain.system.config.*;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.system.sys.dto.BdCurrencyDTO;
import lombok.Data;

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

/**
 * 一次查询将需要的奖金所有参数全部都查询出来，返回到cuMember
 */
@Data
public class BonusConfigDTO implements Serializable {

    /**
     * 汇率 key 第一个键国家主键 第二个键 汇率主键
     */
    private Map<String, BdCurrencyDTO> currencyDtoMap;

    /**
     * 奖金项
     */
    private Map<String, BdBonusItemsExt> bonusItemsExtMap;

    /**
     * 直推奖励配置 key 第一个键国家主键 ，第二个键 range_type+pk_level
     */
    private Map<String, BonusDirectDTO> bonusDirectDtoMap;

    /**
     * 一次性补差 key 国家作为主键，只有一条
     */
    private Map<Integer, BonusDifferenceDTO> bonusDifferenceDtoMap;

    /**
     * 复购推荐奖励配置 key第一个键国家主键，第二个键 代数
     */
    private Map<Integer, Map<Integer, BonusRepurchasePushDTO>> bonusRepurchasePushMap;

    /**
     * 新零售团队等级
     */
    private List<BdGrade> retaiGradeList;

    /**
     * 奖金扣项 需要主键 奖金主键
     */
    private Map<Integer, BdBonusDeduct> bonusDeductsMap;

    /**
     * 报单服务费 需要主键 memberSettleExt.getPkSettleCountry().toString() + memberSettleExt.getservicetype()
     */
    private Map<String, BdBonusService> bonusServiceMap;

}
