user.py 4.57 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5
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
6
from models.user import  postUserSchema, deleteUserSchema, getListUserSchema, getListUsersSchema, getUserSchema, putUserSchema
wanli's avatar
wanli committed
7
from webcreator.log import logger
wanli's avatar
wanli committed
8 9
from webcreator.response import ResponseCode, response_result

wanli's avatar
wanli committed
10
class UserResourceList(Resource):
wanli's avatar
wanli committed
11 12 13 14 15 16 17 18 19 20 21 22 23
    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
24
            logger.warn(json_payload)
wanli's avatar
wanli committed
25
            data = getListUserSchema.load(json_payload)
26
            result = signalManager.actionGetListUser.emit(data)
wanli's avatar
wanli committed
27
            json_dumps = getListUserSchema.dump(result)
28 29 30 31 32
            if result[0]:
                json_dumps = getListUsersSchema.dump(result[1])
                logger.warn(json_dumps)
                return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
            return response_result(ResponseCode.REQUEST_ERROR)
wanli's avatar
wanli committed
33 34 35 36
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)

37
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
38 39 40 41
    def post(self):
        try:
            json_payload = request.json
            data = postUserSchema.load(json_payload)
wanli's avatar
wanli committed
42
            result = signalManager.actionPostUser.emit(data)
43 44 45 46 47
            if result[0] == False:
                # json_dumps = postUserSchema.dump(result)
                return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
            logger.warn(result)
            return response_result(ResponseCode.OK)
wanli's avatar
wanli committed
48 49 50 51 52
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)


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

59
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
60
    def get(self, uuid):
wanli's avatar
wanli committed
61 62 63 64 65 66 67
        # 特殊参数,即不是从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
68
            print("========>", uuid, json_payload)
wanli's avatar
wanli committed
69
            data = getUserSchema.load(json_payload)
70 71 72 73 74
            result = signalManager.actionGetUser.emit(uuid, data)
            if result[0]:
                json_dumps = getUserSchema.dump(result[1])
                return response_result(ResponseCode.OK, data=json_dumps)
            return response_result(ResponseCode.NO_DATA)
wanli's avatar
wanli committed
75 76 77 78 79
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)


80
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
81
    def put(self, uuid):
wanli's avatar
wanli committed
82 83
        try:
            json_payload = request.json
wanli's avatar
wanli committed
84
            print("========>", uuid, json_payload)
wanli's avatar
wanli committed
85
            data = putUserSchema.load(json_payload)
86 87 88 89 90
            result = signalManager.actionPutUser.emit(uuid, data)
            if result[0] == True:
                # json_dumps = putUserSchema.dump(result)
                return response_result(ResponseCode.OK)
            return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
wanli's avatar
wanli committed
91 92 93 94 95
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)


96
    @jwt_required(locations=["headers"])
wanli's avatar
wanli committed
97
    def delete(self, uuid):
wanli's avatar
wanli committed
98 99
        try:
            json_payload = request.json
wanli's avatar
wanli committed
100
            print("========>", uuid, json_payload)
101 102 103 104 105
            # data = deleteUserSchema.load(json_payload)
            result = signalManager.actionDeleteUser.emit(uuid)
            if result[0] == True:
                return response_result(ResponseCode.OK)
            return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
wanli's avatar
wanli committed
106 107 108
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)