def is_effect_rpt_correct(cls, shop_info): rpt_effect_db = RptEffectDB(mongoConn, str(shop_info['sid'])) summary_rpt = rpt_effect_db.get_one_day_summary_rpt(RptAll.YESTERDAY) summary_rpt_stand = {} for campaign_id in shop_info['campaign_ids']: rpt_effect_yesterday = SimbaRptCampaignEffectGet.get_yesterday_rpt_campaigneffect_list( shop_info['nick'], campaign_id, 'SEARCH,CAT', '1,2', shop_info['access_token'], shop_info['subway_token']) summary_rpt_stand[campaign_id] = { 'pay': rpt_effect_yesterday['pay'], 'paycount': rpt_effect_yesterday['paycount'], 'fav': rpt_effect_yesterday['fav'] } for campaign_id in summary_rpt_stand.keys(): if summary_rpt_stand[campaign_id]['pay'] == 0 and summary_rpt_stand[campaign_id]['paycount'] == 0 \ and summary_rpt_stand[campaign_id]['fav'] == 0: continue if not summary_rpt.has_key(campaign_id): return False if summary_rpt_stand[campaign_id] != summary_rpt[campaign_id]: return False return True
def is_effect_rpt_correct(cls, shop_info): rpt_effect_db = RptEffectDB(mongoConn, str(shop_info["sid"])) summary_rpt = rpt_effect_db.get_one_day_summary_rpt(RptAll.YESTERDAY) summary_rpt_stand = {} for campaign_id in shop_info["campaign_ids"]: rpt_effect_yesterday = SimbaRptCampaignEffectGet.get_yesterday_rpt_campaigneffect_list( shop_info["nick"], campaign_id, "SEARCH,CAT", "1,2", shop_info["access_token"], shop_info["subway_token"], ) summary_rpt_stand[campaign_id] = { "pay": rpt_effect_yesterday["pay"], "paycount": rpt_effect_yesterday["paycount"], "fav": rpt_effect_yesterday["fav"], } for campaign_id in summary_rpt_stand.keys(): if ( summary_rpt_stand[campaign_id]["pay"] == 0 and summary_rpt_stand[campaign_id]["paycount"] == 0 and summary_rpt_stand[campaign_id]["fav"] == 0 ): continue if not summary_rpt.has_key(campaign_id): return False if summary_rpt_stand[campaign_id] != summary_rpt[campaign_id]: return False return True
def get_effect_data(cls, shop_info_list): for shop_info in shop_info_list: try: if RptAll.is_effect_rpt_correct(shop_info): continue report_logger.info("店铺 [%s] 需要重新获取效果报表", shop_info['nick']) rpt_effect_db = RptEffectDB(mongoConn, str(shop_info['sid'])) rpt_effect_db.clear_one_day_ago_rpt(RptAll.ONE_WEEK_AGO) rpt_effect_db.clear_one_day_rpt(RptAll.YESTERDAY) effect_rpt_get = EffectRptGet(shop_info['nick'], shop_info['access_token'], shop_info['subway_token'], shop_info['campaign_ids']) effect_rpt_list = effect_rpt_get.yesterday_rpt_get() rpt_effect_db.save_records(effect_rpt_list) report_logger.info("店铺 [%s] 重新获取效果报表完成,条数 %d", shop_info['nick'], len(effect_rpt_list)) except Exception, data: report_logger.exception('get effect data exception')
def get_effect_data(cls, shop_info_list): for shop_info in shop_info_list: try: if RptAll.is_effect_rpt_correct(shop_info): continue report_logger.info("店铺 [%s] 需要重新获取效果报表", shop_info["nick"]) rpt_effect_db = RptEffectDB(mongoConn, str(shop_info["sid"])) rpt_effect_db.clear_one_day_ago_rpt(RptAll.ONE_WEEK_AGO) rpt_effect_db.clear_one_day_rpt(RptAll.YESTERDAY) effect_rpt_get = EffectRptGet( shop_info["nick"], shop_info["access_token"], shop_info["subway_token"], shop_info["campaign_ids"] ) effect_rpt_list = effect_rpt_get.yesterday_rpt_get() rpt_effect_db.save_records(effect_rpt_list) report_logger.info("店铺 [%s] 重新获取效果报表完成,条数 %d", shop_info["nick"], len(effect_rpt_list)) except Exception, data: report_logger.exception("get effect data exception")
#获取下载链接, 下载报表并存储 for i in range(0, len(shop_info_list_mid)): rpt_topats = rpt_topats_list_mid[i] try: if not rpt_topats.check_task_ok(): fail_shop_info_list.append(shop_info_list_mid[i]) if not rpt_topats.download_rpt(): fail_shop_info_list.append(shop_info_list_mid[i]) if not rpt_topats.parse_rpt(): fail_shop_info_list.append(shop_info_list_mid[i]) except Exception, data: report_logger.exception('获取下载链接,抓取或存储出错') fail_shop_info_list.append(shop_info_list_mid[i]) rpt_effect_db = RptEffectDB(mongoConn, str(shop_info_list_mid[i]['sid'])) rpt_effect_db.clear_one_day_ago_rpt(RptAll.ONE_WEEK_AGO) rpt_effect_db.clear_one_day_rpt(RptAll.YESTERDAY) rpt_effect_db.save_records(rpt_topats.rpt_record_list) time.sleep(2) return fail_shop_info_list @classmethod def get_campaigns_by_shop_info(cls, shop_info): """ 根据店铺信息获得店铺所有的计划信息 """ campaigns = SimbaCampaignsGet.get_campaign_list( shop_info['access_token'], shop_info['nick']) campaign_ids = []
# 获取下载链接, 下载报表并存储 for i in range(0, len(shop_info_list_mid)): rpt_topats = rpt_topats_list_mid[i] try: if not rpt_topats.check_task_ok(): fail_shop_info_list.append(shop_info_list_mid[i]) if not rpt_topats.download_rpt(): fail_shop_info_list.append(shop_info_list_mid[i]) if not rpt_topats.parse_rpt(): fail_shop_info_list.append(shop_info_list_mid[i]) except Exception, data: report_logger.exception("获取下载链接,抓取或存储出错") fail_shop_info_list.append(shop_info_list_mid[i]) rpt_effect_db = RptEffectDB(mongoConn, str(shop_info_list_mid[i]["sid"])) rpt_effect_db.clear_one_day_ago_rpt(RptAll.ONE_WEEK_AGO) rpt_effect_db.clear_one_day_rpt(RptAll.YESTERDAY) rpt_effect_db.save_records(rpt_topats.rpt_record_list) time.sleep(2) return fail_shop_info_list @classmethod def get_campaigns_by_shop_info(cls, shop_info): """ 根据店铺信息获得店铺所有的计划信息 """ campaigns = SimbaCampaignsGet.get_campaign_list(shop_info["access_token"], shop_info["nick"]) campaign_ids = [] for campaign in campaigns: