jianye_report.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from mysql_db import MysqlDB
  2. from sql import Sql
  3. from report_public_funs_utils import ReportPublicFunsUtils as rpfu
  4. from mail_content_text import MailContentText;
  5. class JianYeReport(object):
  6. """
  7. 建业报表数据处理
  8. """
  9. def __init__(self):
  10. self.db = MysqlDB('bi_report')
  11. def get_city_house_id(self):
  12. return self.db.select(Sql.sql_1)
  13. def get_report_customers(self):
  14. return self.db.select(Sql.sql_2)
  15. def get_mail_title(self, type, name):
  16. """
  17. 获取邮件名称
  18. :param type:1:项目,2:集团,3:区域
  19. :param name: 项目 区域名称
  20. :return:
  21. """
  22. month_day = rpfu.get_montho_day()
  23. if type == 1:
  24. return '[{}]{}数据报表'.format(month_day, name)
  25. elif type == 2:
  26. return '[{}]建业云集团数据报表'.format(month_day)
  27. elif type == 3:
  28. return '[{}]建业云{}数据报表'.format(month_day, name)
  29. def get_mail_content(self, customer_type):
  30. """
  31. 根据客户类型获取邮件正文
  32. :param customer_type:
  33. :return:
  34. """
  35. if customer_type == 2:
  36. return MailContentText.text_1
  37. else:
  38. return '本期的数据报告已经准备完成,请点击附件查阅.'
  39. def table_one_data(self):
  40. """
  41. 表一中的数据是表二数据的汇总
  42. :return:
  43. """
  44. pass
  45. def table_two_data(self):
  46. pass
  47. def table_three_data(self):
  48. pass
  49. def user_data_volume_statistics(self, time_range, house_ids):
  50. """
  51. 用户浏览量,人数,新增获客,新增获点数据统计
  52. :param time_range:
  53. :param house_ids:
  54. :return:
  55. """
  56. # 1:总浏览量
  57. result = []
  58. data_1_1 = self.db.select(Sql.sql_3, [time_range[0], time_range[1], house_ids])
  59. number_1_1 = data_1_1[0][0]
  60. data_1_2 = self.db.select(Sql.sql_4, [time_range[0], time_range[1], house_ids])
  61. number_1_2 = data_1_2[0][0]
  62. number_1 = rpfu.add(number_1_1, number_1_2)
  63. result.append(number_1)
  64. # 2: 总浏览人数
  65. data_2 = self.db.select(Sql.sql_5, [time_range[0], time_range[1], house_ids, time_range[0], time_range[1], house_ids])
  66. number_2 = data_2[0][0]
  67. result.append(number_2)
  68. # 3:新增获客
  69. time_1 = time_range[0] + ' 00:00:00'
  70. time_2 = time_range[1] + ' 23:59:59'
  71. data_3 = self.db.select(Sql.sql_6, [time_1, time_2, house_ids, time_1, time_2, house_ids])
  72. number_3 = data_3[0][0]
  73. result.append(number_3)
  74. # 4:新增获电
  75. data_4 = self.db.select(Sql.sql_7, [time_1, time_2, house_ids, house_ids, time_1, time_2])
  76. number_4 = data_4[0][0]
  77. result.append(number_4)
  78. return result
  79. def send_mail_to_customer(self, task_key):
  80. """
  81. 统计数据推送给客户
  82. :param: task_key
  83. :return:
  84. """
  85. pass
  86. if __name__ == '__main__':
  87. pass