area.py 3.64 KB
Newer Older
1 2
#!/usr/bin/env python
# -*- coding: utf_8 -*-
wanli's avatar
wanli committed
3 4 5 6 7 8 9 10

from application.app import db, ma
from .base import PrimaryModel 
from marshmallow import Schema, fields, INCLUDE, EXCLUDE

class AreaModel(PrimaryModel):
    __tablename__ = 'evm_area'

11 12
    areaCode = db.Column(db.String(20), index = True, nullable = False, default = '')
    areaName = db.Column(db.String(20), index = True, nullable = False, default = '')
wanli's avatar
wanli committed
13
    level = db.Column(db.Integer, nullable = False, default = 1)
14 15 16 17
    cityCode = db.Column(db.Integer, nullable = True, default = 0)
    center = db.Column(db.String(20), index = True, nullable = False, default = '')
    parentId = db.Column(db.String(20), nullable = True, default = '')
    hasChildren = db.Column(db.Boolean, nullable = True, default = False)
wanli's avatar
wanli committed
18 19 20 21 22

    # __table_args__ = (
    #     db.Index('idx_xxx', 'xxx', mysql_using='btree'),
    # )

23
    def __init__(self, areaCode='', areaName='', level=1, cityCode=0, center='', parentId='', hasChildren=False):
wanli's avatar
wanli committed
24 25 26 27 28 29 30 31 32 33 34
        self.areaCode = areaCode
        self.areaName = areaName
        self.level = level
        self.cityCode = cityCode
        self.center = center
        self.parentId = parentId
        self.hasChildren = hasChildren

    def __repr__(self):
        return '<AreaModel %r>' % (self.areaCode)

wanli's avatar
wanli committed
35
    def to_dict(self):
wanli's avatar
wanli committed
36 37 38 39 40 41 42 43 44 45 46 47 48
        return {
            'areaCode': self.areaCode,
            'areaName': self.areaName,
            'level': self.level,
            'cityCode': self.cityCode,
            'center': self.center,
            'parentId': self.parentId,
            'hasChildren': self.hasChildren,
        }

class PostAreaSchema(ma.SQLAlchemySchema):
    class Meta:
        # unknown = INCLUDE # 未知字段默认包含
wanli's avatar
wanli committed
49
        unknown = EXCLUDE # 未知字段默认排除
wanli's avatar
wanli committed
50 51 52 53 54
        model = AreaModel

    areaCode = ma.auto_field()
    areaName = ma.auto_field()
    level = ma.auto_field()
wanli's avatar
wanli committed
55 56
    parentId = ma.auto_field()
    hasChildren = ma.auto_field()
wanli's avatar
wanli committed
57 58 59 60 61 62 63 64
    cityCode = ma.auto_field()
    center = ma.auto_field()

postAreaSchema = PostAreaSchema()

class DeleteAreaSchema(ma.SQLAlchemySchema):
    class Meta:
        # unknown = INCLUDE # 未知字段默认包含
wanli's avatar
wanli committed
65
        unknown = EXCLUDE # 未知字段默认排除
wanli's avatar
wanli committed
66 67 68 69 70
        model = AreaModel


deleteAreaSchema = DeleteAreaSchema()

71
class GetlistAreaSchema(ma.SQLAlchemySchema):
wanli's avatar
wanli committed
72 73
    class Meta:
        # unknown = INCLUDE # 未知字段默认包含
wanli's avatar
wanli committed
74
        unknown = EXCLUDE # 未知字段默认排除
wanli's avatar
wanli committed
75 76 77 78 79 80 81 82 83 84
        model = AreaModel

    page = fields.Integer(required=False)
    pageSize = fields.Integer(required=False)
    areaName = ma.auto_field()
    level = ma.auto_field()
    parentId = ma.auto_field()
    hasChildren = ma.auto_field()
    field = fields.String(required=False, length=None)

85 86
getListAreaSchema = GetlistAreaSchema()
getListAreasSchema = GetlistAreaSchema(many=True)
wanli's avatar
wanli committed
87 88 89 90

class GetAreaSchema(ma.SQLAlchemySchema):
    class Meta:
        # unknown = INCLUDE # 未知字段默认包含
wanli's avatar
wanli committed
91
        unknown = EXCLUDE # 未知字段默认排除
wanli's avatar
wanli committed
92 93 94 95 96 97 98 99 100 101 102 103 104
        model = AreaModel

    areaName = ma.auto_field()
    level = ma.auto_field()
    parentId = ma.auto_field()
    hasChildren = ma.auto_field()
    field = fields.String(required=False, length=None)

getAreaSchema = GetAreaSchema()

class PutAreaSchema(ma.SQLAlchemySchema):
    class Meta:
        # unknown = INCLUDE # 未知字段默认包含
wanli's avatar
wanli committed
105
        unknown = EXCLUDE # 未知字段默认排除
106 107
        model = AreaModel

108 109 110 111
    areaName = fields.String(required=False, length=None)
    level = fields.Integer(required=False)
    parentId = fields.String(required=False, length=None)
    hasChildren = fields.Boolean(required=False)
wanli's avatar
wanli committed
112 113 114
    field = fields.String(required=False, length=None)

putAreaSchema = PutAreaSchema()