Subversion Repositories SmartDukaan

Rev

Rev 12256 | Rev 12396 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 12256 Rev 12363
Line 20... Line 20...
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
    ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
22
    ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
23
    SourcePercentageMaster, SourceItemPercentage, FlipkartItem, MarketPlaceUpdateHistory, \
23
    SourcePercentageMaster, SourceItemPercentage, FlipkartItem, MarketPlaceUpdateHistory, \
24
    SourceCategoryPercentage, MarketPlaceHistory, PrivateDeals, AmazonOutOfSync,PrivateDealsPriceComparison, SourceReturnPercentage, \
24
    SourceCategoryPercentage, MarketPlaceHistory, PrivateDeals, AmazonOutOfSync,PrivateDealsPriceComparison, SourceReturnPercentage, \
25
    CompetitorPricing, CompetitorPricingRequest
25
    CompetitorPricing, CompetitorPricingRequest, AmazonPromotion
26
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
26
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
27
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
27
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
28
    StorePricing as tStorePricing, CatalogServiceException, \
28
    StorePricing as tStorePricing, CatalogServiceException, \
29
    BannerType, InsurerType, Banner as t_banner, CompetitorPricing as TCompetitorPricing
29
    BannerType, InsurerType, Banner as t_banner, CompetitorPricing as TCompetitorPricing
30
from shop2020.thriftpy.model.v1.inventory.ttypes import \
30
from shop2020.thriftpy.model.v1.inventory.ttypes import \
Line 1794... Line 1794...
1794
def get_all_amazon_listed_items():
1794
def get_all_amazon_listed_items():
1795
    return session.query(Amazonlisted).all()
1795
    return session.query(Amazonlisted).all()
1796
 
1796
 
1797
def get_amazon_item_details(amazonItemId):
1797
def get_amazon_item_details(amazonItemId):
1798
    amazonlisted = Amazonlisted.get_by(itemId=amazonItemId)
1798
    amazonlisted = Amazonlisted.get_by(itemId=amazonItemId)
-
 
1799
    fbaPromo, fbbPromo = __get_amazon_promotion_attributes_for_item(amazonItemId)
1799
    return amazonlisted
1800
    return amazonlisted, fbaPromo, fbbPromo
1800
 
1801
 
1801
def update_amazon_item_details(amazonlisted):
1802
def update_amazon_item_details(amazonlisted):
1802
    amazon_listed = Amazonlisted.get_by(itemId = amazonlisted.itemid)
1803
    amazon_listed = Amazonlisted.get_by(itemId = amazonlisted.itemid)
1803
    amazon_listed.isFba=amazonlisted.isFba
1804
    amazon_listed.isFba=amazonlisted.isFba
1804
    amazon_listed.isFbb=amazonlisted.isFbb
1805
    amazon_listed.isFbb=amazonlisted.isFbb
Line 1817... Line 1818...
1817
    if (amazon_listed.fbbPrice != amazonlisted.fbbPrice) and amazonlisted.fbbPrice > 0:
1818
    if (amazon_listed.fbbPrice != amazonlisted.fbbPrice) and amazonlisted.fbbPrice > 0:
1818
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1819
        amazon_listed.fbbPriceLastUpdatedOn = datetime.datetime.now()
1819
        amazon_listed.fbbPrice=amazonlisted.fbbPrice
1820
        amazon_listed.fbbPrice=amazonlisted.fbbPrice
1820
    amazon_listed.suppressMfnPriceUpdate=amazonlisted.suppressMfnPriceUpdate
1821
    amazon_listed.suppressMfnPriceUpdate=amazonlisted.suppressMfnPriceUpdate
1821
    amazon_listed.suppressFbaPriceUpdate=amazonlisted.suppressFbaPriceUpdate
1822
    amazon_listed.suppressFbaPriceUpdate=amazonlisted.suppressFbaPriceUpdate
1822
    amazon_listed.suppressFbbPriceUpdate=amazonlisted.suppressFbbPriceUpdate 
1823
    amazon_listed.suppressFbbPriceUpdate=amazonlisted.suppressFbbPriceUpdate
-
 
1824
    amazon_listed.overrrideWanlc = amazonlisted.overrrideWanlc
