Subversion Repositories SmartDukaan

Rev

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

Rev 12124 Rev 12133
Line 19... Line 19...
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
    ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
22
    ProductFeedSubmit, MarketplaceItems, MarketPlaceItemPrice, \
23
    SourcePercentageMaster, SourceItemPercentage, FlipkartItem, MarketPlaceUpdateHistory, \
23
    SourcePercentageMaster, SourceItemPercentage, FlipkartItem, MarketPlaceUpdateHistory, \
24
    SourceCategoryPercentage, MarketPlaceHistory, PrivateDeals, AmazonOutOfSync,PrivateDealsPriceComparison
24
    SourceCategoryPercentage, MarketPlaceHistory, PrivateDeals, AmazonOutOfSync,PrivateDealsPriceComparison, SourceReturnPercentage
25
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
25
from shop2020.thriftpy.model.v1.catalog.ttypes import status, ItemShippingInfo, \
26
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
26
    ItemType, PremiumType, FreebieItem as t_FreebieItem, \
27
    StorePricing as tStorePricing, CatalogServiceException, \
27
    StorePricing as tStorePricing, CatalogServiceException, \
28
    BannerType, InsurerType, Banner as t_banner
28
    BannerType, InsurerType, Banner as t_banner
29
from shop2020.thriftpy.model.v1.inventory.ttypes import \
29
from shop2020.thriftpy.model.v1.inventory.ttypes import \
Line 2346... Line 2346...
2346
            marketplaceItem.emiFee = t_marketplaceItem.emiFee
2346
            marketplaceItem.emiFee = t_marketplaceItem.emiFee
2347
            marketplaceItem.closingFee = t_marketplaceItem.closingFee
2347
            marketplaceItem.closingFee = t_marketplaceItem.closingFee
2348
            marketplaceItem.returnProvision = t_marketplaceItem.returnProvision
2348
            marketplaceItem.returnProvision = t_marketplaceItem.returnProvision
2349
            marketplaceItem.commission = t_marketplaceItem.commission
2349
            marketplaceItem.commission = t_marketplaceItem.commission
2350
            marketplaceItem.vat = t_marketplaceItem.vat
2350
            marketplaceItem.vat = t_marketplaceItem.vat
-
 
2351
            if marketplaceItem.source == OrderSource.SNAPDEAL:
-
 
2352
                marketplaceItem.packagingCost = t_marketplaceItem.packagingCost
-
 
2353
            else:
2351
            marketplaceItem.packagingCost = 15.0
2354
                marketplaceItem.packagingCost = 15.0
2352
            marketplaceItem.serviceTax = t_marketplaceItem.serviceTax
2355
            marketplaceItem.serviceTax = t_marketplaceItem.serviceTax
2353
            marketplaceItem.courierCost = t_marketplaceItem.courierCost
2356
            marketplaceItem.courierCost = t_marketplaceItem.courierCost
2354
            marketplaceItem.otherCost = t_marketplaceItem.otherCost
2357
            marketplaceItem.otherCost = t_marketplaceItem.otherCost
2355
            marketplaceItem.autoIncrement = t_marketplaceItem.autoIncrement
2358
            marketplaceItem.autoIncrement = t_marketplaceItem.autoIncrement
2356
            marketplaceItem.autoDecrement = t_marketplaceItem.autoDecrement
2359
            marketplaceItem.autoDecrement = t_marketplaceItem.autoDecrement
Line 2374... Line 2377...
2374
            marketplaceItem.minimumPossibleTp = t_marketplaceItem.minimumPossibleTp
2377
            marketplaceItem.minimumPossibleTp = t_marketplaceItem.minimumPossibleTp
2375
            marketplaceItem.emiFee = t_marketplaceItem.emiFee
2378
            marketplaceItem.emiFee = t_marketplaceItem.emiFee
2376
            marketplaceItem.closingFee = t_marketplaceItem.closingFee
2379
            marketplaceItem.closingFee = t_marketplaceItem.closingFee
2377
            marketplaceItem.returnProvision = t_marketplaceItem.returnProvision
2380
            marketplaceItem.returnProvision = t_marketplaceItem.returnProvision
2378
            marketplaceItem.commission = t_marketplaceItem.commission
2381
            marketplaceItem.commission = t_marketplaceItem.commission
-
 
2382
            if marketplaceItem.source == OrderSource.SNAPDEAL:
-
 
