def process(self): args = self.getUrlArgs('/lbtlanim/') mid = args.getInt(0) loginbonus = args.getInt(1) model_mgr = self.getModelMgr() now = OSAUtil.get_now() # プレイヤー情報. v_player = self.getViewerPlayer() if BackendApi.check_lead_loginbonustimelimited(model_mgr, v_player.id, now): # まだ受け取っていない. if settings_sub.IS_LOCAL: raise CabaretError(u'まだ受け取っていない') url = self.makeAppLinkUrlRedirect( UrlMaker.loginbonustimelimiteddo()) self.appRedirect(url) return logindata = BackendApi.get_logintimelimited_data( model_mgr, v_player.id, mid, using=settings.DB_READONLY) if logindata is None: url = self.makeAppLinkUrlRedirect(UrlMaker.mypage()) self.appRedirect(url) return cur_day = logindata.days master = BackendApi.get_loginbonustimelimitedmaster( model_mgr, mid, using=settings.DB_READONLY) if master is None: url = self.makeAppLinkUrlRedirect(UrlMaker.mypage()) self.appRedirect(url) return #取得したアイテム(名前,日数). cur_bonusmaster = BackendApi.get_loginbonustimelimiteddaysmaster( model_mgr, master.id, cur_day, using=settings.DB_READONLY) if not cur_bonusmaster: # 演出いらない. url = self.makeAppLinkUrlRedirect(UrlMaker.mypage()) self.appRedirect(url) return str_midlist = self.request.get(Defines.URLQUERY_ID) or '' dataUrl = self.makeAppLinkUrlEffectParamGet( 'loginbonustimelimited/%s/%s' % (mid, loginbonus)) if str_midlist: dataUrl = OSAUtil.addQuery(dataUrl, Defines.URLQUERY_ID, str_midlist) self.appRedirectToEffect2('%s/effect2.html' % master.effectname, dataUrl)
def process(self): model_mgr = self.getModelMgr() v_player = self.getViewerPlayer() uid = v_player.id args = self.getUrlArgs('/lbtlexplain/') mid = args.getInt(0) config = BackendApi.get_current_loginbonustimelimitedconfig( model_mgr, using=settings.DB_READONLY) master = None if not mid: data = config.getData() if data: mid = data['mid'] if mid: master = BackendApi.get_loginbonustimelimitedmaster( model_mgr, mid, using=settings.DB_READONLY) datadict = dict(config.getDataList()) config_data = datadict.get(mid) if master is None or config_data is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.mypage())) return now = OSAUtil.get_now() obj_longlogin = Objects.longloginbonus(config_data, 0, now) self.html_param['longloginbonus'] = obj_longlogin # 開催中か. is_open = obj_longlogin['is_open'] if is_open: if BackendApi.check_lead_loginbonustimelimited( model_mgr, uid, now): self.appRedirect(self.makeAppLinkUrlRedirect( UrlMaker.mypage())) return # 現在のログイン日数. logindata = BackendApi.get_logintimelimited_data( model_mgr, uid, mid, using=settings.DB_READONLY) cur_day = logindata.days obj_longlogin['cur_day'] = cur_day table = BackendApi.get_loginbonustimelimiteddaysmaster_day_table_by_timelimitedmid( model_mgr, mid, using=settings.DB_READONLY) days = table.keys() days.sort() tmp_days = list(set(days + [cur_day])) tmp_days.sort() idx = tmp_days.index(cur_day) if not cur_day in days: idx -= 1 # 直近の報酬. if 0 <= idx < len(days): daysmaster_id = table[days[idx]] daysmaster = BackendApi.get_loginbonustimelimiteddaysmaster_by_id( model_mgr, daysmaster_id, using=settings.DB_READONLY) if daysmaster: self.html_param[ 'longloginbonus_daydata'] = Objects.longloginbonus_daydata( daysmaster.day, self.getBonusItemList(daysmaster), cur_day) # 次の報酬. idx += 1 if 0 <= idx < len(days): daysmaster_id = table[days[idx]] daysmaster = BackendApi.get_loginbonustimelimiteddaysmaster_by_id( model_mgr, daysmaster_id, using=settings.DB_READONLY) if daysmaster: self.html_param[ 'longloginbonus_daydata_next'] = Objects.longloginbonus_daydata( daysmaster.day, self.getBonusItemList(daysmaster), cur_day) self.writeAppHtml(master.htmlname)
def process(self): self.setFromPage(None) model_mgr = self.getModelMgr() v_player = self.getViewerPlayer() if not BackendApi.check_loginbonus_received(v_player.getModel(PlayerLogin)): if not settings_sub.IS_BENCH: # ログインボーナスを受け取っていない. url = UrlMaker.loginbonus() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_lead_loginbonustimelimited(model_mgr, v_player.id): if not settings_sub.IS_BENCH: # ロングログインボーナスを受け取っていない. url = UrlMaker.loginbonustimelimiteddo() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_lead_loginbonus_sugoroku(model_mgr, v_player.id): if not settings_sub.IS_BENCH: # 双六ログインボーナスを受け取っていない. url = UrlMaker.loginbonussugorokudo() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_raidevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントOPを見ないといけない. url = UrlMaker.raidevent_opening() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_raidevent_lead_bigboss(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # 大ボス演出を見ないといけない. url = UrlMaker.raidevent_bigboss() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_raidevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントEDを見ないといけない. url = UrlMaker.raidevent_epilogue() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_scoutevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントOPを見ないといけない. url = UrlMaker.scoutevent_opening() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_scoutevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントEDを見ないといけない. url = UrlMaker.scoutevent_epilogue() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_battleevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントOPを見ないといけない. url = UrlMaker.battleevent_opening() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_battleevent_lead_scenario(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # 中押し演出を見ていない. url = UrlMaker.battleevent_scenario() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False elif BackendApi.check_battleevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントエピローグを見ないといけない. url = UrlMaker.battleevent_epilogue() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_produceevent_lead_opening(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントOPを見ないといけない. url = UrlMaker.produceevent_opening() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_produceevent_lead_epilogue(model_mgr, v_player.id, using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # イベントEDを見ないといけない. url = UrlMaker.produceevent_epilogue() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return elif BackendApi.check_cabaclub_lead_resultanim(model_mgr, v_player.id, OSAUtil.get_now(), using=settings.DB_READONLY): if not settings_sub.IS_BENCH and not (settings_sub.IS_LOCAL and self.request.get('_test')): # 店舗結果演出へ. self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.cabaclubresultanim(), add_frompage=False)) return self.__news_num = 0 self.checkPanelMission() if self.response.isEnd: return self.procRankingGacha() self.checkPresentEveryone() self.checkLevelUpBonus() self.putCardInfo() self.putFriendNum() self.putFriendRequestNum() self.putFreeGachaFlag() self.putPresentNum() self.putFriendLog() self.putFriendAcceptNum() self.putProduceInfo() self.putHappeningInfo() self.prepareRaidLog() self.putInfomations() self.putGreetLog() self.putBanner() self.putCabaClubInfo() self.putTitleInfo() self.putPlayerInfo() self.putRaidLog() self.checkPaymentRecord() self.tradeScoutGum() if self.is_active_dxp(): self.check_offerwall(model_mgr, v_player) self.html_param['news_num'] = self.__news_num self.html_param['profile_tag'] = self.makeProfileTag(v_player.id) self.html_param['url_infospace'] = u'%s#infospace' % self.makeAppLinkUrl(UrlMaker.mypage()) if self.is_active_dxp() and not self.is_pc: self.html_param['url_offerwall'] = DXPAPI(is_rel=self.is_rel).offerwall_url(self.app_id, v_player.dmmid) self.html_param['url_offerwallR18'] = DXPAPI(is_rel=self.is_rel,is_R18=True).offerwall_url(self.app_id, v_player.dmmid) print DXPAPI(is_rel=self.is_rel).offerwall_url(self.app_id, v_player.dmmid) print DXPAPI(is_rel=self.is_rel,is_R18=True).offerwall_url(self.app_id, v_player.dmmid) self.putPopupBanner() self.writeAppHtml('mypage')