config.py 3.5 KB

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