| Line 398... |
Line 398... |
| 398 |
|
398 |
|
| 399 |
def get_order_list(order_ids):
|
399 |
def get_order_list(order_ids):
|
| 400 |
orders = Order.query.filter(Order.id.in_(tuple(order_ids)))
|
400 |
orders = Order.query.filter(Order.id.in_(tuple(order_ids)))
|
| 401 |
return orders
|
401 |
return orders
|
| 402 |
|
402 |
|
| - |
|
403 |
def get_order_list_for_vendor(order_ids, vendor_id):
|
| - |
|
404 |
if vendor_id == -1:
|
| - |
|
405 |
return get_order_list(order_ids)
|
| - |
|
406 |
else:
|
| - |
|
407 |
orders = Order.query.filter_by(vendorId = vendor_id).filter(Order.id.in_(tuple(order_ids)))
|
| - |
|
408 |
return orders
|
| - |
|
409 |
|
| 403 |
def get_orders_for_customer(customer_id, from_date, to_date, statuses):
|
410 |
def get_orders_for_customer(customer_id, from_date, to_date, statuses):
|
| 404 |
if not customer_id:
|
411 |
if not customer_id:
|
| 405 |
raise TransactionServiceException(101, "bad customer id")
|
412 |
raise TransactionServiceException(101, "bad customer id")
|
| 406 |
query = Order.query.filter(Order.customer_id == customer_id)
|
413 |
query = Order.query.filter(Order.customer_id == customer_id)
|
| 407 |
if statuses:
|
414 |
if statuses:
|
| Line 1478... |
Line 1485... |
| 1478 |
order.statusDescription = "Order Cancelled"
|
1485 |
order.statusDescription = "Order Cancelled"
|
| 1479 |
elif order.status == OrderStatus.BILLED:
|
1486 |
elif order.status == OrderStatus.BILLED:
|
| 1480 |
__create_return_order(order)
|
1487 |
__create_return_order(order)
|
| 1481 |
order.statusDescription = "Order Cancelled"
|
1488 |
order.statusDescription = "Order Cancelled"
|
| 1482 |
elif order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT]:
|
1489 |
elif order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT]:
|
| - |
|
1490 |
if order.status != OrderStatus.RTO_LOST_IN_TRANSIT:
|
| 1483 |
__create_return_order(order)
|
1491 |
__create_return_order(order)
|
| 1484 |
order.statusDescription = "RTO Refunded"
|
1492 |
order.statusDescription = "RTO Refunded"
|
| 1485 |
elif order.status in [OrderStatus.LOST_IN_TRANSIT]:
|
1493 |
elif order.status in [OrderStatus.LOST_IN_TRANSIT]:
|
| 1486 |
__create_return_order(order)
|
1494 |
#__create_return_order(order)
|
| 1487 |
order.statusDescription = "Lost in Transit Refunded"
|
1495 |
order.statusDescription = "Lost in Transit Refunded"
|
| 1488 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
1496 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
| - |
|
1497 |
if order.status != OrderStatus.DOA_LOST_IN_TRANSIT:
|
| 1489 |
__create_return_order(order)
|
1498 |
__create_return_order(order)
|
| 1490 |
__create_refund(order)
|
1499 |
__create_refund(order)
|
| 1491 |
order.statusDescription = "DOA Refunded"
|
1500 |
order.statusDescription = "DOA Refunded"
|
| 1492 |
elif order.status in [OrderStatus.RET_PRODUCT_UNUSABLE, OrderStatus.RET_PRODUCT_USABLE, OrderStatus.RET_RECEIVED_DAMAGED, OrderStatus.RET_LOST_IN_TRANSIT] :
|
1501 |
elif order.status in [OrderStatus.RET_PRODUCT_UNUSABLE, OrderStatus.RET_PRODUCT_USABLE, OrderStatus.RET_RECEIVED_DAMAGED, OrderStatus.RET_LOST_IN_TRANSIT] :
|
| - |
|
1502 |
if order.status != OrderStatus.RET_LOST_IN_TRANSIT:
|
| 1493 |
__create_return_order(order)
|
1503 |
__create_return_order(order)
|
| 1494 |
__create_refund(order)
|
1504 |
__create_refund(order)
|
| 1495 |
order.statusDescription = "Return Refunded"
|
1505 |
order.statusDescription = "Return Refunded"
|
| 1496 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
1506 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
| 1497 |
if order.previousStatus in [OrderStatus.COD_VERIFICATION_PENDING, OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
1507 |
if order.previousStatus in [OrderStatus.COD_VERIFICATION_PENDING, OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
| 1498 |
__update_inventory_reservation(order)
|
1508 |
__update_inventory_reservation(order)
|
| Line 1525... |
Line 1535... |
| 1525 |
}
|
1535 |
}
|
| 1526 |
if order.status not in status_transition.keys():
|
1536 |
if order.status not in status_transition.keys():
|
| 1527 |
raise TransactionServiceException(114, "This order can't be refunded")
|
1537 |
raise TransactionServiceException(114, "This order can't be refunded")
|
| 1528 |
|
1538 |
|
| 1529 |
if order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT] :
|
1539 |
if order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT] :
|
| - |
|
1540 |
if order.status != OrderStatus.RTO_LOST_IN_TRANSIT:
|
| 1530 |
__create_return_order(order)
|
1541 |
__create_return_order(order)
|
| 1531 |
__create_refund(order)
|
1542 |
__create_refund(order)
|
| 1532 |
order.statusDescription = "RTO Refunded"
|
1543 |
order.statusDescription = "RTO Refunded"
|
| 1533 |
elif order.status in [OrderStatus.LOST_IN_TRANSIT]:
|
1544 |
elif order.status in [OrderStatus.LOST_IN_TRANSIT]:
|
| 1534 |
__create_return_order(order)
|
1545 |
#__create_return_order(order)
|
| 1535 |
__create_refund(order)
|
1546 |
__create_refund(order)
|
| 1536 |
order.statusDescription = "Lost in Transit Refunded"
|
1547 |
order.statusDescription = "Lost in Transit Refunded"
|
| 1537 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
1548 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
| - |
|
1549 |
if order.status != OrderStatus.DOA_LOST_IN_TRANSIT:
|
| 1538 |
__create_return_order(order)
|
1550 |
__create_return_order(order)
|
| 1539 |
__create_refund(order)
|
1551 |
__create_refund(order)
|
| 1540 |
order.statusDescription = "DOA Refunded"
|
1552 |
order.statusDescription = "DOA Refunded"
|
| 1541 |
elif order.status in [OrderStatus.RET_PRODUCT_UNUSABLE, OrderStatus.RET_PRODUCT_USABLE, OrderStatus.RET_RECEIVED_DAMAGED, OrderStatus.RET_LOST_IN_TRANSIT] :
|
1553 |
elif order.status in [OrderStatus.RET_PRODUCT_UNUSABLE, OrderStatus.RET_PRODUCT_USABLE, OrderStatus.RET_RECEIVED_DAMAGED, OrderStatus.RET_LOST_IN_TRANSIT] :
|
| - |
|
1554 |
if order.status != OrderStatus.RET_LOST_IN_TRANSIT:
|
| 1542 |
__create_return_order(order)
|
1555 |
__create_return_order(order)
|
| 1543 |
__create_refund(order)
|
1556 |
__create_refund(order)
|
| 1544 |
order.statusDescription = "Return Refunded"
|
1557 |
order.statusDescription = "Return Refunded"
|
| 1545 |
elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
1558 |
elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
| 1546 |
__update_inventory_reservation(order)
|
1559 |
__update_inventory_reservation(order)
|
| 1547 |
order.statusDescription = "Order Refunded"
|
1560 |
order.statusDescription = "Order Refunded"
|
| Line 2318... |
Line 2331... |
| 2318 |
query = query.filter(Order.billing_timestamp <= billing_date_to)
|
2331 |
query = query.filter(Order.billing_timestamp <= billing_date_to)
|
| 2319 |
|
2332 |
|
| 2320 |
return query.all()
|
2333 |
return query.all()
|
| 2321 |
|
2334 |
|
| 2322 |
def get_orders_where_vendor_not_paid(vendor_id):
|
2335 |
def get_orders_where_vendor_not_paid(vendor_id):
|
| 2323 |
query = Order.query.filter_by(vendorId = vendor_id)
|
- |
|
| 2324 |
query = query.filter(Order.billing_timestamp != None)
|
2336 |
query = Order.query.filter(Order.billing_timestamp != None)
|
| 2325 |
query = query.filter(Order.vendor_paid != True)
|
2337 |
query = query.filter(Order.vendor_paid != True)
|
| 2326 |
orderStatusGroup = OrderStatusGroups()
|
2338 |
if vendor_id != -1:
|
| 2327 |
query = query.filter(not_(Order.status.in_(orderStatusGroup.refundedOrders)))
|
2339 |
query = query.filter_by(vendorId = vendor_id)
|
| 2328 |
#query = query.filter(not_(Order.status.in_([15,31,32,33,34,48,50,54,56,70,72,76,74,79])))
|
- |
|
| 2329 |
#(15,31,32,33,34,48,54,70,72,74)
|
2340 |
|
| 2330 |
return query.all()
|
2341 |
return query.all()
|
| 2331 |
|
2342 |
|
| 2332 |
def save_bluedart_settlements(map_awb_and_amount):
|
2343 |
def save_bluedart_settlements(map_awb_and_amount):
|
| 2333 |
payment_client = PaymentClient().get_client()
|
2344 |
payment_client = PaymentClient().get_client()
|
| 2334 |
|
2345 |
|
| Line 2341... |
Line 2352... |
| 2341 |
settlement.paymentGatewayId = payment.gatewayId
|
2352 |
settlement.paymentGatewayId = payment.gatewayId
|
| 2342 |
settlement.netCollection = amount
|
2353 |
settlement.netCollection = amount
|
| 2343 |
session.commit()
|
2354 |
session.commit()
|
| 2344 |
|
2355 |
|
| 2345 |
def save_payment_settlements(settlementDate, paymentGatewayId, referenceId, serviceTax, otherCharges, netCollection):
|
2356 |
def save_payment_settlements(settlementDate, paymentGatewayId, referenceId, serviceTax, otherCharges, netCollection):
|
| - |
|
2357 |
originalOrderId = None
|
| - |
|
2358 |
if paymentGatewayId == 4:
|
| - |
|
2359 |
cod_order = Order.get_by(id = referenceId)
|
| - |
|
2360 |
if cod_order.originalOrderId:
|
| - |
|
2361 |
originalOrderId = cod_order.originalOrderId
|
| 2346 |
|
2362 |
else:
|
| - |
|
2363 |
originalOrderId = referenceId
|
| 2347 |
settlement = PaymentSettlement()
|
2364 |
settlement = PaymentSettlement()
|
| 2348 |
settlement.settlementDate = settlementDate
|
2365 |
settlement.settlementDate = settlementDate
|
| 2349 |
settlement.paymentGatewayId = paymentGatewayId
|
2366 |
settlement.paymentGatewayId = paymentGatewayId
|
| - |
|
2367 |
if originalOrderId is not None:
|
| - |
|
2368 |
settlement.originalOrderId = originalOrderId
|
| 2350 |
settlement.referenceId = referenceId
|
2369 |
settlement.referenceId = referenceId
|
| 2351 |
settlement.serviceTax = serviceTax
|
2370 |
settlement.serviceTax = serviceTax
|
| 2352 |
settlement.otherCharges = otherCharges
|
2371 |
settlement.otherCharges = otherCharges
|
| 2353 |
settlement.netCollection = netCollection
|
2372 |
settlement.netCollection = netCollection
|
| 2354 |
session.commit()
|
2373 |
session.commit()
|
| 2355 |
|
2374 |
|
| 2356 |
def get_settlement_for_referenceId(reference_id, payment_gateway_id, is_refund = False):
|
2375 |
def get_settlement_for_Prepaid(reference_id, is_refund = False):
|
| 2357 |
query = PaymentSettlement.query.filter_by(referenceId = reference_id)
|
2376 |
query = PaymentSettlement.query.filter_by(referenceId = reference_id).filter(PaymentSettlement.paymentGatewayId != 4)
|
| 2358 |
|
2377 |
|
| 2359 |
if is_refund:
|
2378 |
if is_refund:
|
| 2360 |
query = query.filter(PaymentSettlement.netCollection < 0)
|
2379 |
query = query.filter(PaymentSettlement.netCollection < 0)
|
| 2361 |
else:
|
2380 |
else:
|
| 2362 |
query = query.filter(PaymentSettlement.netCollection > 0)
|
2381 |
query = query.filter(PaymentSettlement.netCollection > 0)
|
| 2363 |
|
2382 |
|
| - |
|
2383 |
return query.first()
|
| - |
|
2384 |
|
| - |
|
2385 |
def get_settlement_for_Cod(orderId, is_refund = False):
|
| - |
|
2386 |
query = PaymentSettlement.query.filter_by(originalOrderId = orderId)
|
| - |
|
2387 |
|
| 2364 |
if payment_gateway_id:
|
2388 |
if is_refund:
|
| - |
|
2389 |
query = query.filter(PaymentSettlement.netCollection < 0)
|
| - |
|
2390 |
else:
|
| 2365 |
query = query.filter_by(paymentGatewayId = payment_gateway_id)
|
2391 |
query = query.filter(PaymentSettlement.netCollection > 0)
|
| 2366 |
|
2392 |
|
| 2367 |
return query.first()
|
2393 |
return query.first()
|
| 2368 |
|
2394 |
|
| 2369 |
def save_ebs_settlement_summary(settlement_id, settlement_date, transaction_date_from, transaction_date_to, amount):
|
2395 |
def save_ebs_settlement_summary(settlement_id, settlement_date, transaction_date_from, transaction_date_to, amount):
|
| 2370 |
summary = EBSSettlementSummary()
|
2396 |
summary = EBSSettlementSummary()
|
| Line 2499... |
Line 2525... |
| 2499 |
original_order_id = paid_order.originalOrderId
|
2525 |
original_order_id = paid_order.originalOrderId
|
| 2500 |
|
2526 |
|
| 2501 |
for order in Order.query.filter(Order.originalOrderId == original_order_id).all():
|
2527 |
for order in Order.query.filter(Order.originalOrderId == original_order_id).all():
|
| 2502 |
order.vendor_paid = True
|
2528 |
order.vendor_paid = True
|
| 2503 |
session.commit()
|
2529 |
session.commit()
|
| 2504 |
original_order_id = order.originalOrderId
|
- |
|
| 2505 |
|
2530 |
|
| 2506 |
original_order = Order.get_by(id = original_order_id)
|
2531 |
original_order = Order.get_by(id = original_order_id)
|
| 2507 |
if original_order: original_order.vendor_paid = True
|
2532 |
if original_order: original_order.vendor_paid = True
|
| 2508 |
session.commit()
|
2533 |
session.commit()
|
| 2509 |
|
2534 |
|
| Line 2515... |
Line 2540... |
| 2515 |
agent.orderId = orderId
|
2540 |
agent.orderId = orderId
|
| 2516 |
agent.verificationAgent = agentEmailId
|
2541 |
agent.verificationAgent = agentEmailId
|
| 2517 |
session.commit()
|
2542 |
session.commit()
|
| 2518 |
|
2543 |
|
| 2519 |
|
2544 |
|
| - |
|
2545 |
def update_order_only_as_paid_to_vendor(order_id):
|
| - |
|
2546 |
paid_order = Order.get_by(id = order_id)
|
| - |
|
2547 |
if paid_order is None:
|
| - |
|
2548 |
raise TransactionServiceException(116, "No order found for the given order id")
|
| - |
|
2549 |
paid_order.vendor_paid = True
|
| - |
|
2550 |
session.commit()
|
| - |
|
2551 |
|
| 2520 |
def get_refunded_orders_marked_paid():
|
2552 |
def get_refunded_orders_marked_paid():
|
| 2521 |
orderStatusGroup = OrderStatusGroups()
|
2553 |
orderStatusGroup = OrderStatusGroups()
|
| 2522 |
return Order.query.filter(Order.vendor_paid == 1).filter(Order.status.in_(orderStatusGroup.refundedOrders)).all()
|
2554 |
return Order.query.filter(Order.vendor_paid == 1).filter(Order.status.in_(orderStatusGroup.refundedOrders)).all()
|
| 2523 |
|
2555 |
|
| 2524 |
def close_session():
|
2556 |
def close_session():
|