config.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. from datetime import datetime
  2. from distutils.command.config import config
  3. from flask_login import current_user
  4. from ..base import base
  5. from ..models import Config
  6. from flask import render_template, request, jsonify
  7. from sqlalchemy import asc
  8. from sqlalchemy import desc
  9. from .. import db
  10. from flask_login import login_required
  11. @base.route('/system/config/configKey/<configKey>', methods=['GET'])
  12. @login_required
  13. def sysconfig_get_value(configKey):
  14. data = Config.query.filter(Config.config_key == configKey).first()
  15. return jsonify({'code': 200, 'msg': data.config_value})
  16. @base.route('/system/config/list', methods=['GET'])
  17. @login_required
  18. def sys_config_list():
  19. filters = []
  20. if 'configName' in request.args:
  21. filters.append(Config.config_name.like('%' + request.args['configName'] + '%'))
  22. if 'configKey' in request.args:
  23. filters.append(Config.config_key.like('%' + request.args['configKey'] + '%'))
  24. if 'configType' in request.args:
  25. filters.append(Config.config_type.like('%' + request.args['configType'] + '%'))
  26. if 'params[beginTime]' in request.args and 'params[endTime]' in request.args:
  27. filters.append(Config.create_time > request.args['params[beginTime]'])
  28. filters.append(Config.create_time < request.args['params[endTime]'])
  29. page = request.args.get('pageNum', 1, type=int)
  30. rows = request.args.get('pageSize', 10, type=int)
  31. pagination = Config.query.filter(*filters).paginate(page=page, per_page=rows, error_out=False)
  32. config_list = pagination.items
  33. return jsonify({'msg': '操作成功', 'code': 200, 'rows': [config.to_json() for config in config_list], 'total': pagination.total})
  34. @base.route('/system/config/<id>', methods=['GET'])
  35. @login_required
  36. def sysconfig_get_by_id(id):
  37. config = Config.query.get(id)
  38. return jsonify({'msg': '操作成功', 'code': 200, 'data': config.to_json()})
  39. @base.route('/system/config', methods=['POST'])
  40. @login_required
  41. def sysconfig_add():
  42. config = Config()
  43. if 'configKey' in request.json: config.config_key = request.json['configKey']
  44. if 'configName' in request.json: config.config_name = request.json['configName']
  45. if 'configType' in request.json: config.config_type = request.json['configType']
  46. if 'configValue' in request.json: config.config_value = request.json['configValue']
  47. if 'remark' in request.json: config.remark = request.json['remark']
  48. config.create_time = datetime.now()
  49. config.create_by = current_user.NAME
  50. db.session.add(config)
  51. return jsonify({'code': 200, 'msg': '操作成功'})
  52. @base.route('/system/config', methods=['PUT'])
  53. @login_required
  54. def sysconfig_update():
  55. config = Config.query.get(request.json['configId'])
  56. if 'configKey' in request.json: config.config_key = request.json['configKey']
  57. if 'configName' in request.json: config.config_name = request.json['configName']
  58. if 'configType' in request.json: config.config_type = request.json['configType']
  59. if 'configValue' in request.json: config.config_value = request.json['configValue']
  60. if 'remark' in request.json: config.remark = request.json['remark']
  61. config.UPDATEDATETIME = datetime.now()
  62. config.update_by = current_user.NAME
  63. db.session.add(config)
  64. return jsonify({'msg': '操作成功', 'code': 200})
  65. @base.route('/system/config/<string:ids>', methods=['DELETE'])
  66. @login_required
  67. def syconfig_delete(ids):
  68. idList = ids.split(',')
  69. for id in idList:
  70. config = Config.query.get(id)
  71. if config:
  72. db.session.delete(config)
  73. return jsonify({'code': 200, 'msg': '操作成功'})