app.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. '''
  2. Author: deng.yinping deng.yinping@muchinfo.cn
  3. Date: 2024-11-28 15:57:05
  4. LastEditors: deng.yinping deng.yinping@muchinfo.cn
  5. LastEditTime: 2024-11-29 11:01:44
  6. FilePath: \py_quote\app.py
  7. Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  8. '''
  9. from flask import Flask, render_template, request, redirect, url_for
  10. import os
  11. import datetime
  12. from services.mongodb_tools import MongoDBTools
  13. from services.quote_query_entity import QuoteQueryEntity
  14. from flask import Flask, render_template, request
  15. from app_config import UPLOAD_FOLDER, SERVICE_PORT, DEFAULT_PARAM
  16. app = Flask(__name__)
  17. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
  18. # 从配置文件中读取配置
  19. app.config['SERVER_PORT'] = SERVICE_PORT # 可以在配置文件中设置这个值
  20. @app.route('/', methods=['GET', 'POST'])
  21. def index():
  22. file_list = []
  23. if request.method == 'POST':
  24. # 查询mongodb数据并生成excel
  25. query_entity = QuoteQueryEntity()
  26. query_entity.host = request.form['host']
  27. query_entity.port = int(request.form['port'])
  28. query_entity.username = request.form['username']
  29. query_entity.password = request.form['password']
  30. query_entity.db_name = request.form['db_name']
  31. query_entity.col_name = request.form['col_name']
  32. query_entity.goods_code = request.form['goods_code']
  33. query_entity.query_type = int(request.form['query_type'])
  34. query_entity.start_time = request.form['start_time'].replace("T", " ")
  35. query_entity.end_time = request.form['end_time'].replace("T", " ")
  36. query_entity.diff_value = int(request.form['diff_value'])
  37. query_entity.record_num = int(request.form['record_num'])
  38. query_entity.files_num = int(request.form['files_num'])
  39. MongoDBTools.query_mongodb_data(query_entity)
  40. file_list = MongoDBTools.read_files(app.config['UPLOAD_FOLDER'], '.xlsx', query_entity.files_num)
  41. return render_template('index.html', defaults=query_entity, file_list=file_list)
  42. else:
  43. # 默认查询条件
  44. file_list = MongoDBTools.read_files(app.config['UPLOAD_FOLDER'], '.xlsx', DEFAULT_PARAM.files_num)
  45. return render_template('index.html', defaults=DEFAULT_PARAM, file_list=file_list)
  46. @app.route('/open_file/<filename>')
  47. def open_file(filename):
  48. # 返回文件内容
  49. return redirect(url_for('static', filename=f'quote_data/{filename}'))
  50. if __name__ == '__main__':
  51. app.run(host='0.0.0.0', port=app.config['SERVER_PORT'])