Ejemplo n.º 1
0
    def _get_loguserdata(self):
        model_mgr = ModelRequestMgr()

        gachamasteridlist = [557, 558, 559] # ステップガチャ 5,6,7
        gachamasters = model_mgr.get_models(GachaMaster, gachamasteridlist, using=settings.DB_READONLY)
        continuitydict = {master.id:master.continuity for master in gachamasters}
        loguserdata = {}

        # the error occured between 2017-02-09 16:00:00 and 2017-02-10 14:00:00
        # therefore we filter the User Log using this parameters
        filters = dict(ctime__gte=DateTimeUtil.strToDateTime('2017-02-09 16:00:00', '%Y-%m-%d %H:%M:%S'),
                       ctime__lte=DateTimeUtil.strToDateTime('2017-02-10 14:00:00', '%Y-%m-%d %H:%M:%S'))

        tmpdict = {continuity:defaultdict(int) for continuity in continuitydict.values()}

        for model in UserLogGacha.fetchValues(filters=filters):
            uid, ctime, logdata = model.uid, model.ctime, model.data
            continuity = logdata.get('continuity')
            if continuity in continuitydict.values():
                tmpdict[continuity][uid] += 1

        """
            ID's form PrizeMaster
            611045 => 5STEP目は「琥珀のかんざし」
            611044 => 6STEP目は「花魁のかんざし」
            400401 => 7STEP目は「ティアラ」
        """
        loguserdata[611045] = tmpdict.pop(8)
        loguserdata[611044] = tmpdict.pop(11)
        loguserdata[400401] = tmpdict.pop(19)

        return loguserdata
Ejemplo n.º 2
0
 def send_prize(self, csv_dir, csv_name, prize_ids):
     print '================================'
     print csv_name
     print '================================'
     file_path = os.path.join(csv_dir, csv_name + ".csv")
     
     model_mgr = ModelRequestMgr()
     prizelist = model_mgr.get_models(PrizeMaster, prize_ids, using=backup_db)
     
     self.send_prize_from_csv(file_path, prizelist, TEXTID, "send_prize_" + csv_name)