Subversion Repositories SmartDukaan

Rev

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

Rev 16886 Rev 16887
Line 1307... Line 1307...
1307
        result = Mongo.addPayout(payout, transaction_id)
1307
        result = Mongo.addPayout(payout, transaction_id)
1308
        resp.body = str(result)
1308
        resp.body = str(result)
1309
    
1309
    
1310
class AppOffers():
1310
class AppOffers():
1311
    def on_get(self, req, resp, retailerId):
1311
    def on_get(self, req, resp, retailerId):
-
 
1312
        try:
1312
        retailerId = int(retailerId)
1313
            retailerId = int(retailerId)
1313
        #offset = req.get_param_as_int("offset")
1314
            #offset = req.get_param_as_int("offset")
1314
        #limit = req.get_param_as_int("limit")
1315
            #limit = req.get_param_as_int("limit")
1315
        nullCheckList = ['','0']
1316
            nullCheckList = ['','0']
1316
        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, app_offers.location).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()
1317
            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, app_offers.location).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()
1317
        #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, app_offers.location).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')).offset(offset).limit(limit).all()
1318
            #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, app_offers.location).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')).offset(offset).limit(limit).all()
1318
        offersJsonArray = []
1319
            offersJsonArray = []
1319
        if offers is None or len(offers)==0:
1320
            if offers is None or len(offers)==0:
1320
            resp.body = json.dumps("{}")
1321
                resp.body = json.dumps("{}")
1321
        else:
1322
            else:
1322
            for offer in offers:
1323
                for offer in offers:
1323
                appOfferObj = AppOfferObj(offer[0], offer[1], offer[2], offer[3], offer[4], offer[5], offer[6], offer[7], offer[8], offer[9], offer[10], offer[11], offer[12], offer[13], offer[14], offer[15], offer[16], offer[17], offer[18], offer[19])
1324
                    appOfferObj = AppOfferObj(offer[0], offer[1], offer[2], offer[3], offer[4], offer[5], offer[6], offer[7], offer[8], offer[9], offer[10], offer[11], offer[12], offer[13], offer[14], offer[15], offer[16], offer[17], offer[18], offer[19])
1324
                offersJsonArray.append(todict(appOfferObj)) 
1325
                    offersJsonArray.append(todict(appOfferObj)) 
1325
                
1326
                    
-
 
1327
            resp.body = json.dumps({"AppOffers":offersJsonArray}, encoding='latin1' )
-
 
1328
        finally:
1326
        session.close()
1329
            session.close()
1327
        resp.body = json.dumps({"AppOffers":offersJsonArray}, encoding='latin1' )
1330
            
1328
        
1331
        
1329
class AppUserBatchRefund():
1332
class AppUserBatchRefund():
1330
    def on_get(self, req, resp, batchId, userId):
1333
    def on_get(self, req, resp, batchId, userId):
-
 
1334
        try:
1331
        batchId = long(batchId)
1335
            batchId = long(batchId)
1332
        userId = long(userId)
1336
            userId = long(userId)
1333
        userBatchCashback = user_app_cashbacks.get_by(user_id=userId, batchCreditId=batchId)
1337
            userBatchCashback = user_app_cashbacks.get_by(user_id=userId, batchCreditId=batchId)
1334
        session.close()
-
 
1335
        if userBatchCashback is None:
1338
            if userBatchCashback is None:
1336
            resp.body = json.dumps("{}")
1339
                resp.body = json.dumps("{}")
1337
        else:
1340
            else:
1338
            resp.body = json.dumps(todict(userBatchCashback), encoding='utf-8')
1341
                resp.body = json.dumps(todict(userBatchCashback), encoding='utf-8')
-
 
1342
        finally:
-
 
1343
            session.close()
1339
          
1344
          
1340
class AppUserBatchDrillDown():
1345
class AppUserBatchDrillDown():
1341
    def on_get(self, req, resp, fortNightOfYear, userId, yearVal):
1346
    def on_get(self, req, resp, fortNightOfYear, userId, yearVal):
-
 
1347
        try:
1342
        fortNightOfYear = long(fortNightOfYear)
1348
            fortNightOfYear = long(fortNightOfYear)
1343
        userId = long(userId)
1349
            userId = long(userId)
1344
        yearVal = long(yearVal)
1350
            yearVal = long(yearVal)
1345
        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.yearVal==yearVal).filter(user_app_cashbacks.fortnightOfYear==fortNightOfYear).group_by(user_app_installs.transaction_date).all()
1351
            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.yearVal==yearVal).filter(user_app_cashbacks.fortnightOfYear==fortNightOfYear).group_by(user_app_installs.transaction_date).all()
1346
        cashbackArray = []
1352
            cashbackArray = []
1347
        session.close()
-
 
1348
        if appUserBatchDrillDown is None or len(appUserBatchDrillDown)==0:
1353
            if appUserBatchDrillDown is None or len(appUserBatchDrillDown)==0:
1349
            resp.body = json.dumps("{}")
1354
                resp.body = json.dumps("{}")
1350
        else:
1355
            else:
