# Code generated by Lark OpenAPI.

from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type
from lark_oapi.core.construct import init
from .annual_vc_org_cnt import AnnualVcOrgCnt
from .annual_base_top_ai import AnnualBaseTopAi


class UserReport2025(object):
    _types = {
        "user_id": str,
        "tenant_all_cnt": int,
        "user_register_date": str,
        "feishu_active_days": int,
        "feishu_duration_busy_month": str,
        "feishu_duration_busy_month_hours": float,
        "busy_month_send_msg_cnt": int,
        "busy_month_edit_doc_cnt": int,
        "busy_month_read_doc_cnt": int,
        "busy_month_join_meeting_cnt": int,
        "busy_month_meeting_duration": float,
        "im_talked_chat_cnt": int,
        "im_private_chat_cnt": int,
        "im_send_msg_cnt": int,
        "im_emoji_top1": str,
        "im_emoji_top1_cnt": int,
        "im_emoji_top2": str,
        "im_emoji_top2_cnt": int,
        "im_emoji_top3": str,
        "im_emoji_top3_cnt": int,
        "ccm_create_fcnt": int,
        "ccm_create_rank": int,
        "ccm_create_rank_ucnt": int,
        "ccm_create_viewed_ucnt": int,
        "ccm_create_liked_cnt": int,
        "ccm_create_viewed_most_ucnt": int,
        "ccm_all_read_doc_cnt": int,
        "docs_ai_quickview_use_cnt": int,
        "vc_join_meeting_cnt": int,
        "vc_join_meeting_duration": float,
        "vc_org_meeting_cnt": List[AnnualVcOrgCnt],
        "ai_notes_create_cnt": int,
        "ai_notes_read_cnt": int,
        "knowledge_ai_use_cnt": int,
        "knowledge_ai_use_busy_day": str,
        "knowledge_ai_use_busy_day_cnt": int,
        "base_create_fcnt": int,
        "base_ai_top1_name_map": List[AnnualBaseTopAi],
        "base_create_view_ucnt": int,
        "base_most_rows_cnt": int,
        "base_create_dashboard_cnt": int,
        "base_workflow_create_cnt": int,
        "base_workflow_ins_cnt": int,
        "aily_develop_app_cnt": int,
        "aily_develop_app_active_ucnt": int,
        "aily_develop_active_most_app_intents": int,
        "aily_chat_cnt": int,
        "aily_artifact_create_cnt": int,
        "apaas_develop_app_cnt": int,
        "apaas_develop_app_active_ucnt": int,
        "apaas_develop_active_most_app_ucnt": int,
        "apaas_develop_ai_run_cnt": int,
        "meego_is_project_admin": int,
        "meego_create_wi_cnt": int,
        "meego_create_wi_role_ucnt": int,
        "meego_most_view_wi_ucnt": int,
        "meego_set_ai_field_cnt": int,
        "meego_ai_field_run_cnt": int,
        "meego_ai_gantt_use_cnt": int,
        "meego_ai_weekly_report_use_cnt": int,
    }

    def __init__(self, d=None):
        self.user_id: Optional[str] = None
        self.tenant_all_cnt: Optional[int] = None
        self.user_register_date: Optional[str] = None
        self.feishu_active_days: Optional[int] = None
        self.feishu_duration_busy_month: Optional[str] = None
        self.feishu_duration_busy_month_hours: Optional[float] = None
        self.busy_month_send_msg_cnt: Optional[int] = None
        self.busy_month_edit_doc_cnt: Optional[int] = None
        self.busy_month_read_doc_cnt: Optional[int] = None
        self.busy_month_join_meeting_cnt: Optional[int] = None
        self.busy_month_meeting_duration: Optional[float] = None
        self.im_talked_chat_cnt: Optional[int] = None
        self.im_private_chat_cnt: Optional[int] = None
        self.im_send_msg_cnt: Optional[int] = None
        self.im_emoji_top1: Optional[str] = None
        self.im_emoji_top1_cnt: Optional[int] = None
        self.im_emoji_top2: Optional[str] = None
        self.im_emoji_top2_cnt: Optional[int] = None
        self.im_emoji_top3: Optional[str] = None
        self.im_emoji_top3_cnt: Optional[int] = None
        self.ccm_create_fcnt: Optional[int] = None
        self.ccm_create_rank: Optional[int] = None
        self.ccm_create_rank_ucnt: Optional[int] = None
        self.ccm_create_viewed_ucnt: Optional[int] = None
        self.ccm_create_liked_cnt: Optional[int] = None
        self.ccm_create_viewed_most_ucnt: Optional[int] = None
        self.ccm_all_read_doc_cnt: Optional[int] = None
        self.docs_ai_quickview_use_cnt: Optional[int] = None
        self.vc_join_meeting_cnt: Optional[int] = None
        self.vc_join_meeting_duration: Optional[float] = None
        self.vc_org_meeting_cnt: Optional[List[AnnualVcOrgCnt]] = None
        self.ai_notes_create_cnt: Optional[int] = None
        self.ai_notes_read_cnt: Optional[int] = None
        self.knowledge_ai_use_cnt: Optional[int] = None
        self.knowledge_ai_use_busy_day: Optional[str] = None
        self.knowledge_ai_use_busy_day_cnt: Optional[int] = None
        self.base_create_fcnt: Optional[int] = None
        self.base_ai_top1_name_map: Optional[List[AnnualBaseTopAi]] = None
        self.base_create_view_ucnt: Optional[int] = None
        self.base_most_rows_cnt: Optional[int] = None
        self.base_create_dashboard_cnt: Optional[int] = None
        self.base_workflow_create_cnt: Optional[int] = None
        self.base_workflow_ins_cnt: Optional[int] = None
        self.aily_develop_app_cnt: Optional[int] = None
        self.aily_develop_app_active_ucnt: Optional[int] = None
        self.aily_develop_active_most_app_intents: Optional[int] = None
        self.aily_chat_cnt: Optional[int] = None
        self.aily_artifact_create_cnt: Optional[int] = None
        self.apaas_develop_app_cnt: Optional[int] = None
        self.apaas_develop_app_active_ucnt: Optional[int] = None
        self.apaas_develop_active_most_app_ucnt: Optional[int] = None
        self.apaas_develop_ai_run_cnt: Optional[int] = None
        self.meego_is_project_admin: Optional[int] = None
        self.meego_create_wi_cnt: Optional[int] = None
        self.meego_create_wi_role_ucnt: Optional[int] = None
        self.meego_most_view_wi_ucnt: Optional[int] = None
        self.meego_set_ai_field_cnt: Optional[int] = None
        self.meego_ai_field_run_cnt: Optional[int] = None
        self.meego_ai_gantt_use_cnt: Optional[int] = None
        self.meego_ai_weekly_report_use_cnt: Optional[int] = None
        init(self, d, self._types)

    @staticmethod
    def builder() -> "UserReport2025Builder":
        return UserReport2025Builder()