2383
                marketplaceItem.packagingCost = t_marketplaceItem.packagingCost
-
 
2384
            else:
-
 
2385
                marketplaceItem.packagingCost = 15.0
2379
            marketplaceItem.vat = t_marketplaceItem.vat
2386
            marketplaceItem.vat = t_marketplaceItem.vat
2380
            marketplaceItem.serviceTax = t_marketplaceItem.serviceTax
2387
            marketplaceItem.serviceTax = t_marketplaceItem.serviceTax
2381
            marketplaceItem.maximumSellingPrice = t_marketplaceItem.maximumSellingPrice
2388
            marketplaceItem.maximumSellingPrice = t_marketplaceItem.maximumSellingPrice
2382
            marketplaceItem.pgFee = t_marketplaceItem.pgFee
2389
            marketplaceItem.pgFee = t_marketplaceItem.pgFee
2383
            marketplaceItem.courierCostMarketplace = t_marketplaceItem.courierCostMarketplace
2390
            marketplaceItem.courierCostMarketplace = t_marketplaceItem.courierCostMarketplace
Line 2434... Line 2441...
2434
        print e
2441
        print e
2435
        return False
2442
        return False
2436
    
2443
    
2437
    
2444
    
2438
def get_costing_for_marketplace(source_id,itemId):
2445
def get_costing_for_marketplace(source_id,itemId):
-
 
2446
    d_item = get_item(itemId)
2439
    time = datetime.datetime.now()
2447
    time = datetime.datetime.now()
2440
    sip = SourceItemPercentage.query.filter(SourceItemPercentage.item_id==itemId).filter(SourceItemPercentage.source==source_id).filter(SourceItemPercentage.startDate<=time).filter(SourceItemPercentage.expiryDate>=time).first()
2448
    sip = SourceItemPercentage.query.filter(SourceItemPercentage.item_id==itemId).filter(SourceItemPercentage.source==source_id).filter(SourceItemPercentage.startDate<=time).filter(SourceItemPercentage.expiryDate>=time).first()
-
 
2449
    srm = SourceReturnPercentage.get_by(source=source_id,brand=d_item.brand,category_id=d_item.category)
2441
    if sip is not None:
2450
    if sip is not None:
-
 
2451
        sip.returnProvision = srm.returnProvision
2442
        return sip
2452
        return sip
2443
    else:
2453
    else:
2444
        item = get_item(itemId)
2454
        item = get_item(itemId)
2445
        scp = SourceCategoryPercentage.query.filter(SourceCategoryPercentage.category_id==item.category).filter(SourceCategoryPercentage.source==source_id).filter(SourceCategoryPercentage.startDate<=time).filter(SourceCategoryPercentage.expiryDate>=time).first()
2455
        scp = SourceCategoryPercentage.query.filter(SourceCategoryPercentage.category_id==item.category).filter(SourceCategoryPercentage.source==source_id).filter(SourceCategoryPercentage.startDate<=time).filter(SourceCategoryPercentage.expiryDate>=time).first()
2446
        if scp is not None:
2456
        if scp is not None:
-
 
2457
            scp.returnProvision = srm.returnProvision
2447
            return scp
2458
            return scp
2448
        else:
2459
        else:
2449
            spm = SourcePercentageMaster.get_by(source=source_id)
2460
            spm = SourcePercentageMaster.get_by(source=source_id)
-
 
2461
            spm.returnProvision = srm.returnProvision
2450
            return spm
2462
            return spm
2451
    
2463
    
2452
def __validateSnapdealObject(snapdealItem):
2464
def __validateSnapdealObject(snapdealItem):
2453
    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:
2465
    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:
2454
        return False
2466
        return False
Line 2497... Line 2509...
2497
            ic = InventoryClient().get_client()
2509
            ic = InventoryClient().get_client()
2498
            warehouse = ic.getWarehouse(item.warehouseId)
2510
            warehouse = ic.getWarehouse(item.warehouseId)
2499
            if(warehouse.vendor.id==vendor_id):
2511
            if(warehouse.vendor.id==vendor_id):
2500
                item.maxNlc = nlc
2512
                item.maxNlc = nlc
2501
                vat = (item.sellingPrice/(1+(marketplaceitem.vat/100))-(nlc/(1+(marketplaceitem.vat/100))))*(marketplaceitem.vat/100)
2513
                vat = (item.sellingPrice/(1+(marketplaceitem.vat/100))-(nlc/(1+(marketplaceitem.vat/100))))*(marketplaceitem.vat/100)
