Пример #1
0
    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)))
Пример #3
0
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)))
Пример #4
0
    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
Пример #5
0
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))
Пример #6
0
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))
Пример #8
0
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)))
Пример #9
0
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'
Пример #13
0
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'
Пример #14
0
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)))
Пример #15
0
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)))
Пример #16
0
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))
Пример #17
0
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))