2023怡然:客户提交工单 接口
来自CloudWiki
from flask import Flask, jsonify, abort, request import datetime app = Flask(__name__) workOrder= [ { 'id': 1, 'user_id': 'xiaoli', 'title': u'电脑蓝屏', 'room':u'812', 'pc_id':u'pc01', 'desc':u'电脑蓝屏故障,持续10分钟', 'report_time':u'2023-08-01 14:52', 'receive_time':u'2023-08-01 15:52', 'solve_time':u'2023-08-01 16:52', 'status':u'未解决', 'type':u'单机故障', 'solved_by':u'engineer01' }, { 'id': 1, 'user_id': 'xiaoli', 'title': u'上不了网', 'room':u'812', 'pc_id':u'pc01', 'desc':u'上不了网,持续5分钟', 'report_time':u'2023-08-01 14:52', 'receive_time':u'2023-08-01 15:52', 'solve_time':u'2023-08-01 16:52', 'status':u'已解决', 'type':u'网络故障', 'solved_by':u'engineer02' }, ] #查看工单列表,GET操作 @app.route('/', methods=['GET']) @app.route('/workorder/api/v1/order_list', methods=['GET']) def get_tasks(): return jsonify({'workOrder': workOrder}) #get one specific order,GET操作 @app.route('/workorder/api/v1/order/<int:id>', methods=['GET']) def get_task(id): for order in workOrder: if order['id']==id: return jsonify({'workOrder': order}) abort(404) #insert a new order,POST操作 @app.route('/workorder/api/v1/add_order', methods=['POST']) def create_task(): if not request.form or not 'title' in request.form: abort(400) new_order= { 'id': workOrder[-1]['id'] + 1, 'user_id': request.form['user_id'], 'title': request.form['title'], 'room': request.form[''], 'pc_id': request.form[''], 'desc': request.form[''], 'report_time': request.form[''], 'receive_time': '', 'solve_time': '', 'status': '待查看', 'type': request.form[''], 'solved_by':'' } workOrder.append(new_order) return jsonify({'new_Order': new_order}) #update a task,PUT操作 @app.route('/workorder/api/v1/order/<int:id>/<string:action>/<string:engineer>', methods=['PUT']) def update_task(id): for order in workOrder: if order['id'] == id: order['solved_by'] = request.form['engineer'] action = request.form['action'] current_time = datetime.datetime.now() #print(current_time) if action == 'receive' : order['receive_time'] =current_time order['status']='正在处理' elif action == 'solve': order['solve_time'] =current_time order['status']= '已解决' return jsonify({'workOrder': workOrder}) abort(400) #delete a book,DELETE操作 @app.route('/workorder/api/v1/order/<int:id>', methods=['DELETE']) def delete_task(id): for order in workOrder: if order['id'] == id: workOrder.remove(order) return jsonify({'result': True}) abort(404) return jsonify({'result': True}) if __name__ == '__main__': app.run(host='0.0.0.0',debug=True)
运行:nohup python3 manager.py > flask_log.txt 2>&1 &