area.py 2.84 KB
Newer Older
wanli's avatar
wanli committed
1 2 3
'''
Author: your name
Date: 2021-06-30 18:03:41
wanli's avatar
wanli committed
4 5
LastEditTime: 2021-07-12 11:31:06
LastEditors: Please set LastEditors
wanli's avatar
wanli committed
6 7 8
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\area.py
'''
wanli's avatar
wanli committed
9 10 11
from datetime import datetime
from application.app import db
from models.area import AreaModel
wanli's avatar
wanli committed
12
from webcreator.log import logger
wanli's avatar
wanli committed
13
from webcreator.response import ResponseCode
wanli's avatar
wanli committed
14 15 16 17 18

class AreaResource(object):
    def __init__(self):
        super().__init__()

19
    def get(self, uuid, params):
20
        # handle business
21 22 23
        filters = [AreaModel.is_delete==False, AreaModel.uuid==uuid]
        result = AreaModel.query.filter(*filters).first()
        if result:
wanli's avatar
wanli committed
24 25
            return result, ResponseCode.HTTP_SUCCESS
        return result, ResponseCode.HTTP_NOT_FOUND
wanli's avatar
wanli committed
26 27 28 29

    def getList(self, params):
        # handle business
        logger.warn(params)
30 31
        filters = [AreaModel.is_delete==False]
        result = AreaModel.query.filter(*filters).order_by(AreaModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
32

wanli's avatar
wanli committed
33 34 35
        if result:
            return result, ResponseCode.HTTP_SUCCESS
        return None, ResponseCode.HTTP_NOT_FOUND
36

37
    def post(self, params, jwt={}):
38
        # handle business
wanli's avatar
wanli committed
39
        result = AreaModel.query.filter(AreaModel.areaCode == params.get('areaCode')).first()
40 41
        if result and result.is_delete:
            result.is_delete = False
wanli's avatar
wanli committed
42
            result.update_by = jwt.get("id", "")
43 44
            result.update_date = datetime.now()
            db.session.commit()
wanli's avatar
wanli committed
45
            return True, ResponseCode.HTTP_SUCCESS
46
        elif result and result.is_delete == False:
wanli's avatar
wanli committed
47
            return False, ResponseCode.HTTP_INVAILD_REQUEST
wanli's avatar
wanli committed
48 49 50 51

        result = AreaModel(**params)
        db.session.add(result)
        db.session.commit()
wanli's avatar
wanli committed
52
        return (True, None)
53

54
    def put(self, uuid, params, jwt={}):
55
        # handle business
56 57
        result = AreaModel.query.filter(AreaModel.uuid==uuid).first()
        if not result:
wanli's avatar
wanli committed
58
            return False, ResponseCode.HTTP_NOT_FOUND
59

60 61 62
        if params:
            for key, value in params.items():
                if value != None: setattr(result, key, value)
63
            result.update_by = jwt.get("id", "")
64 65
            result.update_date = datetime.now()
            db.session.commit()
wanli's avatar
wanli committed
66
            return True, ResponseCode.HTTP_SUCCESS
67
        else:
wanli's avatar
wanli committed
68
            return False, ResponseCode.HTTP_INVAILD_REQUEST
69

70
    def delete(self, uuid, jwt={}):
71
        # handle business
72 73
        result = AreaModel.query.filter(AreaModel.uuid==uuid).first()
        if not result:
wanli's avatar
wanli committed
74
            return False, ResponseCode.HTTP_NOT_FOUND
75 76 77 78 79 80

        result.update_by = jwt.get("id", "")
        result.update_date = datetime.now()
        result.is_delete = True
        db.session.delete(result)
        db.session.commit()
wanli's avatar
wanli committed
81
        return True, ResponseCode.HTTP_SUCCESS
wanli's avatar
wanli committed
82

wanli's avatar
wanli committed
83
areaManager = AreaResource()