flask_app.py 5.9 KB

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