area.py 4.29 KB
Newer Older
1 2 3
#!/usr/bin/env python
# -*- coding: utf_8 -*-

wanli's avatar
wanli committed
4 5 6 7 8
from flask import current_app, jsonify, request
from flask_restful import Resource
from flask_restful.reqparse import RequestParser
from flask_jwt_extended import ( jwt_required, get_jwt_identity )
from application.signal_manager import signalManager
wanli's avatar
wanli committed
9
from models.area import  postAreaSchema, deleteAreaSchema, getListAreaSchema, getListAreasSchema, getAreaSchema, putAreaSchema
wanli's avatar
wanli committed
10
from webcreator.log import logger
wanli's avatar
wanli committed
11 12
from webcreator.response import ResponseCode, response_result

13

wanli's avatar
wanli committed
14
class AreaResourceList(Resource):
wanli's avatar
wanli committed
15 16 17 18 19 20 21 22 23 24 25 26 27
    def __init__(self):
        pass
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser = RequestParser()

    def get(self):
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser.add_argument("page", type=int, location="args", default=1)
        # self.parser.add_argument("pageSize", type=int, location="args", default=15)
        # args = self.parser.parse_args()

        try:
            json_payload = request.json
wanli's avatar
wanli committed
28
            logger.warn(json_payload)
29
            data = getListAreaSchema.load(json_payload)
30
            result, message = signalManager.actionGetListArea.emit(data)
31
            json_dumps = getListAreaSchema.dump(result)
32 33
            if result:
                json_dumps = getListAreasSchema.dump(result.items)
34
                logger.warn(json_dumps)
35 36
                return response_result(message, data=json_dumps, count=result.total)
            return response_result(message)
wanli's avatar
wanli committed
37 38
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
39
            return response_result(ResponseCode.HTTP_SERVER_ERROR)
wanli's avatar
wanli committed
40

41
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
42 43 44 45
    def post(self):
        try:
            json_payload = request.json
            data = postAreaSchema.load(json_payload)
46 47 48 49
            result, message = signalManager.actionPostArea.emit(data)
            logger.info(result)
            logger.warn(message)
            return response_result(message)
wanli's avatar
wanli committed
50 51
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
52
            return response_result(ResponseCode.HTTP_SERVER_ERROR)
wanli's avatar
wanli committed
53 54


wanli's avatar
wanli committed
55
class AreaResource(Resource):
wanli's avatar
wanli committed
56 57 58 59 60
    def __init__(self):
        pass
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser = RequestParser()

61
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
62
    def get(self, uuid):
wanli's avatar
wanli committed
63 64 65 66 67 68 69
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser.add_argument("page", type=int, location="args", default=1)
        # self.parser.add_argument("pageSize", type=int, location="args", default=15)
        # args = self.parser.parse_args()

        try:
            json_payload = request.json
wanli's avatar
wanli committed
70
            print("========>", uuid, json_payload)
wanli's avatar
wanli committed
71
            data = getAreaSchema.load(json_payload)
72 73 74 75 76
            result, message = signalManager.actionGetArea.emit(uuid, data)
            if result:
                json_dumps = getAreaSchema.dump(result)
                return response_result(message, data=json_dumps)
            return response_result(message)
wanli's avatar
wanli committed
77 78
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
79
            return response_result(ResponseCode.HTTP_SERVER_ERROR)
wanli's avatar
wanli committed
80 81


82
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
83
    def put(self, uuid):
wanli's avatar
wanli committed
84 85
        try:
            json_payload = request.json
wanli's avatar
wanli committed
86
            print("========>", uuid, json_payload)
wanli's avatar
wanli committed
87
            data = putAreaSchema.load(json_payload)
88 89 90 91
            result, message = signalManager.actionPutArea.emit(uuid, data)
            logger.info(result)
            logger.info(message)
            return response_result(message, data=result)
wanli's avatar
wanli committed
92 93
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
94
            return response_result(ResponseCode.HTTP_SERVER_ERROR)
wanli's avatar
wanli committed
95 96


97
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
98
    def delete(self, uuid):
wanli's avatar
wanli committed
99 100
        try:
            json_payload = request.json
wanli's avatar
wanli committed
101
            print("========>", uuid, json_payload)
102
            # data = deleteAreaSchema.load(json_payload)
103 104
            result, message = signalManager.actionDeleteArea.emit(uuid)
            return response_result(message, data=result)
wanli's avatar
wanli committed
105 106
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
107
            return response_result(ResponseCode.HTTP_SERVER_ERROR)