class UserReport2025Builder(object):
    def __init__(self) -> None:
        self._user_report2025 = UserReport2025()

    def user_id(self, user_id: str) -> "UserReport2025Builder":
        self._user_report2025.user_id = user_id
        return self

    def tenant_all_cnt(self, tenant_all_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.tenant_all_cnt = tenant_all_cnt
        return self

    def user_register_date(self, user_register_date: str) -> "UserReport2025Builder":
        self._user_report2025.user_register_date = user_register_date
        return self

    def feishu_active_days(self, feishu_active_days: int) -> "UserReport2025Builder":
        self._user_report2025.feishu_active_days = feishu_active_days
        return self

    def feishu_duration_busy_month(self, feishu_duration_busy_month: str) -> "UserReport2025Builder":
        self._user_report2025.feishu_duration_busy_month = feishu_duration_busy_month
        return self

    def feishu_duration_busy_month_hours(self, feishu_duration_busy_month_hours: float) -> "UserReport2025Builder":
        self._user_report2025.feishu_duration_busy_month_hours = feishu_duration_busy_month_hours
        return self

    def busy_month_send_msg_cnt(self, busy_month_send_msg_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.busy_month_send_msg_cnt = busy_month_send_msg_cnt
        return self

    def busy_month_edit_doc_cnt(self, busy_month_edit_doc_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.busy_month_edit_doc_cnt = busy_month_edit_doc_cnt
        return self

    def busy_month_read_doc_cnt(self, busy_month_read_doc_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.busy_month_read_doc_cnt = busy_month_read_doc_cnt
        return self

    def busy_month_join_meeting_cnt(self, busy_month_join_meeting_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.busy_month_join_meeting_cnt = busy_month_join_meeting_cnt
        return self

    def busy_month_meeting_duration(self, busy_month_meeting_duration: float) -> "UserReport2025Builder":
        self._user_report2025.busy_month_meeting_duration = busy_month_meeting_duration
        return self

    def im_talked_chat_cnt(self, im_talked_chat_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_talked_chat_cnt = im_talked_chat_cnt
        return self

    def im_private_chat_cnt(self, im_private_chat_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_private_chat_cnt = im_private_chat_cnt
        return self

    def im_send_msg_cnt(self, im_send_msg_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_send_msg_cnt = im_send_msg_cnt
        return self

    def im_emoji_top1(self, im_emoji_top1: str) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top1 = im_emoji_top1
        return self

    def im_emoji_top1_cnt(self, im_emoji_top1_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top1_cnt = im_emoji_top1_cnt
        return self

    def im_emoji_top2(self, im_emoji_top2: str) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top2 = im_emoji_top2
        return self

    def im_emoji_top2_cnt(self, im_emoji_top2_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top2_cnt = im_emoji_top2_cnt
        return self

    def im_emoji_top3(self, im_emoji_top3: str) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top3 = im_emoji_top3
        return self

    def im_emoji_top3_cnt(self, im_emoji_top3_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.im_emoji_top3_cnt = im_emoji_top3_cnt
        return self

    def ccm_create_fcnt(self, ccm_create_fcnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_fcnt = ccm_create_fcnt
        return self

    def ccm_create_rank(self, ccm_create_rank: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_rank = ccm_create_rank
        return self

    def ccm_create_rank_ucnt(self, ccm_create_rank_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_rank_ucnt = ccm_create_rank_ucnt
        return self

    def ccm_create_viewed_ucnt(self, ccm_create_viewed_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_viewed_ucnt = ccm_create_viewed_ucnt
        return self

    def ccm_create_liked_cnt(self, ccm_create_liked_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_liked_cnt = ccm_create_liked_cnt
        return self

    def ccm_create_viewed_most_ucnt(self, ccm_create_viewed_most_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_create_viewed_most_ucnt = ccm_create_viewed_most_ucnt
        return self

    def ccm_all_read_doc_cnt(self, ccm_all_read_doc_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.ccm_all_read_doc_cnt = ccm_all_read_doc_cnt
        return self

    def docs_ai_quickview_use_cnt(self, docs_ai_quickview_use_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.docs_ai_quickview_use_cnt = docs_ai_quickview_use_cnt
        return self

    def vc_join_meeting_cnt(self, vc_join_meeting_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.vc_join_meeting_cnt = vc_join_meeting_cnt
        return self

    def vc_join_meeting_duration(self, vc_join_meeting_duration: float) -> "UserReport2025Builder":
        self._user_report2025.vc_join_meeting_duration = vc_join_meeting_duration
        return self

    def vc_org_meeting_cnt(self, vc_org_meeting_cnt: List[AnnualVcOrgCnt]) -> "UserReport2025Builder":
        self._user_report2025.vc_org_meeting_cnt = vc_org_meeting_cnt
        return self

    def ai_notes_create_cnt(self, ai_notes_create_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.ai_notes_create_cnt = ai_notes_create_cnt
        return self

    def ai_notes_read_cnt(self, ai_notes_read_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.ai_notes_read_cnt = ai_notes_read_cnt
        return self

    def knowledge_ai_use_cnt(self, knowledge_ai_use_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.knowledge_ai_use_cnt = knowledge_ai_use_cnt
        return self

    def knowledge_ai_use_busy_day(self, knowledge_ai_use_busy_day: str) -> "UserReport2025Builder":
        self._user_report2025.knowledge_ai_use_busy_day = knowledge_ai_use_busy_day
        return self

    def knowledge_ai_use_busy_day_cnt(self, knowledge_ai_use_busy_day_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.knowledge_ai_use_busy_day_cnt = knowledge_ai_use_busy_day_cnt
        return self

    def base_create_fcnt(self, base_create_fcnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_create_fcnt = base_create_fcnt
        return self

    def base_ai_top1_name_map(self, base_ai_top1_name_map: List[AnnualBaseTopAi]) -> "UserReport2025Builder":
        self._user_report2025.base_ai_top1_name_map = base_ai_top1_name_map
        return self

    def base_create_view_ucnt(self, base_create_view_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_create_view_ucnt = base_create_view_ucnt
        return self

    def base_most_rows_cnt(self, base_most_rows_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_most_rows_cnt = base_most_rows_cnt
        return self

    def base_create_dashboard_cnt(self, base_create_dashboard_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_create_dashboard_cnt = base_create_dashboard_cnt
        return self

    def base_workflow_create_cnt(self, base_workflow_create_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_workflow_create_cnt = base_workflow_create_cnt
        return self

    def base_workflow_ins_cnt(self, base_workflow_ins_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.base_workflow_ins_cnt = base_workflow_ins_cnt
        return self

    def aily_develop_app_cnt(self, aily_develop_app_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.aily_develop_app_cnt = aily_develop_app_cnt
        return self

    def aily_develop_app_active_ucnt(self, aily_develop_app_active_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.aily_develop_app_active_ucnt = aily_develop_app_active_ucnt
        return self

    def aily_develop_active_most_app_intents(self,
                                             aily_develop_active_most_app_intents: int) -> "UserReport2025Builder":
        self._user_report2025.aily_develop_active_most_app_intents = aily_develop_active_most_app_intents
        return self

    def aily_chat_cnt(self, aily_chat_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.aily_chat_cnt = aily_chat_cnt
        return self

    def aily_artifact_create_cnt(self, aily_artifact_create_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.aily_artifact_create_cnt = aily_artifact_create_cnt
        return self

    def apaas_develop_app_cnt(self, apaas_develop_app_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.apaas_develop_app_cnt = apaas_develop_app_cnt
        return self

    def apaas_develop_app_active_ucnt(self, apaas_develop_app_active_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.apaas_develop_app_active_ucnt = apaas_develop_app_active_ucnt
        return self

    def apaas_develop_active_most_app_ucnt(self, apaas_develop_active_most_app_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.apaas_develop_active_most_app_ucnt = apaas_develop_active_most_app_ucnt
        return self

    def apaas_develop_ai_run_cnt(self, apaas_develop_ai_run_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.apaas_develop_ai_run_cnt = apaas_develop_ai_run_cnt
        return self

    def meego_is_project_admin(self, meego_is_project_admin: int) -> "UserReport2025Builder":
        self._user_report2025.meego_is_project_admin = meego_is_project_admin
        return self

    def meego_create_wi_cnt(self, meego_create_wi_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_create_wi_cnt = meego_create_wi_cnt
        return self

    def meego_create_wi_role_ucnt(self, meego_create_wi_role_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_create_wi_role_ucnt = meego_create_wi_role_ucnt
        return self

    def meego_most_view_wi_ucnt(self, meego_most_view_wi_ucnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_most_view_wi_ucnt = meego_most_view_wi_ucnt
        return self

    def meego_set_ai_field_cnt(self, meego_set_ai_field_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_set_ai_field_cnt = meego_set_ai_field_cnt
        return self

    def meego_ai_field_run_cnt(self, meego_ai_field_run_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_ai_field_run_cnt = meego_ai_field_run_cnt
        return self

    def meego_ai_gantt_use_cnt(self, meego_ai_gantt_use_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_ai_gantt_use_cnt = meego_ai_gantt_use_cnt
        return self

    def meego_ai_weekly_report_use_cnt(self, meego_ai_weekly_report_use_cnt: int) -> "UserReport2025Builder":
        self._user_report2025.meego_ai_weekly_report_use_cnt = meego_ai_weekly_report_use_cnt
        return self

    def build(self) -> "UserReport2025":
        return self._user_report2025
