コード例 #1
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubrentdo/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # 借りる日数.
     days = self.request.get(Defines.URLQUERY_DAYS)
     days = int(days) if days and days.isdigit() else 0
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 書き込み.
     try:
         db_util.run_in_transaction(self.tr_write, uid, master, days,
                                    self.__now)
     except CabaretError, err:
         if err.code == CabaretError.Code.ALREADY_RECEIVED:
             pass
         elif err.code == CabaretError.Code.ILLEGAL_ARGS:
             self.appRedirect(
                 self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
             return
         else:
             raise
コード例 #2
0
 def process(self):
     # 現在時刻.
     now = OSAUtil.get_now()
     # 各店舗の更新.
     self.updateStore(now)
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 経営情報.
     scoredata_weekly = BackendApi.get_cabaretclub_scoreplayerdata_weekly(
         model_mgr, uid, now - datetime.timedelta(days=7))
     if scoredata_weekly is None:
         self.appRedirect(self.makeAppLinkUrl(UrlMaker.mypage()))
         return
     elif not scoredata_weekly.view_result:
         # 閲覧フラグの更新.
         db_util.run_in_transaction(self.tr_write, uid, scoredata_weekly.id)
     # 演出用パラメータ.
     if self.getFromPageName() == Defines.FromPages.CABACLUB_STORE:
         url = UrlMaker.cabaclubtop()
     else:
         url = UrlMaker.mypage()
     params = dict(
         backUrl=self.makeAppLinkUrl(url),
         proceeds=scoredata_weekly.proceeds,
         customer=scoredata_weekly.customer,
         cast=randint(0, 2),
     )
     self.appRedirectToEffect('cb_system/result/effect.html', params)
コード例 #3
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubopen/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         # 存在しない.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     mid = master.id
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     try:
         db_util.run_in_transaction(self.tr_write, uid, master, self.__now)
     except CabaretError, err:
         if err.code == CabaretError.Code.ALREADY_RECEIVED:
             pass
         elif err.code == CabaretError.Code.ILLEGAL_ARGS:
             self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
             return
         else:
             raise
コード例 #4
0
    def process(self):
        args = self.getUrlArgs('/promotiontop/')
        appname = args.get(0)
        is_recipient = bool(int(self.request.get(Defines.URLQUERY_FLAG, '0')))
        self.html_param['is_recipient'] = is_recipient
        
        model_mgr = self.getModelMgr()
        v_player = self.getViewerPlayer()
        if PlayerCrossPromotion.is_session():
            self.html_param['is_pc'] = self.is_pc
            if self.is_pc:
                # self.html_param['url_goh'] = 'http://rcv.ixd.dmm.com/api/surl?urid=NmcO0Hxz'
                # self.html_param['url_harepai'] = 'http://rcv.ixd.dmm.com/api/surl?urid=XzIUBerr'
                # self.html_param['url_sengoku'] = 'http://www.dmm.co.jp/netgame/feature/sengokuaibu.html'
                self.html_param['url_avst'] = 'http://www.dmm.co.jp/netgame/social/-/gadgets/=/app_id=445699/'
                self.html_param['url_noahs_gate'] = 'http://www.dmm.co.jp/netgame/social/-/gadgets/=/app_id=223705/'
            else:
                # self.html_param['url_goh'] = 'http://rcv.ixd.dmm.com/api/surl?urid=t6vJmS4X'
                # self.html_param['url_harepai'] = 'http://rcv.ixd.dmm.com/api/surl?urid=j9mnDsZP'
                # self.html_param['url_sengoku'] = 'http://www.dmm.co.jp/netgame/feature/sengokuaibu.html'
                self.html_param['url_avst'] = 'http://www.dmm.co.jp/netgame_s/avstrikers/'
                self.html_param['url_noahs_gate'] = 'http://sp.dmm.co.jp/netgame/gadgets/index/app_id/223705/'
            url_base = UrlMaker.promotion_top(appname)
            if is_recipient:
                self.html_param['url_cabaret'] = self.makeAppLinkUrl(url_base)
            else:
                self.html_param['url_recipient'] = self.makeAppLinkUrl(
                    OSAUtil.addQuery(url_base, Defines.URLQUERY_FLAG, '1'))

            # set display information for start time and end time of cross promotion
            start_date = '{d.month}/{d.day} {d.hour}:{d.minute:02}'.format(d=Defines.CROSS_PROMO_START_TIME)
            end_date = '{d.month}/{d.day} {d.hour}:{d.minute:02}'.format(d=Defines.CROSS_PROMO_END_TIME)
            self.html_param['cross_promo_time_limit'] = start_date + '〜' + end_date

            self.html_param['url_treasurelist'] = self.makeAppLinkUrl(UrlMaker.treasurelist())
            self.html_param['url_cabaclubtop'] = self.makeAppLinkUrl(UrlMaker.cabaclubtop())
            self.html_param['url_trade'] = self.makeAppLinkUrl(UrlMaker.trade())
            self.html_param['url_scout'] = self.makeAppLinkUrl(UrlMaker.scout())
            self.html_param['url_battle'] = self.makeAppLinkUrl(UrlMaker.battle())
            self.html_param['url_gacha'] = self.makeAppLinkUrl(
                OSAUtil.addQuery(
                    UrlMaker.gacha(),
                    Defines.URLQUERY_GTYPE,
                    Defines.GachaConsumeType.GTYPE_NAMES[Defines.GachaConsumeType.STEPUP2]
                )
            )

            player_cross_promotion = model_mgr.get_model(PlayerCrossPromotion, v_player.id)
            if player_cross_promotion:
                self.html_param['total_login_count'] = player_cross_promotion.total_login_count
            else:
                self.html_param['total_login_count'] = 0
            self.writeAppHtml('promotion/{0}/top'.format(appname))
            return
        else:
            # 開催期間外ならTopに飛ばす
            self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage()))
            return
