flask_app.py 5.5 KB

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