Rev 6535 | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 11-Sep-2012@author: mandeep'''from elixir.fields import Fieldfrom elixir.options import using_options, using_table_optionsfrom shop2020.model.v1.order.impl.model.RechargeOrder import RechargeOrderfrom sqlalchemy.types import String, Integerfrom shop2020.thriftpy.model.v1.order.ttypes import RechargeOrder as TRechargeOrder, RechargeTypeclass DTHRechargeOrder(RechargeOrder):'''classdocs'''dthAccountNumber = Field(String(256))dthOperatorId = Field(Integer)using_options(shortnames=True, inheritance='multi')using_table_options(mysql_engine="InnoDB")def __init__(self):'''Constructor'''super(DTHRechargeOrder, self).__init__()self.idPrefix = 'DTHR'def to_thrift_object(self):dthRechargeOrder = TRechargeOrder()super(DTHRechargeOrder, self).to_thrift_object(dthRechargeOrder)dthRechargeOrder.deviceNumber = self.dthAccountNumberdthRechargeOrder.operatorId = self.dthOperatorIddthRechargeOrder.rechargeType = RechargeType.DTHreturn dthRechargeOrderdef from_thrift_object(self, thriftDthRechargeOrder):super(DTHRechargeOrder, self).from_thrift_object(thriftDthRechargeOrder)self.dthAccountNumber = thriftDthRechargeOrder.deviceNumberself.dthOperatorId = thriftDthRechargeOrder.operatorIdif not self.is_valid():raise ValueError()def is_valid(self):return super(DTHRechargeOrder, self).is_valid() and self.totalAmount <= 2000