flask_app.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. from flask import Flask, request
  2. from mvp import Mvp
  3. import json
  4. from test_info import TestInfo
  5. from tongce import TongCe
  6. from apscheduler_elab import Config
  7. from flask_apscheduler import APScheduler
  8. import decimal
  9. from report_push import ReportPush
  10. app = Flask(__name__)
  11. # app.config.from_object(Config())
  12. @app.route('/score', methods=['GET', 'POST'])
  13. def score():
  14. """
  15. 父选项对应的标准化值
  16. :return:
  17. """
  18. city = request.args.get('city', default=None, type=str)
  19. age = request.args.get('age', default=None, type=str)
  20. crowd = request.args.get('crowd', default=None, type=str)
  21. print(city, age, crowd)
  22. mvp = Mvp()
  23. scores = mvp.query_behavioral_info(city, age, crowd)
  24. mvp.close()
  25. return json.dumps(scores, ensure_ascii=False)
  26. @app.route('/scores', methods=['GET', 'POST'])
  27. def scores():
  28. mvp = Mvp()
  29. data = mvp.scores()
  30. return json.dumps(data, ensure_ascii=False)
  31. @app.route('/infos', methods=["GET", 'POST'])
  32. def get_city_age_crowd():
  33. """
  34. 测试数据中城市 年龄 人群分类信息
  35. :return:
  36. """
  37. mvp = Mvp()
  38. infos = {'城市': mvp.citys, '年龄段': mvp.age, '人群分类': mvp.crowd}
  39. mvp.close()
  40. return json.dumps(infos, ensure_ascii=False)
  41. @app.route('/crowd_people', methods=['GET', 'POST'])
  42. def crowd_people():
  43. """
  44. 人群分类人数统计
  45. :return:
  46. """
  47. mvp = Mvp()
  48. people_count = mvp.get_crowd_people()
  49. mvp.close()
  50. return json.dumps(people_count, ensure_ascii=False)
  51. @app.route('/set_behavior_tag', methods=['GET', 'POST'])
  52. def set_behavior_tag():
  53. """
  54. 模块标准化值
  55. :return:
  56. """
  57. mvp = Mvp()
  58. mvp.close()
  59. return json.dumps(mvp.module_scores, ensure_ascii=False)
  60. @app.route('/insert_into', methods=['GET', 'POST'])
  61. def insert_info():
  62. mvp = Mvp()
  63. mvp.insert()
  64. query_data = mvp.query_data()
  65. mvp.close()
  66. return json.dumps(query_data, ensure_ascii=False)
  67. @app.route('/shanghai_85', methods=['GET', 'POST'])
  68. def shanghai_85():
  69. mvp = Mvp()
  70. data = mvp.shanghai_85_module_score_insert()
  71. mvp.close()
  72. return json.dumps(data, ensure_ascii=False)
  73. @app.route('/tag_tree', methods=['GET', 'POST'])
  74. def tag_tree():
  75. mvp = Mvp()
  76. tags = mvp.tag_data
  77. mvp.close()
  78. return json.dumps(tags, ensure_ascii=False)
  79. @app.route('/update_data', methods=['GET', 'POST'])
  80. def update_data():
  81. message = None
  82. global mvp
  83. try:
  84. mvp = Mvp()
  85. message = mvp.update_data()
  86. except Exception as e:
  87. message['error'] = str(e)
  88. return json.dumps(message, ensure_ascii=False)
  89. finally:
  90. mvp.close()
  91. return json.dumps(message, ensure_ascii=False)
  92. @app.route('/people', methods=['GET', 'POST'])
  93. def people():
  94. mvp = Mvp()
  95. mvp.close()
  96. return json.dumps(mvp.people_data(), ensure_ascii=False)
  97. @app.route('/update_gender')
  98. def update_gender_rate():
  99. mvp = Mvp()
  100. try:
  101. mvp.update_gender_rate(ids=1)
  102. mvp.close()
  103. except Exception as e:
  104. mvp.close()
  105. return str(e)
  106. return '人群性别比列更新完成...'
  107. @app.route('/test_api', methods=['GET', 'POST'])
  108. def test_api():
  109. return '成功'
  110. @app.route('/testcase_info', methods=['GET', 'POST'])
  111. def testcase_info():
  112. testcase_id = request.args.get('id', default=0, type=int)
  113. ti = TestInfo()
  114. result = ti.test_detail_info(testcase_id)
  115. return json.dumps(result, ensure_ascii=False)
  116. @app.route('/get_uuids', methods=['GET', 'POST'])
  117. def get_uuids():
  118. city = request.args.get('city', default=None, type=str)
  119. age = request.args.get('age', default=None, type=str)
  120. crowd = request.args.get('crowd', default=None, type=str)
  121. mvp = Mvp()
  122. uuids = mvp.people_filter(city, age, crowd)
  123. mvp.close()
  124. return json.dumps(uuids, ensure_ascii=False)
  125. @app.route('/tongce', methods=['GET', 'POST'])
  126. def tongce():
  127. response = {}
  128. try:
  129. tongce = TongCe()
  130. result = tongce.tongce()
  131. response['code'] = 0
  132. response['message'] = '成功'
  133. response['data'] = result
  134. except Exception as e:
  135. response['code'] = 1
  136. response['message'] = '失败:' + str(e)
  137. return json.dumps(response, ensure_ascii=False)
  138. return json.dumps(response, ensure_ascii=False)
  139. @app.route('/tongce_data', methods=['GET', 'POST'])
  140. def tongce_data():
  141. response = {}
  142. tongce = TongCe()
  143. try:
  144. result = tongce.lingdi_data_scores()
  145. response['code'] = 0
  146. response['message'] = '成功'
  147. response['data'] = result
  148. except Exception as e:
  149. response['code'] = 1
  150. response['message'] = '失败:' + str(e)
  151. return json.dumps(response, ensure_ascii=False)
  152. finally:
  153. tongce.close()
  154. return json.dumps(response, ensure_ascii=False)
  155. @app.route('/update_rule', methods=['GET', 'POST'])
  156. def tongce_update_rule():
  157. try:
  158. tongce = TongCe()
  159. tongce.table_type_insert()
  160. except Exception as e:
  161. return str(e)
  162. return '更新成功!! 1'
  163. @app.route('/update_other_city', methods=['GET', 'POST'])
  164. def update_other_city():
  165. response = {}
  166. try:
  167. tongce = TongCe()
  168. result = tongce.other_city_clean()
  169. response['code'] = 0
  170. response['message'] = '成功'
  171. response['data'] = result
  172. except Exception as e:
  173. response['code'] = 1
  174. response['message'] = '失败:' + str(e)
  175. return json.dumps(response, ensure_ascii=False)
  176. return json.dumps(response, ensure_ascii=False)
  177. @app.route('/report_test', methods=['GET', 'POST'])
  178. def report_test():
  179. global result
  180. try:
  181. task_id = request.args.get('id', default=0, type=int)
  182. report_push = ReportPush('bi_report')
  183. result = report_push.report_push(task_id)
  184. except Exception as e:
  185. print(str(e))
  186. result['error'] = str(e)
  187. finally:
  188. return json.dumps(result, ensure_ascii=False, cls=DecimalEncoder)
  189. class DecimalEncoder(json.JSONEncoder):
  190. def default(self, o):
  191. if isinstance(o, decimal.Decimal):
  192. return float(o)
  193. super(DecimalEncoder, self).default(o)
  194. if __name__ == '__main__':
  195. # scheduler = APScheduler()
  196. # scheduler.init_app(app)
  197. # scheduler.start()
  198. app.run(
  199. host='0.0.0.0',
  200. port=5001
  201. )