from collections.abc import Mapping from typing import Any, TypeVar from attrs import define as _attrs_define from attrs import field as _attrs_field T = TypeVar("T", bound="AdStatistic") @_attrs_define class AdStatistic: """ Attributes: visit_with_reward_count (int): visit_without_reward_count (int): balance (int): total_amount (int): visit_like_count (int): reward_count (int): reward_amount (int): visit_link_click_count (int): status (int): """ visit_with_reward_count: int visit_without_reward_count: int balance: int total_amount: int visit_like_count: int reward_count: int reward_amount: int visit_link_click_count: int status: int additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) def to_dict(self) -> dict[str, Any]: visit_with_reward_count = self.visit_with_reward_count visit_without_reward_count = self.visit_without_reward_count balance = self.balance total_amount = self.total_amount visit_like_count = self.visit_like_count reward_count = self.reward_count reward_amount = self.reward_amount visit_link_click_count = self.visit_link_click_count status = self.status field_dict: dict[str, Any] = {} field_dict.update(self.additional_properties) field_dict.update( { "visit_with_reward_count": visit_with_reward_count, "visit_without_reward_count": visit_without_reward_count, "balance": balance, "total_amount": total_amount, "visit_like_count": visit_like_count, "reward_count": reward_count, "reward_amount": reward_amount, "visit_link_click_count": visit_link_click_count, "status": status, } ) return field_dict @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: d = dict(src_dict) visit_with_reward_count = d.pop("visit_with_reward_count") visit_without_reward_count = d.pop("visit_without_reward_count") balance = d.pop("balance") total_amount = d.pop("total_amount") visit_like_count = d.pop("visit_like_count") reward_count = d.pop("reward_count") reward_amount = d.pop("reward_amount") visit_link_click_count = d.pop("visit_link_click_count") status = d.pop("status") ad_statistic = cls( visit_with_reward_count=visit_with_reward_count, visit_without_reward_count=visit_without_reward_count, balance=balance, total_amount=total_amount, visit_like_count=visit_like_count, reward_count=reward_count, reward_amount=reward_amount, visit_link_click_count=visit_link_click_count, status=status, ) ad_statistic.additional_properties = d return ad_statistic @property def additional_keys(self) -> list[str]: return list(self.additional_properties.keys()) def __getitem__(self, key: str) -> Any: return self.additional_properties[key] def __setitem__(self, key: str, value: Any) -> None: self.additional_properties[key] = value def __delitem__(self, key: str) -> None: del self.additional_properties[key] def __contains__(self, key: str) -> bool: return key in self.additional_properties