コード例 #5
0
ファイル: apphandler.py プロジェクト: hitandaway100/caba
 def __makeBackLinkUrlCabaClubStore(self, args):
     if args and 0 < len(args) and str(args[0]).isdigit():
         url = UrlMaker.cabaclubstore(int(args[0]))
     else:
         url = UrlMaker.cabaclubtop()
     return {
         'url': self.makeAppLinkUrl(url, add_frompage=False),
         'text': u'店舗へ戻る'
     }
コード例 #6
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubcastselect/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     self.__mid = master.id
     # 削除するID.
     cardid = args.getInt(1)
     card = None
     obj_card = None
     if cardid:
         cardlist = BackendApi.get_cards([cardid],
                                         model_mgr,
                                         using=settings.DB_READONLY)
         if not cardlist or cardlist[0].card.uid != uid:
             # カードの指定おかしい.
             self.appRedirect(
                 self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
             return
         card = cardlist[0]
         obj_card = Objects.card(self, card)
         obj_card['url_remove'] = self.makeAppLinkUrl(
             UrlMaker.cabaclubcastremove(mid, cardid))
     self.__cardid = cardid or 0
     # 絞り込みのパラメータ.
     self.loadSortParams(default_sortby=Defines.CardSortType.COST_REV,
                         default_ckind_type=Defines.CardKind.NORMAL,
                         default_maxrare=Defines.Rarity.LIST[-1])
     # カード情報埋め込み.
     self.putCardList()
     # HTML書き出し.
     self.html_param.update(
         current_card=obj_card,
         url_store=self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)),
     )
     self.writeBoxHtml('cabaclub/castselect')
