Subversion Repositories SmartDukaan

Rev

Rev 16547 | Rev 16698 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on Jan 16, 2015

@author: amit
'''
from datetime import datetime
from dtr.utils.utils import ORDER_PLACED
import time
class AffiliateInfo():
    
    
    subTagId = None
    adId = None
    adDate = None
    payOut = None
    offerName = None
    storeId = None
    saleAmount = None
    saleDate = None
    saleTime = None
    conversionStatus = None
    ip = None
    missingOrder = None
    def __init__(self,subTagId, storeId, conversionStatus, adId, saleDate, payOut, offerName, ip, saleAmount):
        self.subTagId = subTagId
        self.conversionStatus = conversionStatus
        self.adId = adId
        self.payOut = payOut
        self.offerName = offerName
        self.ip = ip
        self.saleAmount = saleAmount
        self.storeId = storeId
        self.saleDate = saleDate
        self.missingOrder = True
        
    def __repr__(self):
        return None

class FlipkartAffiliateInfo():
    
    
    subTagId = None
    productCode = None
    price = None
    quantity = None
    category = None
    payOut = None
    saleAmount = None
    storeId = None
    saleDate = None
    conversionStatus = None
    missingOrder = None
    saleDateInt = None

    def __init__(self,subTagId, saleDate, productCode, price, quantity, saleAmount, payOut, conversionStatus, category):
        self.subTagId = subTagId
        self.conversionStatus = conversionStatus
        self.payOut = payOut
        self.saleAmount = saleAmount
        self.productCode = productCode
        self.storeId = 2
        self.saleDate = saleDate
        self.price = price
        self.quantity = quantity
        self.missingOrder = True
        self.category = category
        self.saleDateInt = int(time.mktime(datetime.strptime(saleDate, "%Y-%m-%d").timetuple()))
        
    def __repr__(self):
        return None
    
class AmazonAffiliateInfo():
    productLine = None
    dateOrdered = None
    time = None
    linkType = None
    trackingId= None
    directConversion = None
    directClicks = None
    directOrderedQuantity = None
    indirectOrderedQuantity = None
    totalOrderedQuantity = None
    subTagId = None
    def __init__(self,productLine, dateOrdered, linkType, trackingId, directConversion, directClicks, directOrderedQuantity, indirectOrderedQuantity, totalOrderedQuantity, subTagId):
        self.productLine = productLine
        self.dateOrdered = dateOrdered
        self.linkType = linkType
        self.trackingId = trackingId
        self.directConversion = directConversion
        self.directClicks = directClicks
        self.directOrderedQuantity= directOrderedQuantity
        self.indirectOrderedQuantity = indirectOrderedQuantity
        self.totalOrderedQuantity = totalOrderedQuantity
        self.subTagId = subTagId
        self.time = int(time.mktime(datetime.strptime(dateOrdered, "%B %d, %Y").timetuple()))

class AmazonAffiliateConversionInfo():
    productLine = None
    seller = None
    trackingId = None
    dateShipped = None
    price = None
    referralFeeRate = None
    quantity = None
    revenue = None
    earnings = None
    subTag = None

    subTag = None
    def __init__(self,productLine, seller, trackingId, dateShipped, price, referralFeeRate, quantity,revenue, earnings, subTag):
        self.productLine = productLine
        self.seller = seller
        self.trackingId = trackingId
        self.dateShipped = dateShipped
        self.price = price
        self.referralFeeRate = referralFeeRate
        self.quantity = quantity
        self.revenue= revenue
        self.earnings = earnings
        self.subTag = subTag

class ShopCluesAffiliateInfo():
    subTagId = None
    transactionTime = None
    transactionId = None
    orderRef = None
    merchantOrderId = None
    merchantName= None
    productCode = None
    productName = None
    payOut = None
    transactionValue = None
    uniqueKey = None
    clickTime = None
    status = None
    
    def __init__(self,subTagId, transactionTime, transactionId, orderRef, merchantOrderId, merchantName, productCode, productName,payOut, transactionValue, uniqueKey, clickTime, status):
        self.subTagId = subTagId
        self.transactionTime = int(time.mktime(datetime.strptime(transactionTime,"%Y-%m-%dT%H:%M:%S").timetuple()))
        self.transactionId = transactionId
        self.orderRef = orderRef
        self.merchantOrderId = merchantOrderId
        self.merchantName= merchantName
        self.productCode = productCode
        self.productName = productName
        self.payOut = payOut
        self.transactionValue = transactionValue
        self.uniqueKey = uniqueKey
        self.clickTime = int(time.mktime(datetime.strptime(clickTime,"%Y-%m-%dT%H:%M:%S").timetuple()))
        self.status = status
    

class Order():
    orderId = None
    subOrders = None
    deliveryCharges = None
    userId = None
    merchantOrderId = None
    storeId = None
    discountApplied = None
    subTagId = None
    closed = None
    placedOn = None
    totalAmount = None
    paidAmount = None
    orderSuccessUrl = None
    orderTrackingUrl = None
    createdOn = None
    createdInt = None
    requireDetail = None
    def __init__(self, orderId, userId, subTagId, storeId, orderSuccessUrl, new = True):
        self.orderId = orderId
        self.userId = userId
        self.subTagId = subTagId
        self.closed = False
        self.storeId = storeId
        self.orderSuccessUrl = orderSuccessUrl
        self.requireDetail = False
        if new:
            created = datetime.now()
            self.createdOn = str(created)
            self.createdOnInt = int(time.mktime(created.timetuple()))
        
class SubOrder():
    status = None
    productTitle = None
    estimatedDeliveryDate  = None
    estimatedShippingDate  = None
    productCode  = None
    detailedStatus  = None
    merchantSubOrderId  = None
    productUrl  = None
    courierName  = None
    unitPrice  = None
    amountPaid  = None 
    offerDiscount  = None
    deliveryCharges  = None
    tracingkUrl  = None
    orderDetailUrl = None
    placedOn  = None
    trackingNumber  = None
    quantity  = None
    cashBackStatus = None
    cashBackAmount = None
    cashBackPercentage = None
    imgUrl = None
    closed = None
    missingAff = None
    
    def __init__(self, productTitle, productUrl, placedOn, amountPaid, status=ORDER_PLACED, quantity = 1):
        self.productTitle = productTitle
        self.productUrl = productUrl
        self.placedOn = placedOn
        self.amountPaid = amountPaid
        self.status = status
        self.quantity = quantity
        self.closed = False
        self.missingAff = True
        
class FeaturedDeals():
    
    def __init__(self, sku, category_id, thresholdPrice, rank):
        self.sku = sku
        self.category_id = category_id
        self.thresholdPrice = thresholdPrice
        self.rank = rank
 
    

class obj(object):
    def __init__(self, d):
        for a, b in d.items():
            if isinstance(b, (list, tuple)):
                setattr(self, a, [obj(x) if isinstance(x, dict) else x for x in b])
            else:
                setattr(self, a, obj(b) if isinstance(b, dict) else b)

class AppTransactions():
    def __init__(self, app_id, retailer_id, transaction_time, redirect_url, payout_status, payout_description, cashback_status, cash_back_description, payout_amount, payout_time, offer_price, overridenCashBack ,isCashBackOverriden, user_payout):
        self.app_id = app_id
        self.retailer_id = retailer_id
        self.transaction_time = transaction_time
        self.redirect_url = redirect_url
        self.payout_status = payout_status
        self.payout_description = payout_description
        self.cashback_status = cashback_status
        self.cash_back_description = cash_back_description
        self.payout_amount = payout_amount
        self.payout_time = payout_time
        self.offer_price = offer_price
        self.overridenCashBack = overridenCashBack
        self.isCashBackOverriden = isCashBackOverriden
        self.user_payout = user_payout