def exchange_mystical_item(p, req):
    cid, [index, item_type, item_id] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        return CONNECTION_LOSE

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    res_err = user.excite_activity_mgr.exchange_mystical_item( index, item_type, item_id )

    return res_err
def get_group_buy_package(p, req):
    cid, [buy_type] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )
    
    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    
    res = yield user.excite_activity_mgr.buy_group_package(buy_type)
    defer.returnValue( res )
def exchange_happynewyear_package(p, req):
    cid, = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )
    
    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    
    res = yield user.excite_activity_mgr.exchange_happy_new_year()
    defer.returnValue( res )
def dig_treasure_by_credits(p, req):
    cid, [t_type, count] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )
    
    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)

    res = yield user.excite_activity_mgr.get_dig_treasure_reward(t_type, count) 
    defer.returnValue( res )
def get_limit_fellow_status(p, req):
    cid, = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)

    res_err = yield user.excite_activity_mgr.limit_fellow_mgr.limit_fellow_info()
    defer.returnValue( res_err )
def exchange_limited(p, req):
    cid, ( exchange_id, ) = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    res_err = yield user.excite_activity_mgr.exchange_limited_mgr.do_exchange( exchange_id )

    defer.returnValue( res_err )
def refresh_mystical_shop(p, req):
    cid, [refresh_type] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)

    mystical_info = yield user.excite_activity_mgr.mystical_info( refresh_type )

    defer.returnValue( mystical_info )
def get_group_buy_package_reward(p, req):
    cid, [buy_type, buy_count] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )
 
    if buy_count <= 0:
        defer.returnValue( REQUEST_LIMIT_ERROR )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    
    res = yield user.excite_activity_mgr.get_group_buy_reward(buy_type, buy_count)
    defer.returnValue( res )
def limit_fellow_randcard(p, req):
    cid, [rand_type] = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )

    # 检查活动状态 1-开启或 0-关闭
    _status = check_excite_activity_status( EXCITE_LIMIT_FELLOW )
    if not _status:
        defer.returnValue( EXCITE_ACTIVITY_STOP_ERROR )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)

    res_err = yield user.excite_activity_mgr.limit_fellow_mgr.randcard(rand_type)
    defer.returnValue( res_err )
def lock_exchange_material(p, req):
    cid, ( exchange_id, lock_type ) = req

    user = g_UserMgr.getUser(cid)
    if not user:
        log.error('Can not find user. cid: {0}.'.format( cid ))
        defer.returnValue( CONNECTION_LOSE )

    # 检查活动状态 1-开启或 0-关闭
    _status = check_excite_activity_status( EXCITE_EXCHANGE_LIMITED )
    if not _status:
        defer.returnValue( EXCITE_ACTIVITY_STOP_ERROR )

    if not hasattr(user, 'excite_activity_mgr'):
        user.excite_activity_mgr = GSExciteActivityMgr(user)
    res_err = yield user.excite_activity_mgr.exchange_limited_mgr.lock_exchange_material( exchange_id, lock_type )

    defer.returnValue( res_err )