| Line 21... |
Line 21... |
| 21 |
from shop2020.model.v1 import order
|
21 |
from shop2020.model.v1 import order
|
| 22 |
from shop2020.model.v1.order.impl import DataService, RechargeService
|
22 |
from shop2020.model.v1.order.impl import DataService, RechargeService
|
| 23 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
|
23 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
|
| 24 |
Order, BatchNoGenerator, InvoiceIDGenerator, TransactionRequiringExtraProcessing, \
|
24 |
Order, BatchNoGenerator, InvoiceIDGenerator, TransactionRequiringExtraProcessing, \
|
| 25 |
OrderInventory, Alert, PaymentSettlement, EBSSettlementSummary, \
|
25 |
OrderInventory, Alert, PaymentSettlement, EBSSettlementSummary, \
|
| 26 |
CodVerificationAgent, Attribute, RechargeVoucherTracker
|
26 |
CodVerificationAgent, Attribute, RechargeVoucherTracker, EmiScheme,\
|
| - |
|
27 |
MiscCharges
|
| 27 |
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
|
28 |
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
|
| 28 |
MobileRechargeOrder
|
29 |
MobileRechargeOrder
|
| 29 |
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
|
30 |
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
|
| 30 |
from shop2020.thriftpy.alert.ttypes import MonitoredEntity, EntityType
|
31 |
from shop2020.thriftpy.alert.ttypes import MonitoredEntity, EntityType
|
| 31 |
from shop2020.thriftpy.logistics.ttypes import DeliveryType, PickUpType
|
32 |
from shop2020.thriftpy.logistics.ttypes import DeliveryType, PickUpType
|
| Line 33... |
Line 34... |
| 33 |
from shop2020.thriftpy.model.v1.inventory.ttypes import BillingType, \
|
34 |
from shop2020.thriftpy.model.v1.inventory.ttypes import BillingType, \
|
| 34 |
InventoryServiceException, WarehouseType, InventoryType
|
35 |
InventoryServiceException, WarehouseType, InventoryType
|
| 35 |
from shop2020.thriftpy.model.v1.order.ttypes import TransactionServiceException, \
|
36 |
from shop2020.thriftpy.model.v1.order.ttypes import TransactionServiceException, \
|
| 36 |
TransactionStatus, OrderStatus, DelayReason, ExtraTransactionProcessingType, \
|
37 |
TransactionStatus, OrderStatus, DelayReason, ExtraTransactionProcessingType, \
|
| 37 |
HotspotAction, TimeoutSummary, OrderStatusGroups, OrderType,\
|
38 |
HotspotAction, TimeoutSummary, OrderStatusGroups, OrderType,\
|
| 38 |
RechargeOrderStatus, RechargeType, RechargeStatistics, DeviceNumberInfo
|
39 |
RechargeOrderStatus, RechargeType, RechargeStatistics, DeviceNumberInfo,\
|
| - |
|
40 |
EmiChargeType
|
| 39 |
from shop2020.thriftpy.model.v1.user.ttypes import VoucherType
|
41 |
from shop2020.thriftpy.model.v1.user.ttypes import VoucherType
|
| 40 |
from shop2020.thriftpy.payments.ttypes import PaymentException
|
42 |
from shop2020.thriftpy.payments.ttypes import PaymentException
|
| 41 |
from shop2020.thriftpy.warehouse.ttypes import ScanType, \
|
43 |
from shop2020.thriftpy.warehouse.ttypes import ScanType, \
|
| 42 |
WarehouseServiceException
|
44 |
WarehouseServiceException
|
| 43 |
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
|
45 |
from shop2020.utils.EmailAttachmentSender import mail, get_attachment_part
|
| Line 163... |
Line 165... |
| 163 |
transaction.session_source = t_transaction.sessionSource
|
165 |
transaction.session_source = t_transaction.sessionSource
|
| 164 |
transaction.session_start_time = to_py_date(t_transaction.sessionStartTime)
|
166 |
transaction.session_start_time = to_py_date(t_transaction.sessionStartTime)
|
| 165 |
transaction.first_source = t_transaction.firstSource
|
167 |
transaction.first_source = t_transaction.firstSource
|
| 166 |
transaction.first_source_start_time = to_py_date(t_transaction.firstSourceTime)
|
168 |
transaction.first_source_start_time = to_py_date(t_transaction.firstSourceTime)
|
| 167 |
|
169 |
|
| - |
|
170 |
totalAmount = 0
|
| 168 |
for t_order in t_orders:
|
171 |
for t_order in t_orders:
|
| 169 |
order = create_order(t_order)
|
172 |
order = create_order(t_order)
|
| - |
|
173 |
totalAmount = totalAmount + order.total_amount
|
| 170 |
order.transaction = transaction
|
174 |
order.transaction = transaction
|
| 171 |
for line_item in t_order.lineitems:
|
175 |
for line_item in t_order.lineitems:
|
| 172 |
litem = LineItem()
|
176 |
litem = LineItem()
|
| 173 |
litem.item_id = line_item.item_id
|
177 |
litem.item_id = line_item.item_id
|
| 174 |
litem.productGroup = line_item.productGroup
|
178 |
litem.productGroup = line_item.productGroup
|
| Line 196... |
Line 200... |
| 196 |
else:
|
200 |
else:
|
| 197 |
litem.added_on = datetime.datetime.now()
|
201 |
litem.added_on = datetime.datetime.now()
|
| 198 |
"""
|
202 |
"""
|
| 199 |
litem.order = order
|
203 |
litem.order = order
|
| 200 |
session.commit()
|
204 |
session.commit()
|
| - |
|
205 |
|
| - |
|
206 |
generateOtherCharges(transaction, t_transaction.emiSchemeId, totalAmount)
|
| - |
|
207 |
|
| 201 |
return transaction.id
|
208 |
return transaction.id
|
| 202 |
|
209 |
|
| - |
|
210 |
def generateOtherCharges(transaction, emiSchemeId, totalAmount):
|
| - |
|
211 |
emiScheme = EmiScheme.get_by(id=emiSchemeId)
|
| - |
|
212 |
if not emiScheme:
|
| - |
|
213 |
return
|
| - |
|
214 |
|
| - |
|
215 |
if totalAmount < emiScheme.minAmount:
|
| - |
|
216 |
return
|
| - |
|
217 |
|
| - |
|
218 |
emiCharge = 0
|
| - |
|
219 |
if emiScheme.chargeType == EmiChargeType.FIXED:
|
| - |
|
220 |
emiCharge = emiScheme.chargeValue
|
| - |
|
221 |
if emiScheme.chargeType == EmiChargeType.PERCENTAGE:
|
| - |
|
222 |
emiCharge = totalAmount*(emiScheme.chargeValue)/100
|
| - |
|
223 |
|
| - |
|
224 |
miscCharge = MiscCharges()
|
| - |
|
225 |
miscCharge.transaction = transaction
|
| - |
|
226 |
miscCharge.chargeType = 1 ##EMI charges
|
| - |
|
227 |
miscCharge.chargeAmount = emiCharge
|
| - |
|
228 |
session.commit()
|
| - |
|
229 |
|
| 203 |
def get_transaction(transaction_id):
|
230 |
def get_transaction(transaction_id):
|
| 204 |
transaction = Transaction.get_by(id=transaction_id)
|
231 |
transaction = Transaction.get_by(id=transaction_id)
|
| 205 |
if not transaction:
|
232 |
if not transaction:
|
| 206 |
raise TransactionServiceException(108, "no such transaction")
|
233 |
raise TransactionServiceException(108, "no such transaction")
|
| 207 |
|
234 |
|
| Line 3760... |
Line 3787... |
| 3760 |
def update_availability_status(operatorId, circleId, isAvailable):
|
3787 |
def update_availability_status(operatorId, circleId, isAvailable):
|
| 3761 |
serviceAvailability = ServiceAvailability.query.filter_by(circleId = circleId).filter_by(operatorId = operatorId).first()
|
3788 |
serviceAvailability = ServiceAvailability.query.filter_by(circleId = circleId).filter_by(operatorId = operatorId).first()
|
| 3762 |
serviceAvailability.isServiceAvailable = isAvailable
|
3789 |
serviceAvailability.isServiceAvailable = isAvailable
|
| 3763 |
session.commit()
|
3790 |
session.commit()
|
| 3764 |
|
3791 |
|
| - |
|
3792 |
def get_misc_charges(transactionId):
|
| - |
|
3793 |
retCharges = {}
|
| - |
|
3794 |
miscCharges = MiscCharges.get_by(transaction_id = transactionId)
|
| - |
|
3795 |
if miscCharges:
|
| - |
|
3796 |
retCharges[1] = miscCharges.chargeValue
|
| - |
|
3797 |
return retCharges
|
| - |
|
3798 |
|
| 3765 |
def close_session():
|
3799 |
def close_session():
|
| 3766 |
if session.is_active:
|
3800 |
if session.is_active:
|
| 3767 |
print "session is active. closing it."
|
3801 |
print "session is active. closing it."
|
| 3768 |
session.close()
|
3802 |
session.close()
|
| 3769 |
|
3803 |
|