Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2687 chandransh 1
'''
2
Created on 25-Jul-2011
3
 
4
@author: Chandranshu
5
'''
6
 
7
import datetime
8
 
9
from elixir.entity import Entity
10
from elixir.fields import Field
11
from sqlalchemy.types import String, Integer, DateTime, Boolean, Float
12
from elixir.options import using_options, using_table_options
13
 
14
from shop2020.thriftpy.model.v1.order.ttypes import ReturnOrder as TReturnOrder
15
from shop2020.utils.Utils import to_java_date
16
 
17
class ReturnOrder(Entity):
18
    '''
19
    classdocs
20
    '''
21
    orderId = Field(Integer, primary_key=True)
22
    jacketNumber = Field(Integer)
23
    invoiceNumber = Field(String(30))
24
    itemId = Field(Integer)
25
    productGroup = Field(String(100))
26
    brand = Field(String(100))
27
    modelNumber = Field(String(50))
28
    modelName = Field(String(50))
29
    color = Field(String(20))
30
    totalPrice = Field(Float)
31
    transferPrice = Field(Float)
32
    processedStatus = Field(Boolean)
33
    createdAt = Field(DateTime)
34
    processedAt = Field(DateTime)
35
    using_options(shortnames=True)
36
    using_table_options(mysql_engine="InnoDB")
37
 
38
    def __init__(self, order):
39
        '''
40
        Constructor
41
        '''
42
        self.orderId = order.id
43
        self.jacketNumber = order.jacket_number
44
        self.invoiceNumber = order.invoice_number
45
 
46
        line_item = order.lineitems[0]
47
        self.itemId = line_item.item_id
48
        self.productGroup = line_item.productGroup
49
        self.brand = line_item.brand
50
        self.modelNumber = line_item.model_number
51
        self.modelName = line_item.model_name
52
        self.color = line_item.color
53
        self.totalPrice = line_item.total_price
54
        self.transferPrice = line_item.transfer_price
55
        self.processedStatus = False
56
        self.createdAt = datetime.datetime.now()
57
 
58
    def to_thrift_object(self):
59
        '''
60
        Returns the thrift object corresponding to this ReturnOrder.
61
        '''
62
        t_return_order = TReturnOrder()
63
        t_return_order.orderId = self.orderId
64
        t_return_order.jacketNumber = self.jacketNumber
65
        t_return_order.invoiceNumber = self.invoiceNumber
66
        t_return_order.itemId = self.itemId
67
        t_return_order.productGroup = self.productGroup
68
        t_return_order.brand = self.brand
69
        t_return_order.modelNumber = self.modelNumber
70
        t_return_order.modelName = self.modelName
71
        t_return_order.color = self.color
72
        t_return_order.totalPrice = self.totalPrice
73
        t_return_order.transferPrice = self.transferPrice
74
        t_return_order.processedStatus = self.processedStatus
75
        t_return_order.createdAt = to_java_date(self.createdAt)
76
        if self.processedAt is not None:
77
            t_return_order.processedAt = to_java_date(self.processedAt)
78
        return t_return_order