2502
                inHouseCost = 15 + vat + (marketplaceitem.returnProvision/100)*item.sellingPrice + marketplaceitem.otherCost
2514
                inHouseCost = marketplaceitem.packagingCost + vat + (marketplaceitem.returnProvision/100)*item.sellingPrice + marketplaceitem.otherCost
2503
                marketplaceitem.minimumPossibleTp  = nlc + inHouseCost
2515
                marketplaceitem.minimumPossibleTp  = nlc + inHouseCost
2504
                if (marketplaceitem.pgFee/100)*item.sellingPrice>=20:
2516
                if (marketplaceitem.pgFee/100)*item.sellingPrice>=20:
2505
                    marketplaceitem.minimumPossibleSp = (nlc+(item.courierCostMarketplace+marketplaceitem.closingFee)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat/100))+(15+marketplaceitem.otherCost)*(1+(marketplaceitem.vat)/100))/(1-(marketplaceitem.commission/100+marketplaceitem.emiFee/100+marketplaceitem.pgFee/100)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat)/100)-(marketplaceitem.returnProvision/100)*(1+(marketplaceitem.vat)/100))
2517
                    marketplaceitem.minimumPossibleSp = (nlc+(item.courierCostMarketplace+marketplaceitem.closingFee)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat/100))+(marketplaceitem.packagingCost+marketplaceitem.otherCost)*(1+(marketplaceitem.vat)/100))/(1-(marketplaceitem.commission/100+marketplaceitem.emiFee/100+marketplaceitem.pgFee/100)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat)/100)-(marketplaceitem.returnProvision/100)*(1+(marketplaceitem.vat)/100))
2506
                else:
2518
                else:
2507
                    marketplaceitem.minimumPossibleSp = (nlc+(item.courierCostMarketplace+marketplaceitem.closingFee+20)*(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))
2519
                    marketplaceitem.minimumPossibleSp = (nlc+(item.courierCostMarketplace+marketplaceitem.closingFee+20)*(1+(marketplaceitem.serviceTax/100))*(1+(marketplaceitem.vat/100))+(marketplaceitem.packagingCost+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))
2508
                session.commit()
2520
                session.commit()
2509
        flipkartitem = FlipkartItem.get_by(item_id=itemid)
2521
        flipkartitem = FlipkartItem.get_by(item_id=itemid)
2510
        if flipkartitem is not None:
2522
        if flipkartitem is not None:
2511
            ic = InventoryClient().get_client()
2523
            ic = InventoryClient().get_client()
2512
            fmarketplaceitem =  MarketplaceItems.get_by(itemId=itemid,source=8)
2524
            fmarketplaceitem =  MarketplaceItems.get_by(itemId=itemid,source=8)
Line 2732... Line 2744...
2732
    
2744
    
2733
def get_amazon_out_of_sync(itemId):
2745
def get_amazon_out_of_sync(itemId):
2734
    return AmazonOutOfSync.get_by(item_id=itemId)
2746
    return AmazonOutOfSync.get_by(item_id=itemId)
2735
 
2747
 
2736
def get_all_private_deals_comparison():
2748
def get_all_private_deals_comparison():
2737
    return session.query(PrivateDealsPriceComparison,Item).join((Item,PrivateDealsPriceComparison.item_id==Item.id)).all()
-
 
2738
2749
    return session.query(PrivateDealsPriceComparison,Item).join((Item,PrivateDealsPriceComparison.item_id==Item.id)).all()
-
 
2750
 
-
 
2751
def get_all_snapdeal_marketplaceItem():
-
 
2752
    return session.query(SnapdealItem,MarketplaceItems,Item).join((MarketplaceItems,SnapdealItem.item_id==MarketplaceItems.itemId)).join((Item,SnapdealItem.item_id==Item.id)).filter(MarketplaceItems.source==OrderSource.SNAPDEAL).all()
-
 
2753
 
-
 
2754
def get_all_flipkart_marketplaceItem():
-
 
2755
    return session.query(FlipkartItem,MarketplaceItems,Item).join((MarketplaceItems,FlipkartItem.item_id==MarketplaceItems.itemId)).join((Item,FlipkartItem.item_id==Item.id)).filter(MarketplaceItems.source==OrderSource.FLIPKART).all()
-
 
2756
 
-
 
2757
 
-
 
2758
 
-
 
2759