コード例 #7
0
ファイル: cancelend.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubcancelend/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     self.writeAppHtml('cabaclub/cancelend')
コード例 #8
0
ファイル: castremove.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubcastremove/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     mid = master.id
     # 削除するID.
     cardid = args.getInt(1)
     card = None
     if cardid:
         cardlist = BackendApi.get_cards([cardid],
                                         model_mgr,
                                         using=settings.DB_READONLY)
         if cardlist:
             card = cardlist[0]
     if card is None or card.card.uid != uid:
         # カードの指定おかしい.
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # 書き込み.
     try:
         db_util.run_in_transaction(self.tr_write, uid, master, self.__now,
                                    cardid)
     except CabaretError, err:
         if err.code in CabaretError.Code.ALREADY_RECEIVED:
             pass
         elif err.code == CabaretError.Code.ILLEGAL_ARGS:
             self.appRedirect(
                 self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
             return
         else:
             raise
コード例 #9
0
ファイル: uado.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubuado/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 書き込み前店舗情報.
     storeset = BackendApi.get_cabaretclub_storeset(
         model_mgr, uid, mid, using=settings.DB_READONLY)
     if storeset is None or not storeset.is_alive(self.__now):
         # 店舗を借りていない.
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     eventmaster = storeset.get_current_eventmaster(self.__now)
     if eventmaster is None or storeset.playerdata.ua_flag:
         # イベントが発生していない.もしくはユーザアクションを実行済み.
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # 書き込み.
     try:
         db_util.run_in_transaction(self.tr_write, uid, master, self.__now)
     except CabaretError, err:
         if err.code == CabaretError.Code.ALREADY_RECEIVED:
             pass
         elif err.code == CabaretError.Code.ILLEGAL_ARGS:
             self.appRedirect(
                 self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
             return
         else:
             raise
コード例 #10
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubuayesno/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗情報.
     storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY)
     if storeset is None or not storeset.is_alive(self.__now):
         # 店舗を借りていない.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     eventmaster = storeset.get_current_eventmaster(self.__now)
     if eventmaster is None or storeset.playerdata.ua_flag:
         # イベントが発生していない.もしくはユーザアクションを実行済み.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     elif eventmaster.ua_type == Defines.CabaClubEventUAType.NONE:
         # ユーザアクションのないイベント.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # スコア情報.
     scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY)
     obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata)
     # イベント情報.
     obj_cabaclubstoreeventmaster = Objects.cabaclubstoreeventmaster(self, eventmaster)
     # HTML書き込み.
     self.html_param.update(
         cabaclubstoreeventmaster = obj_cabaclubstoreeventmaster,
         cabaclub_management_info = obj_cabaclub_management_info,
         url_store = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)),
         url_write = self.makeAppLinkUrl(UrlMaker.cabaclubuado(mid)),
     )
     self.writeAppHtml('cabaclub/uayesno')
コード例 #11
0
ファイル: rentyesno.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubrentyesno/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # 借りる日数.
     days = self.request.get(Defines.URLQUERY_DAYS)
     days = int(days) if days and days.isdigit() else 0
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗情報.
     storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY)
     if storeset and (storeset.is_alive(self.__now) or storeset.get_rental_cost(days) is None):
         # 既に借り入れ済み.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # スコア情報.
     scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY)
     obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata)
     # 店舗マスター.
     obj_cabaclubstoremaster = Objects.cabaclubstoremaster(self, master)
     # 書き込みのURL.
     url_write = UrlMaker.cabaclubrentdo(mid)
     url_write = OSAUtil.addQuery(url_write, Defines.URLQUERY_DAYS, days)
     # HTML書き込み.
     self.html_param.update(
         cabaclub_management_info = obj_cabaclub_management_info,
         cabaclubstoremaster = obj_cabaclubstoremaster,
         url_write = self.makeAppLinkUrl(url_write),
         days = days,
     )
     self.writeAppHtml('cabaclub/rentyesno')
コード例 #12
0
ファイル: __init__.py プロジェクト: hitandaway100/caba
    def preprocess(self):
        AppHandler.preprocess(self)
        model_mgr = self.getModelMgr()
        v_player = self.getViewerPlayer()

        # プレーヤーの本日の総売上を取得
        eventmaster = BackendApi.get_current_cabaclubrankeventmaster(
            model_mgr, using=settings.DB_READONLY)
        if eventmaster:
            rankingid = CabaClubRankEventMaster.makeID(v_player.id,
                                                       eventmaster.id)
            rankmaster = BackendApi.get_model(model_mgr,
                                              CabaClubEventRankMaster,
                                              rankingid,
                                              using=settings.DB_READONLY)
            self.html_param[
                'today_proceeds'] = rankmaster.today_proceeds if rankmaster else 0
        else:
            self.html_param['today_proceeds'] = 0
        self.html_param['url_cabaclub_top'] = self.makeAppLinkUrl(
            UrlMaker.cabaclubtop())
コード例 #13
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubuaend/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # イベント情報.
     eventmaster_id = self.request.get(Defines.URLQUERY_ID)
     eventmaster = None
     if eventmaster_id and eventmaster_id.isdigit():
         eventmaster_id = int(eventmaster_id)
         eventmaster = BackendApi.get_cabaretclub_event_master(model_mgr, eventmaster_id, using=settings.DB_READONLY)
     if eventmaster is None:
         # 存在しないイベント.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     obj_cabaclubstoreeventmaster = Objects.cabaclubstoreeventmaster(self, eventmaster)
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # スコア情報.
     scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=settings.DB_READONLY)
     obj_cabaclub_management_info = Objects.cabaclub_management_info(self, scoredata)
     # HTML書き込み.
     self.html_param.update(
         cabaclubstoreeventmaster = obj_cabaclubstoreeventmaster,
         cabaclub_management_info = obj_cabaclub_management_info,
         url_store = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)),
     )
     self.writeAppHtml('cabaclub/uaend')
