示例#1
0
文件: top.py 项目: hitandaway100/caba
 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')
示例#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
        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')
示例#3
0
 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
示例#4
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')
示例#5
0
 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')
示例#6
0
 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')
示例#7
0
文件: end.py 项目: hitandaway100/caba
 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')
示例#8
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')