Rev 19497 | 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 datetimefrom dtr.utils.utils import ORDER_PLACEDimport timeclass AffiliateInfo():subTagId = NoneadId = NoneadDate = NonepayOut = NoneofferName = NonestoreId = NonesaleAmount = NonesaleDate = NonesaleTime = NoneconversionStatus = Noneip = NoneorderId = NonemissingOrder = NoneproductCode = NoneunitPrice = Nonequantity = Nonedef __init__(self,subTagId, storeId, conversionStatus, adId, saleDate, payOut, offerName, ip, saleAmount):self.subTagId = subTagIdself.conversionStatus = conversionStatusself.adId = adIdself.payOut = payOutself.offerName = offerNameself.ip = ipself.saleAmount = saleAmountself.storeId = storeIdself.saleDate = saleDateself.missingOrder = Truedef __repr__(self):return Noneclass FlipkartAffiliateInfo():subTagId = NoneproductCode = Noneprice = Nonequantity = Nonecategory = NonepayOut = NonesaleAmount = NonestoreId = NonesaleDate = NoneconversionStatus = NonemissingOrder = NonesaleDateInt = Nonedef __init__(self,subTagId, saleDate, productCode, price, quantity, saleAmount, payOut, conversionStatus, category):self.subTagId = subTagIdself.conversionStatus = conversionStatusself.payOut = payOutself.saleAmount = saleAmountself.productCode = productCodeself.storeId = 2self.saleDate = saleDateself.price = priceself.quantity = quantityself.missingOrder = Trueself.category = categoryself.saleDateInt = int(time.mktime(datetime.strptime(saleDate, "%Y-%m-%d").timetuple()))def __repr__(self):return Noneclass AmazonAffiliateInfo():productLine = NonedateOrdered = Nonetime = NonelinkType = NonetrackingId= NonedirectConversion = NonedirectClicks = NonedirectOrderedQuantity = NoneindirectOrderedQuantity = NonetotalOrderedQuantity = NonesubTagId = Nonedef __init__(self,productLine, dateOrdered, linkType, trackingId, directConversion, directClicks, directOrderedQuantity, indirectOrderedQuantity, totalOrderedQuantity, subTagId):self.productLine = productLineself.dateOrdered = dateOrderedself.linkType = linkTypeself.trackingId = trackingIdself.directConversion = directConversionself.directClicks = directClicksself.directOrderedQuantity= directOrderedQuantityself.indirectOrderedQuantity = indirectOrderedQuantityself.totalOrderedQuantity = totalOrderedQuantityself.subTagId = subTagIdself.time = int(time.mktime(datetime.strptime(dateOrdered, "%B %d, %Y").timetuple()))class AmazonAffiliateConversionInfo():productLine = Noneseller = NonetrackingId = NonedateShipped = Noneprice = NonereferralFeeRate = Nonequantity = Nonerevenue = Noneearnings = NonesubTag = NonesubTag = Nonedef __init__(self,productLine, seller, trackingId, dateShipped, price, referralFeeRate, quantity,revenue, earnings, subTag):self.productLine = productLineself.seller = sellerself.trackingId = trackingIdself.dateShipped = dateShippedself.price = priceself.referralFeeRate = referralFeeRateself.quantity = quantityself.revenue= revenueself.earnings = earningsself.subTag = subTagclass ShopCluesAffiliateInfo():subTagId = NonetransactionTime = NonetransactionId = NoneorderRef = NonemerchantOrderId = NonemerchantName= NoneproductCode = NoneproductName = NonepayOut = NonetransactionValue = NoneuniqueKey = NoneclickTime = Nonestatus = Nonedef __init__(self,subTagId, transactionTime, transactionId, orderRef, merchantOrderId, merchantName, productCode, productName,payOut, transactionValue, uniqueKey, clickTime, status):self.subTagId = subTagIdself.transactionTime = int(time.mktime(datetime.strptime(transactionTime,"%Y-%m-%dT%H:%M:%S").timetuple()))self.transactionId = transactionIdself.orderRef = orderRefself.merchantOrderId = merchantOrderIdself.merchantName= merchantNameself.productCode = productCodeself.productName = productNameself.payOut = payOutself.transactionValue = transactionValueself.uniqueKey = uniqueKeyself.clickTime = int(time.mktime(datetime.strptime(clickTime,"%Y-%m-%dT%H:%M:%S").timetuple()))self.status = statusclass HomeShopAffiliateInfo():subTagId = NonetransactionTime = NonetransactionId = NoneorderRef = NonemerchantOrderId = NonemerchantName= NoneproductCode = NoneproductName = NonepayOut = NonetransactionValue = NoneuniqueKey = NoneclickTime = Nonestatus = Nonedef __init__(self,subTagId, transactionTime, transactionId, orderRef, merchantOrderId, merchantName, productCode, productName,payOut, transactionValue, uniqueKey, clickTime, status):self.subTagId = subTagIdself.transactionTime = int(time.mktime(datetime.strptime(transactionTime,"%Y-%m-%dT%H:%M:%S").timetuple()))self.transactionId = transactionIdself.orderRef = orderRefself.merchantOrderId = merchantOrderIdself.merchantName= merchantNameself.productCode = productCodeself.productName = productNameself.payOut = payOutself.transactionValue = transactionValueself.uniqueKey = uniqueKeyself.clickTime = int(time.mktime(datetime.strptime(clickTime,"%Y-%m-%dT%H:%M:%S").timetuple()))self.status = statusclass Order():orderId = NonesubOrders = NonedeliveryCharges = NoneuserId = NonemerchantOrderId = NonestoreId = NonediscountApplied = NonesubTagId = Noneclosed = NoneplacedOn = NonetotalAmount = NonepaidAmount = NoneorderSuccessUrl = NoneorderTrackingUrl = NonecreatedOn = NonecreatedOnInt = NonerequireDetail = Nonedef __init__(self, orderId, userId, subTagId, storeId, orderSuccessUrl, new = True):self.orderId = orderIdself.userId = userIdself.subTagId = subTagIdself.closed = Falseself.storeId = storeIdself.orderSuccessUrl = orderSuccessUrlself.requireDetail = Falseif new:created = datetime.now()self.createdOn = str(created)self.createdOnInt = int(time.mktime(created.timetuple()))class SubOrder():status = NoneproductTitle = NoneestimatedDeliveryDate = NoneestimatedShippingDate = NoneproductCode = NonedetailedStatus = NonemerchantSubOrderId = NoneproductUrl = NonecourierName = NoneunitPrice = NoneamountPaid = NoneofferDiscount = NonedeliveryCharges = NonetracingkUrl = NoneorderDetailUrl = NoneplacedOn = NonetrackingNumber = Nonequantity = NonecashBackStatus = NonecashBackAmount = NonecashBackPercentage = NoneimgUrl = Noneclosed = NonemissingAff = Nonedef __init__(self, productTitle, productUrl, placedOn, amountPaid, status=ORDER_PLACED, quantity = 1):self.productTitle = productTitleself.productUrl = productUrlself.placedOn = placedOnself.amountPaid = amountPaidself.status = statusself.quantity = quantityself.closed = Falseself.missingAff = Trueclass FeaturedDeals():def __init__(self, skuBundleId, thresholdPrice, rank):self.skuBundleId = skuBundleIdself.thresholdPrice = thresholdPriceself.rank = rankclass 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, final_user_payout):self.app_id = app_idself.retailer_id = retailer_idself.transaction_time = transaction_timeself.redirect_url = redirect_urlself.payout_status = payout_statusself.payout_description = payout_descriptionself.cashback_status = cashback_statusself.cash_back_description = cash_back_descriptionself.payout_amount = payout_amountself.payout_time = payout_timeself.offer_price = offer_priceself.overridenCashBack = overridenCashBackself.isCashBackOverriden = isCashBackOverridenself.user_payout = user_payoutself.final_user_payout = final_user_payoutclass AppOfferObj():def __init__(self, app_id, appmaster_id, app_name, affiliate_offer_id, image_url, downloads, link, offer_price, offerCategory, package_name, promoImage, ratings, user_payout, shortDescription, longDescription, customerOneLiner, retailerOneLiner, priority, offerCondition, location):self.app_id = app_idself.appmaster_id= appmaster_idself.app_name = app_nameself.affiliate_offer_id = affiliate_offer_idself.image_url = image_urlself.downloads = downloadsself.link = linkself.offer_price = offer_priceself.offerCategory = offerCategoryself.package_name = package_nameself.promoImage = promoImageself.ratings = ratingsself.user_payout = user_payoutself.shortDescription = shortDescriptionself.longDescription = longDescriptionself.customerOneLiner = customerOneLinerself.retailerOneLiner = retailerOneLinerself.priority = priorityself.offerCondition = offerConditionself.location = locationclass UserAppBatchDrillDown():def __init__(self, dateVal, downloads, amount):self.dateVal = dateValself.downloads = downloadsself.amount = amountclass UserAppBatchDateDrillDown():def __init__(self, appName, downloads, amount):self.appName = appNameself.downloads = downloadsself.amount = amountclass ProductInfo:def __init__(self, _id, skuBundleId, sourceProductId, sourceCategoryId, source_url ,source, source_id, category, category_id ,\offer, cashback, available_price, mrp, thumbnail, brand, model_name, product_name, source_product_name, \url, stock_status, in_stock, rank, identifier,addedOn,updatedOn,secondaryIdentifier,marketPlaceUrl,status, \priceUpdatedOn, tagline, is_shortage, brand_id,maxPrice,buyBoxFlag,coupon,codAvailable,gross_price,ignorePricing,quantity, \videoLink,showVideo,subCategoryId,subCategory,showMrp,shippingCost, showNetPrice,internalRank):self. _id = _idself.addedOn = addedOnself.available_price = available_priceself.brand = brandself.cashback= cashbackself.category= categoryself.category_id = category_idself.identifier = identifierself.in_stock= in_stockself.marketPlaceUrl = marketPlaceUrlself.model_name = model_nameself.mrp = mrpself.product_name = product_nameself.rank = rankself.secondaryIdentifier = secondaryIdentifierself.skuBundleId = skuBundleIdself.source = sourceself.sourceCategoryId=sourceCategoryIdself.sourceProductId=sourceProductIdself.source_id=source_idself.source_product_name = source_product_nameself.source_url = source_urlself.status = statusself.stock_status = stock_statusself.thumbnail = thumbnailself.updatedOn = updatedOnself.url = urlself.priceUpdatedOn = priceUpdatedOnself.offer = offerself.tagline = taglineself.is_shortage = is_shortageself.brand_id= brand_idself.maxPrice= maxPriceself.buyBoxFlag = buyBoxFlagself.coupon = couponself.codAvailable = codAvailableself.gross_price = gross_priceself.ignorePricing = ignorePricingself.quantity= quantityself.videoLink = videoLinkself.showVideo = showVideoself.subCategoryId = subCategoryIdself.subCategory = subCategoryself.showMrp = showMrpself.shippingCost = shippingCostself.showNetPrice = showNetPriceself.internalRank = internalRankclass Promotion:def __init__(self, offer_id,offer_name,offer_description , categories_applicable, sub_categories_not_applicable,startDate, endDate, target1, target1_cash_back_percetage, target2, target2_cash_back_percetage, maxCashBack, url,pending_order_value, delivered_order_value, last_run_timestamp):self.offer_id = offer_idself.offer_name = offer_nameself.offer_description = offer_descriptionself.categories_applicable = categories_applicableself.sub_categories_not_applicable = sub_categories_not_applicableself.startDate = startDateself.endDate = endDateself.target1 = target1self.target1_cash_back_percetage = target1_cash_back_percetageself.target2 = target2self.target2_cash_back_percetage = target2_cash_back_percetageself.maxCashBack = maxCashBackself.url = urlself.pending_order_value = pending_order_valueself.delivered_order_value = delivered_order_valueself.last_run_timestamp = last_run_timestampclass NotificationCampaign:def __init__(self, campaignId, name, title, message, sql, url, created, expiresat, type, status, sendsms, messagetext, smsprocessed, notification_processed, notification_type):self._id = campaignIdself.name = nameself.title = titleself.message = messageself.sql = sqlself.url = urlself.created = createdself.expiresat = expiresatself.type = typeself.status = statusself.sendsms = sendsmsself.messagetext = messagetextself.smsprocessed = smsprocessedself.notification_processed = notification_processedself.notification_type = notification_typeself.notification_long_text = Noneclass CrmRefundWallet:def __init__(self, user_id,email_id,mobile,amount,type,store,reference_no,reference_desc,status,created):self.user_id = user_idself.email_id = email_idself.mobile = mobileself.amount = amountself.type = typeself.store = storeself.reference_no = reference_noself.reference_desc = reference_descself.status = statusself.created_timestamp = createdself.batchId = Noneself.update_timestamp = Noneself.approved_by = None