| Line 2283... |
Line 2283... |
| 2283 |
return query.all()
|
2283 |
return query.all()
|
| 2284 |
|
2284 |
|
| 2285 |
def get_orders_where_vendor_not_paid(vendor_id):
|
2285 |
def get_orders_where_vendor_not_paid(vendor_id):
|
| 2286 |
query = Order.query.filter_by(vendorId = vendor_id)
|
2286 |
query = Order.query.filter_by(vendorId = vendor_id)
|
| 2287 |
query = query.filter(Order.billing_timestamp != None)
|
2287 |
query = query.filter(Order.billing_timestamp != None)
|
| 2288 |
query = query.filter(Order.status != OrderStatus.PAYMENT_PENDING)
|
2288 |
query = query.filter(Order.vendor_paid != True)
|
| 2289 |
query = query.filter(Order.vendor_paid == False)
|
2289 |
#query = query.filter(not_(Order.status.in_(OrderStatusGroups.refundedOrders)))
|
| - |
|
2290 |
query = query.filter(not_(Order.status.in_([15,31,32,33,34,48,50,54,56,70,72,76,74,79])))
|
| - |
|
2291 |
|
| 2290 |
return query.all()
|
2292 |
return query.all()
|
| 2291 |
|
2293 |
|
| 2292 |
def save_bluedart_settlements(map_awb_and_amount):
|
2294 |
def save_bluedart_settlements(map_awb_and_amount):
|
| 2293 |
payment_client = PaymentClient().get_client()
|
2295 |
payment_client = PaymentClient().get_client()
|
| 2294 |
|
2296 |
|
| Line 2380... |
Line 2382... |
| 2380 |
<body>
|
2382 |
<body>
|
| 2381 |
<div>
|
2383 |
<div>
|
| 2382 |
<p>Dear Customer,</p>
|
2384 |
<p>Dear Customer,</p>
|
| 2383 |
<p>
|
2385 |
<p>
|
| 2384 |
We are pleased to inform that we have shipped the order: $order_id for your product $product_name on $shipping_datetime.
|
2386 |
We are pleased to inform that we have shipped the order: $order_id for your product $product_name on $shipping_datetime.
|
| 2385 |
The shipment will be delivered to you via Bluedart/Aramex Courier Service vide AWB# $awb.
|
2387 |
The shipment will be delivered to you via $courier_name Courier Service vide AWB# $awb.
|
| 2386 |
</p>
|
2388 |
</p>
|
| 2387 |
<p>
|
2389 |
<p>
|
| 2388 |
Expected delivery date for your order is $expected_delivery_date.
|
2390 |
Expected delivery date for your order is $expected_delivery_date.
|
| 2389 |
The product can be delivered to you between business hours of 10am to 6pm.
|
2391 |
The product can be delivered to you between business hours of 10am to 6pm.
|
| 2390 |
You can login to your account on our site and under "Open Orders", please click the AWB and check the current shipment updates for your product.
|
2392 |
You can login to your account on our site and under "Open Orders", please click the AWB and check the current shipment updates for your product.
|
| 2391 |
</p>
|
2393 |
</p>
|
| 2392 |
<p>
|
2394 |
<p>
|
| 2393 |
For scheduling the delivery of your product at some specific timings, we recommend you to contact the helpline for Bluedart/Aramex with your complete AWB#.
|
2395 |
For scheduling the delivery of your product at some specific timings, we recommend you to contact the helpline for Bluedart/Aramex with your complete AWB#.
|
| 2394 |
</p>
|
2396 |
</p>
|
| 2395 |
<p>Bluedart: 011-66111234<br />Aramex: 0124- 39419900</p>
|
2397 |
<p>$courier_name: $courier_phone</p>
|
| 2396 |
<p>
|
2398 |
<p>
|
| 2397 |
Warm Regards,<br />
|
2399 |
Warm Regards,<br />
|
| 2398 |
Saholic Team
|
2400 |
Saholic Team
|
| 2399 |
</p>
|
2401 |
</p>
|
| 2400 |
</div>
|
2402 |
</div>
|
| 2401 |
</body>
|
2403 |
</body>
|
| 2402 |
</html>
|
2404 |
</html>
|
| 2403 |
"""
|
2405 |
"""
|
| - |
|
2406 |
logistics_providers = {1: {'name': 'BlueDart', 'phone': '011-66111234'}, 2: {'name': 'Aramex', 'phone': '0124- 39419900'}}
|
| - |
|
2407 |
provider_name = logistics_providers[order.logistics_provider_id]['name']
|
| - |
|
2408 |
provider_phone = logistics_providers[order.logistics_provider_id]['phone']
|
| - |
|
2409 |
|
| 2404 |
dt = datetime.datetime.strptime(str(order.shipping_timestamp), "%Y-%m-%d %H:%M:%S")
|
2410 |
dt = datetime.datetime.strptime(str(order.shipping_timestamp), "%Y-%m-%d %H:%M:%S")
|
| 2405 |
shipping_date = dt.strftime("%A, %d %B %Y %I:%M%p")
|
2411 |
shipping_date = dt.strftime("%A, %d %B %Y %I:%M%p")
|
| 2406 |
product = "%s %s %s" % (order.lineitems[0].brand, order.lineitems[0].model_name, order.lineitems[0].model_number)
|
2412 |
product = "%s %s %s" % (order.lineitems[0].brand, order.lineitems[0].model_name, order.lineitems[0].model_number)
|
| 2407 |
new_expected_delivery_timestamp = datetime.datetime.now() + timedelta(adjust_delivery_time(datetime.datetime.now(), (order.promised_delivery_time - order.promised_shipping_time).days))
|
2413 |
new_expected_delivery_timestamp = datetime.datetime.now() + timedelta(adjust_delivery_time(datetime.datetime.now(), (order.promised_delivery_time - order.promised_shipping_time).days))
|
| 2408 |
new_expected_delivery_date = new_expected_delivery_timestamp.strftime("%A, %d %B %Y")
|
2414 |
new_expected_delivery_date = new_expected_delivery_timestamp.strftime("%A, %d %B %Y")
|
| 2409 |
info = dict(order_id = order.id, product_name = product, shipping_datetime = shipping_date, awb = order.airwaybill_no, expected_delivery_date = new_expected_delivery_date)
|
2415 |
info = dict(order_id = order.id, product_name = product, shipping_datetime = shipping_date, awb = order.airwaybill_no, expected_delivery_date = new_expected_delivery_date, courier_name = provider_name, courier_phone = provider_phone)
|
| 2410 |
return Template(html).substitute(info)
|
2416 |
return Template(html).substitute(info)
|
| 2411 |
|
2417 |
|
| 2412 |
def enqueue_shipping_confirmation_email(orders):
|
2418 |
def enqueue_shipping_confirmation_email(orders):
|
| 2413 |
# Calling helper service on production
|
2419 |
# Calling helper service on production
|
| 2414 |
helperClient = HelperClient(host_key = "helper_service_server_host_prod").get_client()
|
2420 |
helperClient = HelperClient(host_key = "helper_service_server_host_prod").get_client()
|
| 2415 |
|
2421 |
|
| 2416 |
for order in orders:
|
2422 |
for order in orders:
|
| 2417 |
try:
|
2423 |
try:
|
| 2418 |
emailSubject = 'Shipping Details for Order ID: ' + str(order.id)
|
2424 |
emailSubject = 'Shipping Details for Order ID: ' + str(order.id)
|
| 2419 |
emailBody = get_shipping_confirmation_email_body(order)
|
2425 |
emailBody = get_shipping_confirmation_email_body(order)
|
| 2420 |
helperClient.saveUserEmailForSending(order.customer_email, None, emailSubject, emailBody, '', 'ShippingConfirmation')
|
2426 |
helperClient.saveUserEmailForSending(order.customer_email, None, emailSubject, emailBody, '', 'ShippingConfirmation')
|
| Line 2432... |
Line 2438... |
| 2432 |
query = query.filter(Order.created_timestamp >= start_datetime)
|
2438 |
query = query.filter(Order.created_timestamp >= start_datetime)
|
| 2433 |
query = query.filter(Order.created_timestamp <= end_datetime)
|
2439 |
query = query.filter(Order.created_timestamp <= end_datetime)
|
| 2434 |
return query.all()
|
2440 |
return query.all()
|
| 2435 |
|
2441 |
|
| 2436 |
def update_orders_as_paid_to_vendor(order_id):
|
2442 |
def update_orders_as_paid_to_vendor(order_id):
|
| 2437 |
query = Order.query.filter(Order.originalOrderId == order_id)
|
- |
|
| 2438 |
query = query.filter(Order.id == order_id)
|
2443 |
paid_order = Order.get_by(id = order_id)
|
| 2439 |
|
2444 |
|
| - |
|
2445 |
if paid_order.originalOrderId is None:
|
| - |
|
2446 |
paid_order.vendor_paid = True
|
| 2440 |
for order in query.all():
|
2447 |
session.commit()
|
| - |
|
2448 |
|
| - |
|
2449 |
for order in Order.query.filter(Order.originalOrderId == order_id).all():
|
| - |
|
2450 |
order.vendor_paid = True
|
| - |
|
2451 |
session.commit()
|
| - |
|
2452 |
else:
|
| - |
|
2453 |
original_order_id = None
|
| - |
|
2454 |
|
| - |
|
2455 |
for order in Order.query.filter(Order.originalOrderId == order_id).all():
|
| 2441 |
order.vendor_paid = True
|
2456 |
order.vendor_paid = True
|
| - |
|
2457 |
session.commit()
|
| - |
|
2458 |
original_order_id = order.originalOrderId
|
| - |
|
2459 |
|
| - |
|
2460 |
original_order = Order.get_by(id = original_order_id)
|
| - |
|
2461 |
if original_order: original_order.vendor_paid = True
|
| 2442 |
session.commit()
|
2462 |
session.commit()
|
| 2443 |
|
2463 |
|
| 2444 |
def close_session():
|
2464 |
def close_session():
|
| 2445 |
if session.is_active:
|
2465 |
if session.is_active:
|
| 2446 |
print "session is active. closing it."
|
2466 |
print "session is active. closing it."
|