Rev 6031 | 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 shop2020.thriftpy.model.v1.order.ttypes import \RechargeOrder as TRechargeOrder, RechargeTypefrom sqlalchemy.types import String, Integerclass MobileRechargeOrder(RechargeOrder):'''classdocs'''mobileNumber = Field(String(256))mobileOperatorId = Field(Integer)rechargePlan = Field(String(256))using_options(shortnames=True, inheritance='multi')using_table_options(mysql_engine="InnoDB")def __init__(self):'''Constructor'''super(MobileRechargeOrder, self).__init__()self.idPrefix = 'MOBR'def to_thrift_object(self):mobileRechargeOrder = TRechargeOrder()super(MobileRechargeOrder, self).to_thrift_object(mobileRechargeOrder)mobileRechargeOrder.deviceNumber = self.mobileNumbermobileRechargeOrder.operatorId = self.mobileOperatorIdmobileRechargeOrder.plan = self.rechargePlanmobileRechargeOrder.rechargeType = RechargeType.MOBILEreturn mobileRechargeOrderdef from_thrift_object(self, thriftMobileRechargeOrder):super(MobileRechargeOrder, self).from_thrift_object(thriftMobileRechargeOrder)self.mobileNumber = thriftMobileRechargeOrder.deviceNumberself.mobileOperatorId = thriftMobileRechargeOrder.operatorIdself.rechargePlan = thriftMobileRechargeOrder.planif not self.is_valid():raise ValueError()def is_valid(self):return super(MobileRechargeOrder, self).is_valid() and self.totalAmount < 5000