def process(self): # 現在時刻. now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. 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) # 現在の称号. title_playerdata = BackendApi.get_title_playerdata( model_mgr, uid, using=settings.DB_READONLY) current_title_id = title_playerdata.title if title_playerdata else 0 obj_title = None # 称号一覧. titlemaster_list = BackendApi.get_title_master_all( model_mgr, using=settings.DB_READONLY) obj_titlemaster_list = [] for titlemaster in titlemaster_list: if current_title_id == titlemaster.id and now < ( title_playerdata.stime + datetime.timedelta(days=titlemaster.days)): obj_title = Objects.title(self, titlemaster, title_playerdata) obj_titlemaster_list.append(Objects.titlemaster(self, titlemaster)) # HTML書き込み. self.html_param.update( cabaclub_management_info=obj_cabaclub_management_info, titlemaster_list=obj_titlemaster_list, title=obj_title, ) self.writeAppHtml('title/top')
def process(self): # 現在時刻. now = OSAUtil.get_now() # 各店舗の更新. self.updateStore(now) # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id if BackendApi.check_cabaclub_lead_resultanim( model_mgr, uid, now, using=settings.DB_READONLY): # 結果演出へ. self.setFromPage(Defines.FromPages.CABACLUB_STORE) self.appRedirect( self.makeAppLinkUrlRedirect(UrlMaker.cabaclubresultanim())) return # 経営情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata( model_mgr, uid, using=settings.DB_READONLY) scoredata_weekly = BackendApi.get_cabaretclub_scoreplayerdata_weekly( model_mgr, uid, now, using=settings.DB_READONLY) obj_cabaclub_management_info = Objects.cabaclub_management_info( self, scoredata, scoredata_weekly) # 店舗のイベント発生情報. BackendApi.put_cabaretclub_eventinfo(self, uid, now, using=settings.DB_READONLY) # 次の集計時間. section_endtime = BackendApi.to_cabaretclub_section_endtime(now) # 開催中または最新の開催したイベントの開催情報 event_config = BackendApi.get_current_cabaclubrankeventconfig( model_mgr, using=settings.DB_READONLY) if BackendApi.is_cabaclubrankevent_open(model_mgr): # 経営イベントのランキングURL cabaclub_event_ranking_url = UrlMaker.cabaclubrank( event_config.mid) else: cabaclub_event_ranking_url = UrlMaker.cabaclubrank( event_config.previous_mid) self.set_event_period(model_mgr, self.html_param, event_config) if self.html_param['is_event_open']: self.html_param[ 'eventmaster'] = BackendApi.get_cabaclubrankeventmaster( model_mgr, event_config.mid, using=settings.DB_READONLY) # HTML書き込み. self.html_param.update( cabaclub_management_info=obj_cabaclub_management_info, url_store=self.makeAppLinkUrl(UrlMaker.cabaclubstore()), url_title=self.makeAppLinkUrl(UrlMaker.titletop()), url_current_week_rank=self.makeAppLinkUrl( cabaclub_event_ranking_url), section_timelimit=Objects.timelimit(section_endtime, now), ) self.writeAppHtml('cabaclub/top')
def get_cabaclub_management_info(self, model_mgr, uid, now, using=settings.DB_READONLY): scoredata = BackendApi.get_cabaretclub_scoreplayerdata(model_mgr, uid, using=using) scoredata_weekly = BackendApi.get_cabaretclub_scoreplayerdata_weekly( model_mgr, uid, now, using=using) obj_cabaclub_management_info = Objects.cabaclub_management_info( self, scoredata, scoredata_weekly) return obj_cabaclub_management_info
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')
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')
def __process_rental(self, cabaclubstoremaster): """レンタル画面. """ # ModelRequestMgr. model_mgr = self.getModelMgr() # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 店舗マスターをテンプレート向けに変換. obj_cabaclubstoremaster = Objects.cabaclubstoremaster( self, cabaclubstoremaster) # スコア情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata( model_mgr, uid, using=settings.DB_READONLY) # HTML書き込み. self.html_param.update( cabaclub_management_info=Objects.cabaclub_management_info( self, scoredata), cabaclubstoremaster=obj_cabaclubstoremaster, ) self.writeAppHtml('cabaclub/store_rental')
def process(self): # 現在時刻. now = OSAUtil.get_now() # ModelRequestMgr. model_mgr = self.getModelMgr() # 交換する称号. args = self.getUrlArgs('/titleend/') mid = args.getInt(0) master = BackendApi.get_title_master( model_mgr, mid, using=settings.DB_READONLY) if mid else None if master is None: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.titletop())) return # ユーザ情報. v_player = self.getViewerPlayer() uid = v_player.id # 経営情報. scoredata = BackendApi.get_cabaretclub_scoreplayerdata( model_mgr, uid, using=settings.DB_DEFAULT) obj_cabaclub_management_info = Objects.cabaclub_management_info( self, scoredata) # 現在の称号. title_playerdata = BackendApi.get_title_playerdata( model_mgr, uid, using=settings.DB_DEFAULT) current_title_id = title_playerdata.title if title_playerdata else 0 if current_title_id != master.id or ( title_playerdata.stime + datetime.timedelta(days=master.days)) <= now: self.appRedirect(self.makeAppLinkUrlRedirect(UrlMaker.titletop())) return obj_title = Objects.title(self, master, title_playerdata) # HTML書き込み. self.html_param.update( cabaclub_management_info=obj_cabaclub_management_info, title=obj_title, url_title=self.makeAppLinkUrl(UrlMaker.titletop()), ) self.writeAppHtml('title/end')
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')