| Line 17... |
Line 17... |
| 17 |
Category, EntityIDGenerator, SimilarItems, ProductNotification, Source, \
|
17 |
Category, EntityIDGenerator, SimilarItems, ProductNotification, Source, \
|
| 18 |
SourceItemPricing, AuthorizationLog, VoucherItemMapping, CategoryVatMaster, \
|
18 |
SourceItemPricing, AuthorizationLog, VoucherItemMapping, CategoryVatMaster, \
|
| 19 |
OOSTracker, EntityTag, ItemInsurerMapping, Insurer, Banner, BannerMap, \
|
19 |
OOSTracker, EntityTag, ItemInsurerMapping, Insurer, Banner, BannerMap, \
|
| 20 |
FreebieItem, BrandInfo, Amazonlisted, StorePricing, ItemVatMaster, \
|
20 |
FreebieItem, BrandInfo, Amazonlisted, StorePricing, ItemVatMaster, \
|
| 21 |
PageViewEvents, CartEvents, EbayItem, BannerUriMapping, Campaign, SnapdealItem, \
|
21 |
PageViewEvents, CartEvents, EbayItem, BannerUriMapping, Campaign, SnapdealItem, \
|
| 22 |
SnapdealItemUpdateHistory, ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
|
22 |
ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
|
| 23 |
SourcePercentageMaster, SourceItemPercentage, FlipkartItem
|
23 |
SourcePercentageMaster, SourceItemPercentage, FlipkartItem, MarketPlaceUpdateHistory, \
|
| - |
|
24 |
SourceCategoryPercentage
|
| 24 |
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
|
25 |
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
|
| 25 |
ItemType, PremiumType, FreebieItem as t_FreebieItem, \
|
26 |
ItemType, PremiumType, FreebieItem as t_FreebieItem, \
|
| 26 |
StorePricing as tStorePricing, CatalogServiceException, \
|
27 |
StorePricing as tStorePricing, CatalogServiceException, \
|
| 27 |
BannerType, InsurerType
|
28 |
BannerType, InsurerType, Banner as t_banner
|
| 28 |
from shop2020.thriftpy.model.v1.inventory.ttypes import \
|
29 |
from shop2020.thriftpy.model.v1.inventory.ttypes import \
|
| 29 |
InventoryServiceException, IgnoredInventoryUpdateItems,SnapdealInventoryItem
|
30 |
InventoryServiceException, IgnoredInventoryUpdateItems,SnapdealInventoryItem
|
| - |
|
31 |
from shop2020.thriftpy.model.v1.order.ttypes import OrderSource
|
| 30 |
from shop2020.utils import EmailAttachmentSender
|
32 |
from shop2020.utils import EmailAttachmentSender
|
| 31 |
from shop2020.utils.EmailAttachmentSender import mail
|
33 |
from shop2020.utils.EmailAttachmentSender import mail
|
| 32 |
from shop2020.utils.Utils import to_py_date, log_risky_flag
|
34 |
from shop2020.utils.Utils import to_py_date, log_risky_flag
|
| 33 |
from sqlalchemy import desc, asc
|
35 |
from sqlalchemy import desc, asc
|
| 34 |
from sqlalchemy.sql.expression import or_, distinct, func, and_
|
36 |
from sqlalchemy.sql.expression import or_, distinct, func, and_
|
| Line 1431... |
Line 1433... |
| 1431 |
banner_details.imageName=banner.imageName
|
1433 |
banner_details.imageName=banner.imageName
|
| 1432 |
banner_details.link=banner.link
|
1434 |
banner_details.link=banner.link
|
| 1433 |
banner_details.hasMap=banner.hasMap
|
1435 |
banner_details.hasMap=banner.hasMap
|
| 1434 |
banner_details.priority = banner.priority
|
1436 |
banner_details.priority = banner.priority
|
| 1435 |
banner_details.bannerType = banner.bannerType
|
1437 |
banner_details.bannerType = banner.bannerType
|
| - |
|
1438 |
add_banner_map(t_bannerMaps,banner.bannerType)
|
| - |
|
1439 |
add_banner_uri(t_bannerUriMappings,banner.bannerType)
|
| 1436 |
session.commit()
|
1440 |
session.commit()
|
| - |
|
1441 |
return True
|
| 1437 |
except:
|
1442 |
except:
|
| 1438 |
return
|
1443 |
return False
|
| 1439 |
add_banner_map(t_bannerMaps,banner.bannerType)
|
- |
|
| 1440 |
add_banner_uri(t_bannerUriMappings,banner.bannerType)
|
- |
|
| 1441 |
|
- |
|
| 1442 |
def get_all_banners():
|
1444 |
def get_all_banners():
|
| 1443 |
return session.query(Banner).all()
|
1445 |
return session.query(Banner).all()
|
| 1444 |
|
1446 |
|
| 1445 |
def delete_banner(name,bType):
|
1447 |
def delete_banner(name,bType):
|
| 1446 |
try:
|
1448 |
try:
|
| 1447 |
session.query(Banner.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
1449 |
session.query(Banner.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
| 1448 |
session.commit()
|
- |
|
| 1449 |
delete_banner_map(name,bType)
|
1450 |
delete_banner_map(name,bType)
|
| 1450 |
delete_uri_mapping(name,bType)
|
1451 |
delete_uri_mapping(name,bType)
|
| - |
|
1452 |
session.commit()
|
| 1451 |
return True
|
1453 |
return True
|
| 1452 |
except:
|
1454 |
except:
|
| 1453 |
return False
|
1455 |
return False
|
| 1454 |
|
1456 |
|
| 1455 |
def get_banner_details(name,bType):
|
1457 |
def get_banner_details(name,bType):
|
| 1456 |
banner = session.query(Banner).filter(Banner.bannerName==name).filter(Banner.bannerType==bType).one()
|
1458 |
banner = session.query(Banner).filter(Banner.bannerName==name).filter(Banner.bannerType==bType).one()
|
| 1457 |
return banner
|
1459 |
return banner
|
| - |
|
1460 |
|
| - |
|
1461 |
def __t_banner_details(name,bType,target):
|
| - |
|
1462 |
banner = session.query(Banner).filter(Banner.bannerName==name).filter(Banner.bannerType==bType).one()
|
| - |
|
1463 |
bannerObj = t_banner()
|
| - |
|
1464 |
bannerObj.bannerName = banner.bannerName
|
| - |
|
1465 |
bannerObj.imageName = banner.imageName
|
| - |
|
1466 |
bannerObj.link = banner.link
|
| - |
|
1467 |
bannerObj.priority = banner.priority
|
| - |
|
1468 |
bannerObj.hasMap = banner.hasMap
|
| - |
|
1469 |
bannerObj.bannerType = banner.bannerType
|
| - |
|
1470 |
bannerObj.target = target
|
| - |
|
1471 |
return bannerObj
|
| - |
|
1472 |
|
| 1458 |
|
1473 |
|
| 1459 |
def get_active_banners():
|
1474 |
def get_active_banners():
|
| 1460 |
bannerUriMap = {}
|
1475 |
bannerUriMap = {}
|
| 1461 |
bannerType = [1,2]
|
1476 |
bannerType = [1,2]
|
| 1462 |
all_active = session.query(BannerUriMapping,Banner).filter(BannerUriMapping.bannerType.in_(bannerType)).filter(BannerUriMapping.isActive==True).filter(BannerUriMapping.bannerName==Banner.bannerName).filter(BannerUriMapping.bannerType==Banner.bannerType).order_by(desc(Banner.priority)).all()
|
1477 |
all_active = session.query(BannerUriMapping,Banner).filter(BannerUriMapping.bannerType.in_(bannerType)).filter(BannerUriMapping.isActive==True).filter(BannerUriMapping.bannerName==Banner.bannerName).filter(BannerUriMapping.bannerType==Banner.bannerType).order_by(desc(Banner.priority)).all()
|
| Line 1464... |
Line 1479... |
| 1464 |
bannerObj = []
|
1479 |
bannerObj = []
|
| 1465 |
if (bannerUriMapping[0].bannerType == BannerType.SIDE_BANNER):
|
1480 |
if (bannerUriMapping[0].bannerType == BannerType.SIDE_BANNER):
|
| 1466 |
if 'side-banner' in bannerUriMap:
|
1481 |
if 'side-banner' in bannerUriMap:
|
| 1467 |
for obj in bannerUriMap['side-banner']:
|
1482 |
for obj in bannerUriMap['side-banner']:
|
| 1468 |
bannerObj.append(obj)
|
1483 |
bannerObj.append(obj)
|
| 1469 |
bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
|
1484 |
bannerObj.append(__t_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType,bannerUriMapping[0].target))
|
| 1470 |
bannerUriMap['side-banner'] = bannerObj
|
1485 |
bannerUriMap['side-banner'] = bannerObj
|
| 1471 |
continue
|
1486 |
continue
|
| 1472 |
if bannerUriMapping[0].uri not in bannerUriMap:
|
1487 |
if bannerUriMapping[0].uri not in bannerUriMap:
|
| 1473 |
bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
|
1488 |
bannerObj.append(__t_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType,bannerUriMapping[0].target))
|
| 1474 |
bannerUriMap[bannerUriMapping[0].uri] = bannerObj
|
1489 |
bannerUriMap[bannerUriMapping[0].uri] = bannerObj
|
| 1475 |
else:
|
1490 |
else:
|
| 1476 |
for obj in bannerUriMap[bannerUriMapping[0].uri]:
|
1491 |
for obj in bannerUriMap[bannerUriMapping[0].uri]:
|
| 1477 |
bannerObj.append(obj)
|
1492 |
bannerObj.append(obj)
|
| 1478 |
bannerObj.append(get_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType))
|
1493 |
bannerObj.append(__t_banner_details(bannerUriMapping[0].bannerName,bannerUriMapping[0].bannerType,bannerUriMapping[0].target))
|
| 1479 |
bannerUriMap[bannerUriMapping[0].uri] = bannerObj
|
1494 |
bannerUriMap[bannerUriMapping[0].uri] = bannerObj
|
| 1480 |
return bannerUriMap
|
1495 |
return bannerUriMap
|
| 1481 |
|
1496 |
|
| 1482 |
|
1497 |
|
| 1483 |
def add_banner_map(bannerMaps,bannerType):
|
1498 |
def add_banner_map(bannerMaps,bannerType):
|
| 1484 |
try:
|
- |
|
| 1485 |
for bannerMap in bannerMaps:
|
1499 |
for bannerMap in bannerMaps:
|
| 1486 |
banner_map_details=BannerMap()
|
1500 |
banner_map_details=BannerMap()
|
| 1487 |
banner_map_details.bannerName=bannerMap.bannerName
|
1501 |
banner_map_details.bannerName=bannerMap.bannerName
|
| 1488 |
banner_map_details.mapLink=bannerMap.mapLink
|
1502 |
banner_map_details.mapLink=bannerMap.mapLink
|
| 1489 |
banner_map_details.coordinates=bannerMap.coordinates
|
1503 |
banner_map_details.coordinates=bannerMap.coordinates
|
| 1490 |
banner_map_details.bannerType = bannerType
|
1504 |
banner_map_details.bannerType = bannerType
|
| 1491 |
session.commit()
|
- |
|
| 1492 |
return True
|
- |
|
| 1493 |
except:
|
- |
|
| 1494 |
return False
|
- |
|
| 1495 |
|
1505 |
|
| 1496 |
|
1506 |
|
| 1497 |
def delete_banner_map(name,bType):
|
1507 |
def delete_banner_map(name,bType):
|
| 1498 |
try:
|
- |
|
| 1499 |
session.query(BannerMap.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
1508 |
session.query(BannerMap.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
| 1500 |
session.commit()
|
- |
|
| 1501 |
return True
|
- |
|
| 1502 |
except:
|
- |
|
| 1503 |
return False
|
- |
|
| 1504 |
|
1509 |
|
| 1505 |
def delete_uri_mapping(name,bType):
|
1510 |
def delete_uri_mapping(name,bType):
|
| 1506 |
try:
|
- |
|
| 1507 |
session.query(BannerUriMapping.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
1511 |
session.query(BannerUriMapping.bannerName).filter_by(bannerName=name).filter_by(bannerType=bType).delete()
|
| 1508 |
session.commit()
|
- |
|
| 1509 |
except:
|
- |
|
| 1510 |
return False
|
- |
|
| 1511 |
|
1512 |
|
| 1512 |
def get_banner_map_details(name,bType):
|
1513 |
def get_banner_map_details(name,bType):
|
| 1513 |
query= session.query(BannerMap)
|
1514 |
query= session.query(BannerMap)
|
| 1514 |
return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
|
1515 |
return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
|
| 1515 |
|
1516 |
|
| Line 1533... |
Line 1534... |
| 1533 |
banner_uri = BannerUriMapping()
|
1534 |
banner_uri = BannerUriMapping()
|
| 1534 |
banner_uri.bannerName = bannerUriMapping.bannerName
|
1535 |
banner_uri.bannerName = bannerUriMapping.bannerName
|
| 1535 |
banner_uri.uri = bannerUriMapping.uri
|
1536 |
banner_uri.uri = bannerUriMapping.uri
|
| 1536 |
banner_uri.isActive = bannerUriMapping.isActive
|
1537 |
banner_uri.isActive = bannerUriMapping.isActive
|
| 1537 |
banner_uri.bannerType = bannerType
|
1538 |
banner_uri.bannerType = bannerType
|
| 1538 |
session.commit()
|
1539 |
banner_uri.target = bannerUriMapping.target
|
| 1539 |
|
1540 |
|
| 1540 |
def get_uri_mapping(name,bType):
|
1541 |
def get_uri_mapping(name,bType):
|
| 1541 |
query= session.query(BannerUriMapping)
|
1542 |
query= session.query(BannerUriMapping)
|
| 1542 |
return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
|
1543 |
return query.filter_by(bannerName=name).filter_by(bannerType=bType).all()
|
| 1543 |
|
1544 |
|
| Line 2093... |
Line 2094... |
| 2093 |
if not __validateSnapdealObject(snapdealitem):
|
2094 |
if not __validateSnapdealObject(snapdealitem):
|
| 2094 |
print "Bad object"
|
2095 |
print "Bad object"
|
| 2095 |
return False
|
2096 |
return False
|
| 2096 |
try:
|
2097 |
try:
|
| 2097 |
if item is not None:
|
2098 |
if item is not None:
|
| 2098 |
itemHistory = SnapdealItemUpdateHistory()
|
2099 |
itemHistory = MarketPlaceUpdateHistory()
|
| 2099 |
itemHistory.item_id = snapdealitem.item_id
|
2100 |
itemHistory.item_id = snapdealitem.item_id
|
| - |
|
2101 |
itemHistory.source = OrderSource.SNAPDEAL
|
| 2100 |
itemHistory.exceptionPrice = item.exceptionPrice
|
2102 |
itemHistory.exceptionPrice = item.exceptionPrice
|
| 2101 |
itemHistory.warehouseId = item.warehouseId
|
2103 |
itemHistory.warehouseId = item.warehouseId
|
| 2102 |
itemHistory.isListedOnSnapdeal = item.isListedOnSnapdeal
|
2104 |
itemHistory.isListedOnSource = item.isListedOnSnapdeal
|
| 2103 |
itemHistory.transferPrice = item.transferPrice
|
2105 |
itemHistory.transferPrice = item.transferPrice
|
| 2104 |
itemHistory.sellingPrice = item.sellingPrice
|
2106 |
itemHistory.sellingPrice = item.sellingPrice
|
| 2105 |
itemHistory.courierCost = item.courierCost
|
2107 |
itemHistory.courierCost = item.courierCost
|
| 2106 |
itemHistory.commission = item.commission
|
2108 |
itemHistory.commission = item.commission
|
| 2107 |
itemHistory.serviceTax = item.serviceTax
|
2109 |
itemHistory.serviceTax = item.serviceTax
|
| 2108 |
itemHistory.suppressPriceFeed = item.suppressPriceFeed
|
2110 |
itemHistory.suppressPriceFeed = item.suppressPriceFeed
|
| 2109 |
itemHistory.suppressInventoryFeed = item.suppressInventoryFeed
|
2111 |
itemHistory.suppressInventoryFeed = item.suppressInventoryFeed
|
| 2110 |
itemHistory.updatedOn = item.updatedOn
|
2112 |
itemHistory.updatedOn = item.updatedOn
|
| 2111 |
itemHistory.maxNlc = item.maxNlc
|
2113 |
itemHistory.maxNlc = item.maxNlc
|
| 2112 |
itemHistory.skuAtSnapdeal = item.skuAtSnapdeal
|
2114 |
itemHistory.skuAtSource = item.skuAtSnapdeal
|
| 2113 |
itemHistory.supc = item.supc
|
2115 |
itemHistory.marketPlaceSerialNumber = item.supc
|
| 2114 |
itemHistory.priceUpdatedBy = item.priceUpdatedBy
|
2116 |
itemHistory.priceUpdatedBy = item.priceUpdatedBy
|
| 2115 |
|
2117 |
|
| 2116 |
if (item.sellingPrice!=snapdealitem.sellingPrice):
|
2118 |
if (item.sellingPrice!=snapdealitem.sellingPrice):
|
| 2117 |
item.priceUpdatedBy = snapdealitem.updatedBy
|
2119 |
item.priceUpdatedBy = snapdealitem.updatedBy
|
| 2118 |
|
2120 |
|
| Line 2353... |
Line 2355... |
| 2353 |
return True
|
2355 |
return True
|
| 2354 |
except Exception as e:
|
2356 |
except Exception as e:
|
| 2355 |
print e
|
2357 |
print e
|
| 2356 |
return False
|
2358 |
return False
|
| 2357 |
|
2359 |
|
| - |
|
2360 |
def __markStatusForFlipkartItems(flipkartItem,item):
|
| - |
|
2361 |
try:
|
| - |
|
2362 |
marketplaceItem = flipkartItem.marketplaceItems
|
| - |
|
2363 |
markUpdatedItem = MarketPlaceItemPrice.query.filter(MarketPlaceItemPrice.item_id==flipkartItem.item_id).filter(MarketPlaceItemPrice.source==marketplaceItem.source).first()
|
| - |
|
2364 |
if markUpdatedItem is None:
|
| - |
|
2365 |
marketPlaceItemPrice = MarketPlaceItemPrice()
|
| - |
|
2366 |
marketPlaceItemPrice.item_id = flipkartItem.item_id
|
| - |
|
2367 |
marketPlaceItemPrice.source = marketplaceItem.source
|
| - |
|
2368 |
marketPlaceItemPrice.lastUpdatedOn = item.updatedOn
|
| - |
|
2369 |
marketPlaceItemPrice.sellingPrice = marketplaceItem.currentSp
|
| - |
|
2370 |
marketPlaceItemPrice.suppressPriceFeed = item.suppressPriceFeed
|
| - |
|
2371 |
marketPlaceItemPrice.isListedOnSource = item.isListedOnFlipkart
|
| - |
|
2372 |
else:
|
| - |
|
2373 |
if (markUpdatedItem.sellingPrice!=marketplaceItem.currentSp or markUpdatedItem.suppressPriceFeed!=item.suppressPriceFeed or markUpdatedItem.isListedOnSource!=item.isListedOnFlipkart):
|
| - |
|
2374 |
markUpdatedItem.lastUpdatedOn = item.updatedOn
|
| - |
|
2375 |
markUpdatedItem.sellingPrice = marketplaceItem.currentSp
|
| - |
|
2376 |
markUpdatedItem.suppressPriceFeed = item.suppressPriceFeed
|
| - |
|
2377 |
markUpdatedItem.isListedOnSource = item.isListedOnFlipkart
|
| - |
|
2378 |
return True
|
| - |
|
2379 |
except Exception as e:
|
| - |
|
2380 |
print e
|
| - |
|
2381 |
return False
|
| - |
|
2382 |
|
| - |
|
2383 |
|
| 2358 |
def get_costing_for_marketplace(source_id,itemId):
|
2384 |
def get_costing_for_marketplace(source_id,itemId):
|
| 2359 |
sip = SourceItemPercentage.get_by(source=source_id,item_id=itemId)
|
2385 |
time = datetime.datetime.now()
|
| - |
|
2386 |
sip = SourceItemPercentage.query.filter(SourceItemPercentage.item_id==itemId).filter(SourceItemPercentage.source==source_id).filter(SourceItemPercentage.startDate<=time).filter(SourceItemPercentage.expiryDate>=time).first()
|
| 2360 |
if sip is None:
|
2387 |
if sip is not None:
|
| 2361 |
spm = SourcePercentageMaster.get_by(source=source_id)
|
- |
|
| 2362 |
return spm
|
- |
|
| 2363 |
else:
|
- |
|
| 2364 |
return sip
|
2388 |
return sip
|
| - |
|
2389 |
else:
|
| - |
|
2390 |
item = get_item(itemId)
|
| - |
|
2391 |
scp = SourceCategoryPercentage.query.filter(SourceCategoryPercentage.category_id==item.category).filter(SourceCategoryPercentage.source==source_id).filter(SourceCategoryPercentage.startDate<=time).filter(SourceCategoryPercentage.expiryDate>=time).first()
|
| - |
|
2392 |
if scp is not None:
|
| - |
|
2393 |
return scp
|
| - |
|
2394 |
else:
|
| - |
|
2395 |
spm = SourcePercentageMaster.get_by(source=source_id)
|
| - |
|
2396 |
return spm
|
| 2365 |
|
2397 |
|
| 2366 |
def __validateSnapdealObject(snapdealItem):
|
2398 |
def __validateSnapdealObject(snapdealItem):
|
| 2367 |
if len(snapdealItem.supc)==0 or snapdealItem.supc is None or len(snapdealItem.skuAtSnapdeal)==0 or snapdealItem.skuAtSnapdeal is None or snapdealItem.sellingPrice==0 or snapdealItem.maxNlc==0:
|
2399 |
if len(snapdealItem.supc)==0 or snapdealItem.supc is None or len(snapdealItem.skuAtSnapdeal)==0 or snapdealItem.skuAtSnapdeal is None or snapdealItem.sellingPrice==0 or snapdealItem.maxNlc==0:
|
| 2368 |
return False
|
2400 |
return False
|
| 2369 |
else:
|
2401 |
else:
|
| 2370 |
return True
|
2402 |
return True
|
| - |
|
2403 |
|
| - |
|
2404 |
def __validateFlipkartObject(flipkartitem):
|
| - |
|
2405 |
mpItem = flipkartitem.marketplaceItems
|
| - |
|
2406 |
print mpItem
|
| - |
|
2407 |
if mpItem.currentSp==0 or flipkartitem.maxNlc==0:
|
| - |
|
2408 |
return False
|
| - |
|
2409 |
else:
|
| - |
|
2410 |
return True
|
| 2371 |
|
2411 |
|
| 2372 |
|
2412 |
|
| 2373 |
def get_all_marketplace_items_for_priceupdate(source):
|
2413 |
def get_all_marketplace_items_for_priceupdate(source):
|
| 2374 |
marketPlaceItemsPrices = MarketPlaceItemPrice.query.filter(MarketPlaceItemPrice.source == source).filter(MarketPlaceItemPrice.lastUpdatedOn > MarketPlaceItemPrice.lastUpdatedOnMarketplace).all()
|
2414 |
marketPlaceItemsPrices = MarketPlaceItemPrice.query.filter(MarketPlaceItemPrice.source == source).filter(MarketPlaceItemPrice.lastUpdatedOn > MarketPlaceItemPrice.lastUpdatedOnMarketplace).all()
|
| 2375 |
print marketPlaceItemsPrices
|
- |
|
| 2376 |
return marketPlaceItemsPrices
|
2415 |
return marketPlaceItemsPrices
|
| 2377 |
|
2416 |
|
| 2378 |
def update_marketplace_priceupdate_status(skuList,timestamp,source_id):
|
2417 |
def update_marketplace_priceupdate_status(skuList,timestamp,source_id):
|
| 2379 |
for sku in skuList:
|
2418 |
for sku in skuList:
|
| 2380 |
item = MarketPlaceItemPrice.get_by(item_id=sku,source=source_id)
|
2419 |
item = MarketPlaceItemPrice.get_by(item_id=sku,source=source_id)
|
| Line 2402... |
Line 2441... |
| 2402 |
if item is not None:
|
2441 |
if item is not None:
|
| 2403 |
marketplaceitem = MarketplaceItems.get_by(itemId=itemid,source=7)
|
2442 |
marketplaceitem = MarketplaceItems.get_by(itemId=itemid,source=7)
|
| 2404 |
ic = InventoryClient().get_client()
|
2443 |
ic = InventoryClient().get_client()
|
| 2405 |
warehouse = ic.getWarehouse(item.warehouseId)
|
2444 |
warehouse = ic.getWarehouse(item.warehouseId)
|
| 2406 |
if(warehouse.vendor.id==vendor_id):
|
2445 |
if(warehouse.vendor.id==vendor_id):
|
| 2407 |
print 'Inside maxnlc change'
|
- |
|
| 2408 |
item.maxNlc = nlc
|
2446 |
item.maxNlc = nlc
|
| 2409 |
vat = (item.sellingPrice/(1+(marketplaceitem.vat/100))-(nlc/(1+(marketplaceitem.vat/100))))*(marketplaceitem.vat/100)
|
2447 |
vat = (item.sellingPrice/(1+(marketplaceitem.vat/100))-(nlc/(1+(marketplaceitem.vat/100))))*(marketplaceitem.vat/100)
|
| 2410 |
inHouseCost = 15 + vat + (marketplaceitem.returnProvision/100)*item.sellingPrice + marketplaceitem.otherCost
|
2448 |
inHouseCost = 15 + vat + (marketplaceitem.returnProvision/100)*item.sellingPrice + marketplaceitem.otherCost
|
| 2411 |
marketplaceitem.minimumPossibleTp = nlc + inHouseCost
|
2449 |
marketplaceitem.minimumPossibleTp = nlc + inHouseCost
|
| 2412 |
marketplaceitem.minimumPossibleSp = (nlc+(item.courierCost+marketplaceitem.closingFee)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat/100))+(15+marketplaceitem.otherCost)*(1+(marketplaceitem.vat)/100))/(1-(marketplaceitem.commission/100+marketplaceitem.emiFee/100)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat)/100)-(marketplaceitem.returnProvision/100)*(1+(marketplaceitem.vat)/100))
|
2450 |
marketplaceitem.minimumPossibleSp = (nlc+(item.courierCost+marketplaceitem.closingFee)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat/100))+(15+marketplaceitem.otherCost)*(1+(marketplaceitem.vat)/100))/(1-(marketplaceitem.commission/100+marketplaceitem.emiFee/100)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat)/100)-(marketplaceitem.returnProvision/100)*(1+(marketplaceitem.vat)/100))
|
| 2413 |
session.commit()
|
2451 |
session.commit()
|
| 2414 |
finally:
|
2452 |
finally:
|
| 2415 |
close_session()
|
2453 |
close_session()
|
| 2416 |
|
2454 |
|
| 2417 |
def get_all_flipkart_items():
|
2455 |
def get_all_flipkart_items():
|
| 2418 |
return session.query(FlipkartItem).all()
|
- |
|
| 2419 |
|
2456 |
return session.query(FlipkartItem).all()
|
| - |
|
2457 |
|
| - |
|
2458 |
def get_flipkart_item(itemid):
|
| - |
|
2459 |
item = session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id)).filter(FlipkartItem.item_id==itemid).first()
|
| - |
|
2460 |
return item
|
| - |
|
2461 |
|
| - |
|
2462 |
def add_or_update_flipkart_item(flipkartitem):
|
| - |
|
2463 |
item = FlipkartItem.get_by(item_id=flipkartitem.item_id)
|
| - |
|
2464 |
mpItem = get_marketplace_details_for_item(flipkartitem.item_id,OrderSource.FLIPKART)
|
| - |
|
2465 |
t_mpItem = flipkartitem.marketplaceItems
|
| - |
|
2466 |
if not __validateFlipkartObject(flipkartitem):
|
| - |
|
2467 |
return False
|
| - |
|
2468 |
try:
|
| - |
|
2469 |
if item is not None:
|
| - |
|
2470 |
itemHistory = MarketPlaceUpdateHistory()
|
| - |
|
2471 |
itemHistory.item_id = flipkartitem.item_id
|
| - |
|
2472 |
itemHistory.source = OrderSource.FLIPKART
|
| - |
|
2473 |
itemHistory.exceptionPrice = item.exceptionPrice
|
| - |
|
2474 |
itemHistory.warehouseId = item.warehouseId
|
| - |
|
2475 |
itemHistory.isListedOnSource = item.isListedOnFlipkart
|
| - |
|
2476 |
itemHistory.transferPrice = mpItem.currentTp
|
| - |
|
2477 |
itemHistory.sellingPrice = mpItem.currentSp
|
| - |
|
2478 |
itemHistory.courierCost = mpItem.courierCost
|
| - |
|
2479 |
itemHistory.commission = item.commissionValue
|
| - |
|
2480 |
itemHistory.serviceTax = item.serviceTaxValue
|
| - |
|
2481 |
itemHistory.suppressPriceFeed = item.suppressPriceFeed
|
| - |
|
2482 |
itemHistory.suppressInventoryFeed = item.suppressInventoryFeed
|
| - |
|
2483 |
itemHistory.updatedOn = item.updatedOn
|
| - |
|
2484 |
itemHistory.maxNlc = item.maxNlc
|
| - |
|
2485 |
itemHistory.skuAtSource = item. skuAtFlipkart
|
| - |
|
2486 |
itemHistory.marketPlaceSerialNumber = item.flipkartSerialNumber
|
| - |
|
2487 |
itemHistory.priceUpdatedBy = item.updatedBy
|
| - |
|
2488 |
if (mpItem.currentSp!=t_mpItem.currentSp):
|
| - |
|
2489 |
item.updatedBy = flipkartitem.updatedBy
|
| - |
|
2490 |
item.exceptionPrice = flipkartitem.exceptionPrice
|
| - |
|
2491 |
item.warehouseId = flipkartitem.warehouseId
|
| - |
|
2492 |
item.isListedOnFlipkart = flipkartitem.isListedOnFlipkart
|
| - |
|
2493 |
item.commissionValue = flipkartitem.commissionValue
|
| - |
|
2494 |
item.serviceTaxValue = flipkartitem.serviceTaxValue
|
| - |
|
2495 |
item.suppressPriceFeed =flipkartitem.suppressPriceFeed
|
| - |
|
2496 |
item.suppressInventoryFeed =flipkartitem.suppressInventoryFeed
|
| - |
|
2497 |
item.maxNlc = flipkartitem.maxNlc
|
| - |
|
2498 |
item.skuAtFlipkart = flipkartitem.skuAtFlipkart
|
| - |
|
2499 |
item.flipkartSerialNumber = flipkartitem.flipkartSerialNumber
|
| - |
|
2500 |
item.updatedOn = datetime.datetime.now()
|
| - |
|
2501 |
__markStatusForFlipkartItems(flipkartitem,item)
|
| - |
|
2502 |
return update_marketplace_attributes_for_item(flipkartitem.marketplaceItems)
|
| - |
|
2503 |
else:
|
| - |
|
2504 |
item = FlipkartItem()
|
| - |
|
2505 |
if flipkartitem.item_id is not None:
|
| - |
|
2506 |
item.item_id = flipkartitem.item_id
|
| - |
|
2507 |
item.exceptionPrice = flipkartitem.exceptionPrice
|
| - |
|
2508 |
item.warehouseId = flipkartitem.warehouseId
|
| - |
|
2509 |
item.isListedOnFlipkart = flipkartitem.isListedOnFlipkart
|
| - |
|
2510 |
item.commissionValue = flipkartitem.commissionValue
|
| - |
|
2511 |
item.serviceTaxValue = flipkartitem.serviceTaxValue
|
| - |
|
2512 |
item.suppressPriceFeed =flipkartitem.suppressPriceFeed
|
| - |
|
2513 |
item.suppressInventoryFeed =flipkartitem.suppressInventoryFeed
|
| - |
|
2514 |
item.maxNlc = flipkartitem.maxNlc
|
| - |
|
2515 |
item.skuAtFlipkart = flipkartitem.skuAtFlipkart
|
| - |
|
2516 |
item.flipkartSerialNumber = flipkartitem.flipkartSerialNumber
|
| - |
|
2517 |
item.updatedOn = datetime.datetime.now()
|
| - |
|
2518 |
item.updatedBy = flipkartitem.updatedBy
|
| - |
|
2519 |
__markStatusForFlipkartItems(flipkartitem,item)
|
| - |
|
2520 |
return update_marketplace_attributes_for_item(flipkartitem.marketplaceItems)
|
| - |
|
2521 |
except Exception as ex:
|
| - |
|
2522 |
print "Unable to addOrupdate flipkart"
|
| - |
|
2523 |
print ex
|
| - |
|
2524 |
return False
|
| - |
|
2525 |
|
| - |
|
2526 |
def get_flipkart_item_detail(itemid):
|
| - |
|
2527 |
item = session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id)).filter(FlipkartItem.item_id==itemid).first()
|
| - |
|
2528 |
try:
|
| - |
|
2529 |
client = InventoryClient().get_client()
|
| - |
|
2530 |
FlipkartInventoryItem = client.getFlipkartlInventoryForItem(itemid)
|
| - |
|
2531 |
return item, FlipkartInventoryItem
|
| - |
|
2532 |
except Exception as e:
|
| - |
|
2533 |
print e
|
| - |
|
2534 |
return item,None
|
| - |
|
2535 |
|
| - |
|
2536 |
def get_flipkart_items(offset,limit):
|
| - |
|
2537 |
return session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id)).offset(offset).limit(limit).all()
|
| - |
|
2538 |
|
| - |
|
2539 |
def search_flipkart_items(search_terms,offset,limit):
|
| - |
|
2540 |
query = session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id))
|
| - |
|
2541 |
search_terms = ['%' + search_term + '%' for search_term in search_terms]
|
| - |
|
2542 |
for search_term in search_terms:
|
| - |
|
2543 |
query_clause = []
|
| - |
|
2544 |
query_clause.append(Item.id.like(search_term))
|
| - |
|
2545 |
query_clause.append(Item.brand.like(search_term))
|
| - |
|
2546 |
query_clause.append(Item.model_name.like(search_term))
|
| - |
|
2547 |
query_clause.append(Item.model_number.like(search_term))
|
| - |
|
2548 |
query_clause.append(Item.color.like(search_term))
|
| - |
|
2549 |
query = query.filter(or_(*query_clause))
|
| - |
|
2550 |
|
| - |
|
2551 |
query = query.offset(offset)
|
| - |
|
2552 |
if limit:
|
| - |
|
2553 |
query = query.limit(limit)
|
| - |
|
2554 |
flipkart_items = query.all()
|
| - |
|
2555 |
return flipkart_items
|
| - |
|
2556 |
|
| - |
|
2557 |
def get_flipkart_search_result_count(search_terms):
|
| - |
|
2558 |
query = session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id))
|
| - |
|
2559 |
search_terms = ['%' + search_term + '%' for search_term in search_terms]
|
| - |
|
2560 |
for search_term in search_terms:
|
| - |
|
2561 |
query_clause = []
|
| - |
|
2562 |
query_clause.append(Item.id.like(search_term))
|
| - |
|
2563 |
query_clause.append(Item.brand.like(search_term))
|
| - |
|
2564 |
query_clause.append(Item.model_name.like(search_term))
|
| - |
|
2565 |
query_clause.append(Item.model_number.like(search_term))
|
| - |
|
2566 |
query_clause.append(Item.color.like(search_term))
|
| - |
|
2567 |
query = query.filter(or_(*query_clause))
|
| - |
|
2568 |
return query.count()
|
| - |
|
2569 |
|
| - |
|
2570 |
def get_count_for_flipkart_items():
|
| - |
|
2571 |
return session.query(func.count(FlipkartItem.item_id)).scalar()
|
| - |
|
2572 |
|
| - |
|
2573 |
def get_all_fk_items():
|
| - |
|
2574 |
return session.query(FlipkartItem,Item).join((Item,FlipkartItem.item_id==Item.id)).all()
|
| - |
|
2575 |
|
| - |
|
2576 |
|