from mysql_db import MysqlDB from sql import Sql from report_public_funs_utils import ReportPublicFunsUtils as rpfu from mail_content_text import MailContentText; class JianYeReport(object): """ 建业报表数据处理 """ def __init__(self): self.db = MysqlDB('bi_report') def get_city_house_id(self): return self.db.select(Sql.sql_1) def get_report_customers(self): return self.db.select(Sql.sql_2) def get_mail_title(self, type, name): """ 获取邮件名称 :param type:1:项目,2:集团,3:区域 :param name: 项目 区域名称 :return: """ month_day = rpfu.get_montho_day() if type == 1: return '[{}]{}数据报表'.format(month_day, name) elif type == 2: return '[{}]建业云集团数据报表'.format(month_day) elif type == 3: return '[{}]建业云{}数据报表'.format(month_day, name) def get_mail_content(self, customer_type): """ 根据客户类型获取邮件正文 :param customer_type: :return: """ if customer_type == 2: return MailContentText.text_1 else: return '本期的数据报告已经准备完成,请点击附件查阅.' def table_one_data(self): """ 表一中的数据是表二数据的汇总 :return: """ pass def table_two_data(self): pass def table_three_data(self): pass def user_data_volume_statistics(self, time_range, house_ids): """ 用户浏览量,人数,新增获客,新增获点数据统计 :param time_range: :param house_ids: :return: """ # 1:总浏览量 result = [] data_1_1 = self.db.select(Sql.sql_3, [time_range[0], time_range[1], house_ids]) number_1_1 = data_1_1[0][0] data_1_2 = self.db.select(Sql.sql_4, [time_range[0], time_range[1], house_ids]) number_1_2 = data_1_2[0][0] number_1 = rpfu.add(number_1_1, number_1_2) result.append(number_1) # 2: 总浏览人数 data_2 = self.db.select(Sql.sql_5, [time_range[0], time_range[1], house_ids, time_range[0], time_range[1], house_ids]) number_2 = data_2[0][0] result.append(number_2) # 3:新增获客 time_1 = time_range[0] + ' 00:00:00' time_2 = time_range[1] + ' 23:59:59' data_3 = self.db.select(Sql.sql_6, [time_1, time_2, house_ids, time_1, time_2, house_ids]) number_3 = data_3[0][0] result.append(number_3) # 4:新增获电 data_4 = self.db.select(Sql.sql_7, [time_1, time_2, house_ids, house_ids, time_1, time_2]) number_4 = data_4[0][0] result.append(number_4) return result def send_mail_to_customer(self, task_key): """ 统计数据推送给客户 :param: task_key :return: """ pass if __name__ == '__main__': pass