import betterproto
from game_server.net.session import Session
from lib.proto import (
    GetDropLimitActivityReq,
    GetDropLimitActivityRsp,
    DropLimitActivity,
    DropLimitItem
)

async def handle(session: Session, msg: GetDropLimitActivityReq) -> betterproto.Message:
    return GetDropLimitActivityRsp(
        retcode=0,
        drop_limit_activity_list=[
            DropLimitActivity(
                activity_id=1,
                begin_time=1576029600,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        limit_id=101
                    ),
                    DropLimitItem(
                        limit_id=201
                    ),
                    DropLimitItem(
                        limit_id=301
                    ),
                    DropLimitItem(
                        limit_id=401
                    )
                ],
                end_time=1891735200
            ),
            DropLimitActivity(
                activity_id=38,
                begin_time=1624500000,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        limit_id=3001
                    ),
                    DropLimitItem(
                        got_num=3800,
                        limit_id=3002
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3003
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3004
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3005
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3006
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3007
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3008
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3010
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3013
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3014
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3015
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3016
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3017
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3019
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3021
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3022
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3026
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3027
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3028
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3031
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3032
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3035
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3036
                    ),
                    DropLimitItem(
                        got_num=210,
                        limit_id=3040
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3042
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3043
                    ),
                    DropLimitItem(
                        got_num=430,
                        limit_id=3045
                    ),
                    DropLimitItem(
                        got_num=430,
                        limit_id=3047
                    ),
                    DropLimitItem(
                        got_num=430,
                        limit_id=3048
                    ),
                    DropLimitItem(
                        got_num=1500,
                        limit_id=3049
                    ),
                    DropLimitItem(
                        got_num=430,
                        limit_id=3050
                    ),
                    DropLimitItem(
                        got_num=465,
                        limit_id=3051
                    ),
                    DropLimitItem(
                        got_num=465,
                        limit_id=3052
                    ),
                    DropLimitItem(
                        got_num=505,
                        limit_id=3054
                    ),
                    DropLimitItem(
                        got_num=505,
                        limit_id=3055
                    )
                ],
                end_time=2068056000
            ),
            DropLimitActivity(
                activity_id=42,
                begin_time=1634004000,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        limit_id=408
                    )
                ],
                end_time=1891735200
            ),
            DropLimitActivity(
                activity_id=45,
                begin_time=1644264000,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        limit_id=4001
                    )
                ],
                end_time=1975780800
            ),
            DropLimitActivity(
                activity_id=47,
                begin_time=1668045600,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        got_num=360,
                        limit_id=4003
                    )
                ],
                end_time=1976558400
            ),
            DropLimitActivity(
                activity_id=48,
                begin_time=1668045600,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        limit_id=4006
                    )
                ],
                end_time=1976558400
            ),
            DropLimitActivity(
                activity_id=49,
                begin_time=1668045600,
                drop_limit_got_num_list=[
                    DropLimitItem(
                        got_num=1050,
                        limit_id=4010
                    ),
                    DropLimitItem(
                        got_num=600,
                        limit_id=4012
                    )
                ],
                end_time=1976558400
            ),
            DropLimitActivity(
                activity_id=50,
                begin_time=1673740800,
                end_time=1976558400
            )
        ]
    )
