| Line 488... |
Line 488... |
| 488 |
return True
|
488 |
return True
|
| 489 |
except:
|
489 |
except:
|
| 490 |
print "Unexpected error:", sys.exc_info()[0]
|
490 |
print "Unexpected error:", sys.exc_info()[0]
|
| 491 |
return False
|
491 |
return False
|
| 492 |
|
492 |
|
| - |
|
493 |
#This is not the source as in snapdeal or website, this source is to incorporate different pricing depending upon source id.
|
| - |
|
494 |
#i.e. if user visiting to our site has specific source he would se pricing on that souce basis. Default source is 1.
|
| 493 |
def get_item_availability_for_location(item_id, source_id):
|
495 |
def get_item_availability_for_location(item_id, source_id):
|
| 494 |
item_availability = ItemAvailabilityCache.get_by(itemId=item_id, sourceId = source_id)
|
496 |
item_availability = ItemAvailabilityCache.get_by(itemId=item_id, sourceId = source_id)
|
| 495 |
if item_availability:
|
497 |
if item_availability:
|
| 496 |
return [item_availability.warehouseId, item_availability.expectedDelay, item_availability.billingWarehouseId, item_availability.sellingPrice, item_availability.totalAvailability, item_availability.weight]
|
498 |
return [item_availability.warehouseId, item_availability.expectedDelay, item_availability.billingWarehouseId, item_availability.sellingPrice, item_availability.totalAvailability, item_availability.weight]
|
| 497 |
else:
|
499 |
else:
|
| Line 507... |
Line 509... |
| 507 |
else:
|
509 |
else:
|
| 508 |
ItemAvailabilityCache.query.delete()
|
510 |
ItemAvailabilityCache.query.delete()
|
| 509 |
session.commit()
|
511 |
session.commit()
|
| 510 |
client = CatalogClient("catalog_service_server_host_master", "catalog_service_server_port").get_client()
|
512 |
client = CatalogClient("catalog_service_server_host_master", "catalog_service_server_port").get_client()
|
| 511 |
for item in client.getItemsByRiskyFlag():
|
513 |
for item in client.getItemsByRiskyFlag():
|
| - |
|
514 |
item_availability = ItemAvailabilityCache.get_by(itemId=item.id, sourceId=1)
|
| - |
|
515 |
if not item_availability:
|
| - |
|
516 |
try:
|
| 512 |
__update_item_availability_cache(None, 1, item)
|
517 |
__update_item_availability_cache(item.id, 1, item)
|
| - |
|
518 |
__check_risky_item(item.id, 1)
|
| - |
|
519 |
except:
|
| - |
|
520 |
continue
|
| - |
|
521 |
session.commit()
|
| 513 |
|
522 |
|
| 514 |
def __update_item_availability_cache(item_id, source_id, item=None):
|
523 |
def __update_item_availability_cache(item_id, source_id, item=None):
|
| 515 |
"""
|
524 |
"""
|
| 516 |
Determines the warehouse that should be used to fulfil an order for the given item.
|
525 |
Determines the warehouse that should be used to fulfil an order for the given item.
|
| 517 |
Algorithm explained at https://sites.google.com/a/shop2020.in/virtual-w-h-and-inventory/technical-details
|
526 |
Algorithm explained at https://sites.google.com/a/shop2020.in/virtual-w-h-and-inventory/technical-details
|