-
 
1825
    amazon_listed.exceptionalWanlc = amazonlisted.exceptionalWanlc
-
 
1826
    amazon_listed.fcAutoPricing = amazonlisted.fcAutoPricing
1823
    session.commit()
1827
    session.commit()
1824
   
1828
   
1825
def add_amazon_item(amazonlisted):
1829
def add_amazon_item(amazonlisted):
1826
    if (not amazonlisted) or (not amazonlisted.itemid) or (not amazonlisted.asin):
1830
    if (not amazonlisted) or (not amazonlisted.itemid) or (not amazonlisted.asin):
1827
        return
1831
        return
Line 2785... Line 2789...
2785
        result.append(t_competitorPricing)
2789
        result.append(t_competitorPricing)
2786
    return result
2790
    return result
2787
 
2791
 
2788
def get_upload_result_by_id(uploadId):
2792
def get_upload_result_by_id(uploadId):
2789
    return session.query(CompetitorPricing,Item).join((Item,CompetitorPricing.item_id==Item.id)).filter(CompetitorPricing.competitorPricing_requestId==uploadId).all()
2793
    return session.query(CompetitorPricing,Item).join((Item,CompetitorPricing.item_id==Item.id)).filter(CompetitorPricing.competitorPricing_requestId==uploadId).all()
-
 
2794
 
-
 
2795
def add_amazon_promotion(amazonPromotions):
-
 
2796
    for sku, amazonPromotion in amazonPromotions.iteritems():
-
 
2797
        d_amazonPromotion = AmazonPromotion()
-
 
2798
        d_amazonPromotion.sku = sku
-
 
2799
        d_amazonPromotion.standardPrice = amazonPromotion.standardPrice
-
 
2800
        d_amazonPromotion.salePrice = amazonPromotion.salePrice
-
 
2801
        d_amazonPromotion.startDate = to_py_date(amazonPromotion.startDate)
-
 
2802
        d_amazonPromotion.endDate = to_py_date(amazonPromotion.endDate)
-
 
2803
        d_amazonPromotion.addedOn = datetime.datetime.now()
-
 
2804
        d_amazonPromotion.promotionActive = amazonPromotion.promotionActive
-
 
2805
        if sku.upper().startswith('FBA'):
-
 
2806
            d_amazonPromotion.stateId = 1
-
 
2807
        elif sku.upper().startswith('FBB'):
-
 
2808
            d_amazonPromotion.stateId = 2
-
 
2809
        else:
-
 
2810
            raise CatalogServiceException(101, "Amazon Promotion Illegal sku id")
-
 
2811
        d_amazonPromotion.promotionType = amazonPromotion.promotionType
-
 
2812
    session.commit()
-
 
2813
    return True
-
 
2814
 
-
 
2815
 
-
 
2816
def get_amazon_promotion(startDate,endDate):
-
 
2817
    return AmazonPromotion.query.filter(AmazonPromotion.startDate>=(to_py_date(startDate))).filter(AmazonPromotion.endDate<=(to_py_date(endDate))).all()
-
 
2818
        
-
 
2819
def update_amazon_promotion(amazonPromotions):
-
 
2820
    for amazonPromotion in amazonPromotions:
-
 
2821
        amp = AmazonPromotion.get_by(sku=amazonPromotion.sku,addedOn=amazonPromotion.addedOn, promotionType = amazonPromotion.promotionType )
-
 
2822
        amp.updatedOnMarketplace = datetime.datetime.now()
-
 
2823
    session.commit()
-
 
2824
 
-
 
2825
def __get_amazon_promotion_attributes_for_item(item_id):
-
 
2826
    timestamp = datetime.datetime.now()
-
 
2827
    fbaPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBA'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
-
 
2828
    fbbPromo = AmazonPromotion.query.filter(AmazonPromotion.sku=='FBB'+str(item_id)).filter(AmazonPromotion.startDate<=timestamp).filter(AmazonPromotion.endDate>=timestamp).filter(AmazonPromotion.updatedOnMarketplace>to_py_date(0)).order_by(desc(AmazonPromotion.updatedOnMarketplace)).limit(1).all()
-
 
2829
    return fbaPromo, fbbPromo
2790
2830