| Line 6... |
Line 6... |
| 6 |
from dtr.config import PythonPropertyReader
|
6 |
from dtr.config import PythonPropertyReader
|
| 7 |
from dtr.storage import Mongo
|
7 |
from dtr.storage import Mongo
|
| 8 |
from dtr.storage.DataService import Retailers, Users, CallHistory, RetryConfig, \
|
8 |
from dtr.storage.DataService import Retailers, Users, CallHistory, RetryConfig, \
|
| 9 |
RetailerLinks, Activation_Codes, Agents, Agent_Roles, AgentLoginTimings, \
|
9 |
RetailerLinks, Activation_Codes, Agents, Agent_Roles, AgentLoginTimings, \
|
| 10 |
FetchDataHistory, RetailerContacts, Orders, OnboardedRetailerChecklists,\
|
10 |
FetchDataHistory, RetailerContacts, Orders, OnboardedRetailerChecklists,\
|
| 11 |
RetailerAddresses, Pincodeavailability, app_offers, appmasters
|
11 |
RetailerAddresses, Pincodeavailability, app_offers, appmasters, user_app_cashbacks, user_app_installs
|
| 12 |
from dtr.storage.Mongo import get_mongo_connection
|
12 |
from dtr.storage.Mongo import get_mongo_connection
|
| 13 |
from dtr.storage.Mysql import fetchResult
|
13 |
from dtr.storage.Mysql import fetchResult
|
| 14 |
from dtr.utils import FetchLivePrices, DealSheet as X_DealSheet, \
|
14 |
from dtr.utils import FetchLivePrices, DealSheet as X_DealSheet, \
|
| 15 |
UserSpecificDeals
|
15 |
UserSpecificDeals
|
| 16 |
from dtr.utils.utils import getLogger
|
16 |
from dtr.utils.utils import getLogger
|
| Line 26... |
Line 26... |
| 26 |
import traceback
|
26 |
import traceback
|
| 27 |
import urllib
|
27 |
import urllib
|
| 28 |
import urllib2
|
28 |
import urllib2
|
| 29 |
import uuid
|
29 |
import uuid
|
| 30 |
import gdshortener
|
30 |
import gdshortener
|
| 31 |
from dtr.dao import AppOfferObj
|
31 |
from dtr.dao import AppOfferObj, UserAppBatchDrillDown, UserAppBatchDateDrillDown
|
| 32 |
|
32 |
|
| 33 |
alphalist = list(string.uppercase)
|
33 |
alphalist = list(string.uppercase)
|
| 34 |
alphalist.remove('O')
|
34 |
alphalist.remove('O')
|
| 35 |
numList = ['1','2','3','4','5','6','7','8','9']
|
35 |
numList = ['1','2','3','4','5','6','7','8','9']
|
| 36 |
codesys = [alphalist, alphalist, numList, numList, numList]
|
36 |
codesys = [alphalist, alphalist, numList, numList, numList]
|
| Line 1299... |
Line 1299... |
| 1299 |
|
1299 |
|
| 1300 |
class AppOffers():
|
1300 |
class AppOffers():
|
| 1301 |
def on_get(self, req, resp, retailerId):
|
1301 |
def on_get(self, req, resp, retailerId):
|
| 1302 |
retailerId = int(retailerId)
|
1302 |
retailerId = int(retailerId)
|
| 1303 |
nullCheckList = ['','0']
|
1303 |
nullCheckList = ['','0']
|
| 1304 |
offers = session.query(app_offers.id,app_offers.appmaster_id, app_offers.app_name, app_offers.affiliate_offer_id, app_offers.image_url, app_offers.downloads, app_offers.link, app_offers.offer_price, app_offers.offerCategory, app_offers.package_name, app_offers.promoImage, app_offers.ratings, case([(app_offers.override_payout == True, app_offers.overriden_payout)], else_=app_offers.user_payout).label('user_payout'), case([(appmasters.shortDescription != None, appmasters.shortDescription)], else_=None).label('shortDescription'), case([(appmasters.longDescription != None, appmasters.longDescription)], else_=None).label('longDescription'), appmasters.customerOneLiner, appmasters.retailerOneLiner,app_offers.priority, app_offers.offerCondition).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).order_by(case([(app_offers.priority.in_(tuple(nullCheckList)), 1)], else_=0), asc(app_offers.priority),desc('user_payout')).all()
|
1304 |
offers = session.query(app_offers.id,app_offers.appmaster_id, app_offers.app_name, app_offers.affiliate_offer_id, app_offers.image_url, app_offers.downloads, app_offers.link, app_offers.offer_price, app_offers.offerCategory, app_offers.package_name, app_offers.promoImage, app_offers.ratings, case([(app_offers.override_payout == True, app_offers.overriden_payout)], else_=app_offers.user_payout).label('user_payout'), case([(appmasters.shortDescription != None, appmasters.shortDescription)], else_=None).label('shortDescription'), case([(appmasters.longDescription != None, appmasters.longDescription)], else_=None).label('longDescription'), appmasters.customerOneLiner, appmasters.retailerOneLiner,app_offers.priority, app_offers.offerCondition).join((appmasters,appmasters.id==app_offers.appmaster_id)).filter(app_offers.affiliate_id==retailerId).filter(appmasters.showApp==True).filter(app_offers.show==True).filter(app_offers.offer_active==True).filter(app_offers.offer_price>0).order_by(case([(app_offers.priority.in_(tuple(nullCheckList)), 1)], else_=0), asc(app_offers.priority),desc('user_payout')).all()
|
| 1305 |
offersJsonArray = []
|
1305 |
offersJsonArray = []
|
| 1306 |
if offers is None or len(offers)==0:
|
1306 |
if offers is None or len(offers)==0:
|
| 1307 |
resp.body = json.dumps("{}")
|
1307 |
resp.body = json.dumps("{}")
|
| 1308 |
else:
|
1308 |
else:
|
| 1309 |
for offer in offers:
|
1309 |
for offer in offers:
|
| Line 1312... |
Line 1312... |
| 1312 |
|
1312 |
|
| 1313 |
if session.is_active:
|
1313 |
if session.is_active:
|
| 1314 |
print "session is active. closing it."
|
1314 |
print "session is active. closing it."
|
| 1315 |
session.close()
|
1315 |
session.close()
|
| 1316 |
resp.body = json.dumps({"AppOffers":offersJsonArray}, encoding='utf-8')
|
1316 |
resp.body = json.dumps({"AppOffers":offersJsonArray}, encoding='utf-8')
|
| - |
|
1317 |
|
| - |
|
1318 |
class AppUserBatchRefund():
|
| - |
|
1319 |
def on_get(self, req, resp, batchId, userId):
|
| - |
|
1320 |
batchId = long(batchId)
|
| - |
|
1321 |
userId = long(userId)
|
| - |
|
1322 |
userBatchCashback = user_app_cashbacks.get_by(user_id=userId, batchCreditId=batchId)
|
| - |
|
1323 |
if session.is_active:
|
| - |
|
1324 |
print "session is active. closing it."
|
| - |
|
1325 |
session.close()
|
| - |
|
1326 |
if userBatchCashback is None:
|
| - |
|
1327 |
resp.body = json.dumps("{}")
|
| - |
|
1328 |
else:
|
| - |
|
1329 |
resp.body = json.dumps(todict(userBatchCashback), encoding='utf-8')
|
| - |
|
1330 |
|
| - |
|
1331 |
class AppUserBatchDrillDown():
|
| - |
|
1332 |
def on_get(self, req, resp, batchId, userId):
|
| - |
|
1333 |
batchId = long(batchId)
|
| - |
|
1334 |
userId = long(userId)
|
| - |
|
1335 |
appUserBatchDrillDown = session.query(user_app_installs.transaction_date, func.sum(user_app_installs.installCount).label('downloads'), func.sum(user_app_installs.payoutAmount).label('amount')).join((user_app_cashbacks,user_app_cashbacks.user_id==user_app_installs.user_id)).filter(user_app_cashbacks.fortnightOfYear==user_app_installs.fortnightOfYear).filter(user_app_cashbacks.user_id==userId).filter(user_app_cashbacks.batchCreditId==batchId).group_by(user_app_installs.transaction_date).all()
|
| - |
|
1336 |
cashbackArray = []
|
| - |
|
1337 |
if session.is_active:
|
| - |
|
1338 |
print "session is active. closing it."
|
| - |
|
1339 |
session.close()
|
| - |
|
1340 |
if appUserBatchDrillDown is None or len(appUserBatchDrillDown)==0:
|
| - |
|
1341 |
resp.body = json.dumps("{}")
|
| - |
|
1342 |
else:
|
| - |
|
1343 |
for appcashBack in appUserBatchDrillDown:
|
| - |
|
1344 |
userAppBatchDrillDown = UserAppBatchDrillDown(str(appcashBack[0]),long(appcashBack[1]), long(appcashBack[2]))
|
| - |
|
1345 |
cashbackArray.append(todict(userAppBatchDrillDown))
|
| - |
|
1346 |
resp.body = json.dumps({"UserAppCashBackInBatch":cashbackArray}, encoding='utf-8')
|
| - |
|
1347 |
|
| - |
|
1348 |
class AppUserBatchDateDrillDown():
|
| - |
|
1349 |
def on_get(self, req, resp, userId, date):
|
| - |
|
1350 |
userId = long(userId)
|
| - |
|
1351 |
date = str(date)
|
| - |
|
1352 |
date = datetime.strptime(date, '%Y-%m-%d')
|
| - |
|
1353 |
appUserBatchDateDrillDown = session.query(user_app_installs.app_name, func.sum(user_app_installs.installCount).label('downloads'), func.sum(user_app_installs.payoutAmount).label('amount')).filter(user_app_installs.user_id==userId).filter(user_app_installs.transaction_date==date).group_by(user_app_installs.app_name).all()
|
| - |
|
1354 |
cashbackArray = []
|
| - |
|
1355 |
if session.is_active:
|
| - |
|
1356 |
print "session is active. closing it."
|
| - |
|
1357 |
session.close()
|
| - |
|
1358 |
if appUserBatchDateDrillDown is None or len(appUserBatchDateDrillDown)==0:
|
| - |
|
1359 |
resp.body = json.dumps("{}")
|
| - |
|
1360 |
else:
|
| - |
|
1361 |
for appcashBack in appUserBatchDateDrillDown:
|
| - |
|
1362 |
userAppBatchDateDrillDown = UserAppBatchDateDrillDown(str(appcashBack[0]),long(appcashBack[1]),long(appcashBack[2]))
|
| - |
|
1363 |
cashbackArray.append(todict(userAppBatchDateDrillDown))
|
| - |
|
1364 |
resp.body = json.dumps({"UserAppCashBackDateWise":cashbackArray}, encoding='utf-8')
|
| 1317 |
|
1365 |
|
| 1318 |
def main():
|
1366 |
def main():
|
| 1319 |
#tagActivatedReatilers()
|
1367 |
#tagActivatedReatilers()
|
| 1320 |
a = RetailerDetail()
|
1368 |
a = RetailerDetail()
|
| 1321 |
retailer = a.getNotActiveRetailer()
|
1369 |
retailer = a.getNotActiveRetailer()
|