1351
            for appcashBack in appUserBatchDrillDown:
1356
                for appcashBack in appUserBatchDrillDown:
1352
                userAppBatchDrillDown = UserAppBatchDrillDown(str(appcashBack[0]),long(appcashBack[1]), long(appcashBack[2]))
1357
                    userAppBatchDrillDown = UserAppBatchDrillDown(str(appcashBack[0]),long(appcashBack[1]), long(appcashBack[2]))
1353
                cashbackArray.append(todict(userAppBatchDrillDown))
1358
                    cashbackArray.append(todict(userAppBatchDrillDown))
1354
            resp.body = json.dumps({"UserAppCashBackInBatch":cashbackArray}, encoding='utf-8')
1359
                resp.body = json.dumps({"UserAppCashBackInBatch":cashbackArray}, encoding='utf-8')
-
 
1360
        finally:
-
 
1361
            session.close()
1355
            
1362
            
1356
class AppUserBatchDateDrillDown():
1363
class AppUserBatchDateDrillDown():
1357
    def on_get(self, req, resp, userId, date):
1364
    def on_get(self, req, resp, userId, date):
-
 
1365
        try:
1358
        userId = long(userId)
1366
            userId = long(userId)
1359
        date = str(date)
1367
            date = str(date)
1360
        date = datetime.strptime(date, '%Y-%m-%d')
1368
            date = datetime.strptime(date, '%Y-%m-%d')
1361
        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()
1369
            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()
1362
        cashbackArray = []
1370
            cashbackArray = []
1363
        session.close()
-
 
1364
        if appUserBatchDateDrillDown is None or len(appUserBatchDateDrillDown)==0:
1371
            if appUserBatchDateDrillDown is None or len(appUserBatchDateDrillDown)==0:
1365
            resp.body = json.dumps("{}")
1372
                resp.body = json.dumps("{}")
1366
        else:
1373
            else:
1367
            for appcashBack in appUserBatchDateDrillDown:
1374
                for appcashBack in appUserBatchDateDrillDown:
1368
                userAppBatchDateDrillDown = UserAppBatchDateDrillDown(str(appcashBack[0]),long(appcashBack[1]),long(appcashBack[2]))
1375
                    userAppBatchDateDrillDown = UserAppBatchDateDrillDown(str(appcashBack[0]),long(appcashBack[1]),long(appcashBack[2]))
1369
                cashbackArray.append(todict(userAppBatchDateDrillDown))
1376
                    cashbackArray.append(todict(userAppBatchDateDrillDown))
1370
            resp.body = json.dumps({"UserAppCashBackDateWise":cashbackArray}, encoding='utf-8')
1377
                resp.body = json.dumps({"UserAppCashBackDateWise":cashbackArray}, encoding='utf-8')
-
 
1378
        finally:
-
 
1379
            session.close()
1371
            
1380
            
1372
class AppUserCashBack():
1381
class AppUserCashBack():
1373
    def on_get(self, req, resp, userId, status):
1382
    def on_get(self, req, resp, userId, status):
-
 
1383
        try:
1374
        userId = long(userId)
1384
            userId = long(userId)
1375
        status = str(status)
1385
            status = str(status)
1376
        appUserApprovedCashBacks = user_app_cashbacks.query.filter(user_app_cashbacks.user_id==userId).filter(user_app_cashbacks.status==status).all()
1386
            appUserApprovedCashBacks = user_app_cashbacks.query.filter(user_app_cashbacks.user_id==userId).filter(user_app_cashbacks.status==status).all()
1377
        cashbackArray = []
1387
            cashbackArray = []
1378
        session.close()
-
 
1379
        if appUserApprovedCashBacks is None or len(appUserApprovedCashBacks)==0:
1388
            if appUserApprovedCashBacks is None or len(appUserApprovedCashBacks)==0:
1380
            resp.body = json.dumps("{}")
1389
                resp.body = json.dumps("{}")
1381
        else:
1390
            else:
1382
            totalAmount = 0                
1391
                totalAmount = 0                
1383
            for appUserApprovedCashBack in appUserApprovedCashBacks:
1392
                for appUserApprovedCashBack in appUserApprovedCashBacks:
1384
                totalAmount = totalAmount + appUserApprovedCashBack.amount
1393
                    totalAmount = totalAmount + appUserApprovedCashBack.amount
1385
                cashbackArray.append(todict(appUserApprovedCashBack))   
1394
                    cashbackArray.append(todict(appUserApprovedCashBack))   
1386
                
1395
                
1387
            resp.body = json.dumps({"UserAppCashBack":cashbackArray,"TotalAmount":totalAmount}, encoding='utf-8')
1396
                resp.body = json.dumps({"UserAppCashBack":cashbackArray,"TotalAmount":totalAmount}, encoding='utf-8')
-
 
1397
        finally:
-
 
1398
            session.close()
1388
        
1399
        
1389
 
1400
 
1390
def main():
1401
def main():
1391
    #tagActivatedReatilers()
1402
    #tagActivatedReatilers()
1392
    a = RetailerDetail()
1403
    a = RetailerDetail()