def collect_online_info(self): """获取用户数据中心信息""" #获取所有用户 all_shop = ShopDBService.get_all_shop_list() self.nick_shop = {} for shop in all_shop: self.nick_shop[shop['nick']] = shop #获取所有退款 all_refund = RefundDBService.get_all_refunds_list() refund_list = [refund['order_id'] for refund in all_refund] #获取所有订单 all_order = OrderDBService.get_all_orders_list() self.user_order = {} order_flag = False order_time = datetime.datetime.combine( datetime.date.today() - datetime.timedelta(days=1), datetime.time()) for order in all_order: if not order_flag and order['occur_time'] >= order_time: order_flag = True if not order['article_code'] in self.article_code_list: continue if order['order_id'] in refund_list: continue key = order['nick'] + order['article_code'] old_order = self.user_order.get( key, {'order_cycle_start': datetime.datetime(2011, 1, 1, 0, 0)}) if order['order_cycle_start'] > old_order['order_cycle_start']: self.user_order[key] = order if not order_flag: send_sms('13738141586', str(order_time) + '的订单没有抓取成功') #获取所有服务支持 all_support = SupportDBService.get_all_supports_list() self.user_supports = {} for support in all_support: if not support['article_code'] in self.article_code_list: continue key = support['nick'] + support['article_code'] if not self.user_supports.has_key(key): self.user_supports[key] = [] self.user_supports[key].append(support) #nick_worker存放 需要修改的客户客服关系 后期 取消 self.nick_worker = {} for line in file(CURRENT_DIR + 'data/worker_nick.csv'): line_data = line.split(',') worker_id = int(line_data[0]) nick = (line_data[1].split('\n'))[0].decode('utf-8') self.nick_worker[nick] = worker_id
def collect_order_script(_days=0): today = datetime.date.today() - datetime.timedelta(days=_days) try: ztc = ZtcOrderCollect(today) ztc.get_order() ztc.write_order() except Exception,e: logger.error('collect_order_script %s: %s' % (str(today), str(e))) send_sms('13738141586', 'collect_order_script %s: %s' % (str(today), str(e)))
def collect_online_info(self): """获取用户数据中心信息""" #获取所有用户 all_shop = ShopDBService.get_all_shop_list() self.nick_shop = {} for shop in all_shop: self.nick_shop[shop['nick']] = shop #获取所有退款 all_refund = RefundDBService.get_all_refunds_list() refund_list = [refund['order_id'] for refund in all_refund] #获取所有订单 all_order = OrderDBService.get_all_orders_list() self.user_order = {} order_flag = False order_time = datetime.datetime.combine(datetime.date.today()-datetime.timedelta(days=1), datetime.time()) for order in all_order: if not order_flag and order['occur_time'] >= order_time: order_flag = True if not order['article_code'] in self.article_code_list: continue if order['order_id'] in refund_list: continue key = order['nick'] + order['article_code'] old_order = self.user_order.get(key, {'order_cycle_start':datetime.datetime(2011, 1, 1, 0, 0)}) if order['order_cycle_start'] > old_order['order_cycle_start']: self.user_order[key] = order if not order_flag: send_sms('13738141586',str(order_time)+'的订单没有抓取成功') #获取所有服务支持 all_support = SupportDBService.get_all_supports_list() self.user_supports = {} for support in all_support: if not support['article_code'] in self.article_code_list: continue key = support['nick'] + support['article_code'] if not self.user_supports.has_key(key): self.user_supports[key] = [] self.user_supports[key].append(support) #nick_worker存放 需要修改的客户客服关系 后期 取消 self.nick_worker = {} for line in file(CURRENT_DIR+'data/worker_nick.csv'): line_data = line.split(',') worker_id = int(line_data[0]) nick = (line_data[1].split('\n'))[0].decode('utf-8') self.nick_worker[nick] = worker_id
def daily_update_script(): """更新user_center 并将更新导入到百会CRM""" logger.info('user_center update start') try: user_obj = UserCenter(['ts-1796606']) user_obj.collect_online_info() user_obj.collect_update_info() user_obj.write_baihui_info() user_obj.update_online() except Exception,e: logger.exception('user_center update error: %s', str(e)) send_sms('13738141586', 'user_center update error: '+str(e))
def daily_update_script(): """更新user_center 并将更新导入到百会CRM""" logger.info('user_center update start') try: user_obj = UserCenter(['ts-1796606']) user_obj.collect_online_info() user_obj.collect_update_info() user_obj.write_baihui_info() user_obj.update_online() except Exception, e: logger.exception('user_center update error: %s', str(e)) send_sms('13738141586', 'user_center update error: ' + str(e))
def analysis_ztc_order_script(): ToMe = '*****@*****.**' ToAll = '*****@*****.**' try: ztc = ZtcOrderReport() ztc.make_report() ztc.write_report() html = ztc.getHtml() #send_email_with_html(ToMe, html, str(datetime.date.today())+'__直通车软件报表内侧版') send_email_with_html(ToAll, html, str(datetime.date.today())+'__直通车软件报表公测版') except Exception,e: logger.exception('analysis_ztc_order_script error: %s' % (str(e))) send_sms('13738141586', 'analysis_ztc_order_script error: '+str(e))
def collect_report_script(): today = datetime.date.today() syb_obj = CollectSYBReport(today) syb_obj.collect_report() syb_obj.write_report() bd_obj = CollectBDReport(today) bd_obj.collect_report() bd_obj.write_report() try: pass except Exception,e: logger.exception('collect_report_script error: %s', str(e)) send_sms('13738141586', 'collect_report_script error: %s' % (str(e)))
def collect_report_script(): today = datetime.date.today() syb_obj = CollectSYBReport(today) syb_obj.collect_report() syb_obj.write_report() bd_obj = CollectBDReport(today) bd_obj.collect_report() bd_obj.write_report() try: pass except Exception, e: logger.exception('collect_report_script error: %s', str(e)) send_sms('13738141586', 'collect_report_script error: %s' % (str(e)))
def analysis_campaign_script(): today = str(datetime.date.today()) syb_file = CURRENT_DIR+'data/report_data/syb_report' + today + '.csv' bd_file = CURRENT_DIR+'data/report_data/bd_report' + today + '.csv' if not os.path.exists(syb_file): logger.error('analysis_campaign error: %s not exists ' % (syb_file)) return None try: content = analysis_campaign(syb_file, bd_file) #send_email_with_text('*****@*****.**', content, today+'_产品报表日常分析') send_email_with_text('*****@*****.**', content, today+'_产品报表日常分析') except Exception,e: logger.exception('analysis_campaign error: %s' % (str(e))) send_sms('13738141586', 'analysis_campaign error: %s' % (str(e)))
def analysis_campaign_script(): today = str(datetime.date.today()) report_file = CURRENT_DIR+'data/report_data/report' + today + '.csv' if not os.path.exists(report_file): logger.error('analysis_campaign error: %s not exists ' % (report_file)) return None try: content = analysis_campaign(report_file) sendTo = ['*****@*****.**', '*****@*****.**', \ '*****@*****.**', '*****@*****.**'] #for send_to in sendTo: # send_email_with_text(send_to, content, today+'_省油宝日常分析') send_email_with_text('*****@*****.**', content, today+'_省油宝日常分析') except Exception,e: logger.exception('analysis_campaign error: %s' % (str(e))) send_sms('13738141586', 'analysis_campaign error: %s' % (str(e)))
def monitor_soft(): """软件监测脚本 1.麦苗科技营销花费 定期监测 2.省油宝新增订单数 定期监测 3.省油宝新增评价 定期监测 4.北斗新增评价 定期监测 省油宝,ts-1796606 北斗,ts-1797607 """ current_time = datetime.datetime.now() rest_hours = range(1,7) if current_time.hour in rest_hours: return None marketing_info = monitor_marketing_cost() order_info = monitor_order_add('省油宝', 'ts-1796606') comment_info = monitor_comment_add('省油宝', 'ts-1796606') + monitor_comment_add('北斗', 'ts-1797607') return_info = marketing_info + order_info + comment_info if return_info: send_sms('13738141586', return_info) #send XJ send_sms('18658818166', return_info) if comment_info: #send LW send_sms('15158877255', comment_info) #send XK send_sms('13646844762', comment_info) if marketing_info or order_info: #send YB send_sms('15858224656', return_info) return 'monitor_soft: ' + return_info else: return 'monitor_soft ok'
def monitor_soft(): """软件监测脚本 1.麦苗科技营销花费 定期监测 2.省油宝新增订单数 定期监测 3.省油宝新增评价 定期监测 4.北斗新增评价 定期监测 省油宝,ts-1796606 北斗,ts-1797607 """ current_time = datetime.datetime.now() rest_hours = range(1, 7) if current_time.hour in rest_hours: return None marketing_info = '' #marketing_info = monitor_marketing_cost() order_info = monitor_order_add('省油宝', 'ts-1796606') comment_info = monitor_comment_add( '省油宝', 'ts-1796606') + monitor_comment_add('北斗', 'ts-1797607') return_info = marketing_info + order_info + comment_info if return_info: #send_sms('13738141586', return_info) #send XJ #send_sms('18658818166', return_info) if comment_info: #send LW send_sms('15158877255', comment_info) #send XK send_sms('13646844762', comment_info) if marketing_info or order_info: #send YB send_sms('15858224656', return_info) return 'monitor_soft: ' + return_info else: return 'monitor_soft ok'
from CommonTools.send_tools import send_email_with_file, send_sms def send_add_order_and_support(): """发送每日新增订单与服务支持""" merge_order = [] merge_support = [] order_head = CURRENT_DIR + "data/order_head.csv" support_head = CURRENT_DIR + "data/support_head.csv" send_order = CURRENT_DIR + "data/new_order.csv" send_support = CURRENT_DIR + "data/new_support.csv" merge_order.append(CURRENT_DIR + "data/order.csv") merge_support.append(CURRENT_DIR + "data/support.csv") os.system("cat %s %s > %s" % (order_head, " ".join(merge_order), send_order)) os.system("cat %s %s > %s" % (support_head, " ".join(merge_support), send_support)) subject = "昨日新增订单测试版" content = "支持专属客服,注意,订单抓取现在使用新脚本且近期订单API抽风的可能性比较大,请事先认真核对下再导入到百会CRM。\n有问题和不明确的请及时反馈" send_email_with_file("*****@*****.**", content, subject, [send_order, send_support]) # send_email_with_file('*****@*****.**', content, subject, [send_order, send_support]) if __name__ == "__main__": try: send_add_order_and_support() except Exception, e: logger.exception("send_add_order_and_support error: %s", str(e)) send_sms("send_add_order_and_support error:%s" % (str(e)))
def send_add_order_and_support(): """发送每日新增订单与服务支持""" merge_order = [] merge_support = [] order_head = CURRENT_DIR + 'data/order_head.csv' support_head = CURRENT_DIR + 'data/support_head.csv' send_order = CURRENT_DIR + 'data/new_order.csv' send_support = CURRENT_DIR + 'data/new_support.csv' merge_order.append(CURRENT_DIR + 'data/order.csv') merge_support.append(CURRENT_DIR + 'data/support.csv') os.system('cat %s %s > %s' % (order_head, ' '.join(merge_order), send_order)) os.system('cat %s %s > %s' % (support_head, ' '.join(merge_support), send_support)) subject = '昨日新增订单测试版' content = '支持专属客服,注意,订单抓取现在使用新脚本且近期订单API抽风的可能性比较大,请事先认真核对下再导入到百会CRM。\n有问题和不明确的请及时反馈' send_email_with_file('*****@*****.**', content, subject, [send_order, send_support]) #send_email_with_file('*****@*****.**', content, subject, [send_order, send_support]) if __name__ == '__main__': try: send_add_order_and_support() except Exception, e: logger.exception('send_add_order_and_support error: %s', str(e)) send_sms('send_add_order_and_support error:%s' % (str(e)))
def monitor_soft_script(): try: return_info = monitor_soft() except Exception,e: logger.exception('monitor_soft error: %s', str(e)) send_sms('13738141586', 'monitor_soft_script error: '+str(e))
def monitor_soft_script(): try: return_info = monitor_soft() except Exception, e: logger.exception('monitor_soft error: %s', str(e)) send_sms('13738141586', 'monitor_soft_script error: ' + str(e))