コード例 #14
0
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubrentend/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # 借りる日数.
     days = self.request.get(Defines.URLQUERY_DAYS)
     days = int(days) if days and days.isdigit() else 0
     # HTML書き込み.
     self.html_param.update(url_store=self.makeAppLinkUrl(
         UrlMaker.cabaclubstore(mid)), )
     self.writeAppHtml('cabaclub/rentend')
コード例 #15
0
ファイル: cancelyesno.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubcancelyesno/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(
             model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗情報.
     storeset = BackendApi.get_cabaretclub_storeset(
         model_mgr, uid, mid, using=settings.DB_READONLY)
     if storeset is None or not storeset.is_alive(self.__now):
         # 既に解約済み.
         self.appRedirect(
             self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # 店舗マスター.
     obj_cabaclubstoremaster = Objects.cabaclubstoremaster(self, master)
     # 書き込みのURL.
     url_write = UrlMaker.cabaclubcanceldo(mid)
     # HTML書き込み.
     self.html_param.update(
         cabaclubstoremaster=obj_cabaclubstoremaster,
         url_write=self.makeAppLinkUrl(url_write),
     )
     self.writeAppHtml('cabaclub/cancelyesno')
コード例 #16
0
ファイル: eventanim.py プロジェクト: hitandaway100/caba
 def process(self):
     # 現在時刻.
     self.__now = OSAUtil.get_now()
     # ModelRequestMgr.
     model_mgr = self.getModelMgr()
     # 店舗のマスターデータ.
     args = self.getUrlArgs('/cabaclubeventanim/')
     mid = args.getInt(0)
     master = None
     if mid:
         master = BackendApi.get_cabaretclub_store_master(model_mgr, mid, using=settings.DB_READONLY)
     if master is None:
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop()))
         return
     # ユーザ情報.
     v_player = self.getViewerPlayer()
     uid = v_player.id
     # 店舗情報.
     storeset = BackendApi.get_cabaretclub_storeset(model_mgr, uid, mid, using=settings.DB_READONLY)
     if storeset is None or not storeset.is_alive(self.__now):
         # 店舗を借りていない.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     eventmaster = storeset.get_current_eventmaster(self.__now)
     if eventmaster is None:
         # イベントが発生していない.
         self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubstore(mid)))
         return
     # 閲覧時間の更新.
     CabaClubRecentlyViewedTime.create(uid, mid, self.__now).save()
     # 演出用パラメータ.
     params = dict(
         backUrl = self.makeAppLinkUrl(UrlMaker.cabaclubstore(mid)),
     )
     # 仮.
     self.appRedirectToEffect('cb_system/warning/effect.html', params)
コード例 #17
0
ファイル: mission.py プロジェクト: hitandaway100/caba
 def _getJumpUrlPlayCabaclub(self, missionmaster):
     return UrlMaker.cabaclubtop()
コード例 #18
0
ファイル: mission.py プロジェクト: hitandaway100/caba
 def _getJumpUrlHonorPoint(self, missionmaster):
     return UrlMaker.cabaclubtop()
コード例 #19
0
ファイル: mission.py プロジェクト: hitandaway100/caba
 def _getJumpUrlCustomerTotal(self, missionmaster):
     return UrlMaker.cabaclubtop()
コード例 #20
0
ファイル: mission.py プロジェクト: hitandaway100/caba
 def _getJumpUrlProceeds(self, missionmaster):
     return UrlMaker.cabaclubtop()
コード例 #21
0
    def process(self):
        args = self.getUrlArgs('/cabaclubrank/')
        current_eventid = args.getInt(0)
        ope = args.get(1)
        v_player = self.getViewerPlayer()
        model_mgr = self.getModelMgr()

        eventmaster = BackendApi.get_cabaclubrankeventmaster(
            model_mgr, current_eventid, using=settings.DB_READONLY)
        if eventmaster is None:
            url = self.makeAppLinkUrlRedirect(UrlMaker.cabaclubtop())
            self.appRedirect(url)
            return

        self.html_param[
            'cabaclub_management_info'] = self.get_cabaclub_management_info(
                self.getModelMgr(), v_player.id, OSAUtil.get_now())
        self.html_param['url_cabaclubrank'] = self.makeAppLinkUrl(
            UrlMaker.cabaclubrank(eventmaster.id))
        self.html_param['url_explain_detail'] = self.makeAppLinkUrl(
            UrlMaker.cabaclubrank(eventmaster.id, 'detail'))
        self.html_param['url_explain_prizes'] = self.makeAppLinkUrl(
            UrlMaker.cabaclubrank(eventmaster.id, 'prizes'))
        self.html_param['eventmaster'] = eventmaster
        event_config = BackendApi.get_current_cabaclubrankeventconfig(
            model_mgr, using=settings.DB_READONLY)
        self.set_event_period(model_mgr, self.html_param, event_config)

        table = {
            'detail': self.__proc_detail,
            'prizes': self.__proc_prizes,
        }
        func = table.get(ope)
        if func:
            func(eventmaster)
            return

        page = int(self.request.get(Defines.URLQUERY_PAGE) or 0)
        is_view_myrank = int(self.request.get(Defines.URLQUERY_FLAG) or 0) == 1
        has_next = False

        if not CabaClubRanking.exists(current_eventid):
            # if ranking data isn't present in Redis
            # fetch the ranking data from the database and store it into Redis
            BackendApi.backup_ranking_data_into_redis(current_eventid)

        if is_view_myrank:
            # fetch user rank data from Redis DB
            player_rank_list = CabaClubRanking.get_user_rank_page(
                current_eventid, v_player.id, Handler.CONTENT_NUM_PER_PAGE)
        else:
            offset = page * Handler.CONTENT_NUM_PER_PAGE
            # fetch all players' rank data from Redis DB
            player_rank_list = CabaClubRanking.get_rankings(
                current_eventid, offset, Handler.CONTENT_NUM_PER_PAGE, page)

        # base url
        urlbase = UrlMaker.cabaclubrank(current_eventid)
        if player_rank_list:
            self.setFromPage(Defines.FromPages.CABACLUB_STORE, current_eventid)
            uidlist = [x['uid'] for x in player_rank_list]
            playerlist = BackendApi.get_players(self,
                                                uidlist=uidlist,
                                                using=settings.DB_READONLY)
            obj_player_dict = dict([
                (obj_player['id'], obj_player)
                for obj_player in self.getObjPlayerList(playerlist, uidlist)
            ])

            for rank_info in player_rank_list:
                uid = rank_info['uid']
                obj_player = obj_player_dict.get(uid)
                if obj_player:
                    obj_player['is_me'] = uid == v_player.id
                    rank_info.update(obj_player)

            if not is_view_myrank:
                number_of_players = CabaClubRanking.get_number_of_players(
                    eventid=current_eventid)
                self.putPagenation(UrlMaker.cabaclubrank(current_eventid),
                                   page, number_of_players,
                                   Handler.CONTENT_NUM_PER_PAGE)

                if Handler.CONTENT_NUM_PER_PAGE == len(player_rank_list):
                    has_next = True

                # Next page url
                if has_next:
                    self.html_param['url_page_next'] = self.makeAppLinkUrl(
                        OSAUtil.addQuery(urlbase, Defines.URLQUERY_PAGE,
                                         page + 1))

                # Previous page url
                if 0 < page:
                    self.html_param['url_page_prev'] = self.makeAppLinkUrl(
                        OSAUtil.addQuery(urlbase, Defines.URLQUERY_PAGE,
                                         page - 1))

        url_ranking = OSAUtil.addQuery(urlbase, Defines.URLQUERY_FLAG, "0")
        url_myrank = OSAUtil.addQuery(urlbase, Defines.URLQUERY_FLAG, "1")
        self.html_param['url_ranking'] = self.makeAppLinkUrl(url_ranking)
        self.html_param['url_myrank'] = self.makeAppLinkUrl(url_myrank)
        self.html_param['is_view_myrank'] = is_view_myrank
        self.html_param['player_rank_list'] = player_rank_list
        self.html_param[
            'cabaclub_management_info'] = self.get_cabaclub_management_info(
                self.getModelMgr(), v_player.id, OSAUtil.get_now())
        self.writeAppHtml('cabaclub/rank')