Subversion Repositories SmartDukaan

Rev

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

Rev 20136 Rev 20147
Line 552... Line 552...
552
    def on_get(self, req, resp, storeId, storeSku):
552
    def on_get(self, req, resp, storeId, storeSku):
553
        storeId = int(storeId)
553
        storeId = int(storeId)
554
        result = Mongo.getBundleBySourceSku(storeId, storeSku)
554
        result = Mongo.getBundleBySourceSku(storeId, storeSku)
555
        json_docs = json.dumps(result, default=json_util.default)
555
        json_docs = json.dumps(result, default=json_util.default)
556
        resp.body = json_docs
556
        resp.body = json_docs
-
 
557
        
-
 
558
class GetDtrLinks():
557
 
559
    
-
 
560
    def on_get(self, req, resp, agentId, callType, userId):
-
 
561
        try:
-
 
562
            self.agentId = int(agentId)
-
 
563
            self.callType = callType
-
 
564
            if userId is not None:
-
 
565
                self.userId = int(userId)
-
 
566
                users_referrer, = session.query(Users.referrer).filter_by(id=self.userId).first()
-
 
567
                retailerLink = session.query(RetailerLinks).filter_by(code=users_referrer).first()
-
 
568
                if retailerLink is not None:
-
 
569
                    code = retailerLink.code
-
 
570
                    
-
 
571
                else:
-
 
572
                    code = self.getNewRandomCode()
-
 
573
                    retailerLink = RetailerLinks()
-
 
574
                    retailerLink.code = code
-
 
575
                    retailerLink.agent_id = self.agentId
-
 
576
                    retailerLink.retailer_id = None
-
 
577
                    activationCode=Activation_Codes()
-
 
578
                    activationCode.code = code
-
 
579
                    activationCode.status = False
-
 
580
                    session.commit()
-
 
581
                session.close()
-
 
582
                resp.body =  json.dumps({"result":{"code":code,"link":make_tiny(code)}}, encoding='utf-8')
-
 
583
                return 
-
 
584
        finally:
-
 
585
            session.close
-
 
586
            
-
 
587
    def getNewRandomCode(self,):
-
 
588
        newCode = None
-
 
589
        while True:
-
 
590
            newCode = getNextRandomCode(newcodesys, 6)
-
 
591
            print 'NewCode',newCode
-
 
592
            isCodePresent = session.query(Activation_Codes).filter_by(code=newCode).first()
-
 
593
            if isCodePresent is not None:
-
 
594
                continue
-
 
595
            else:
-
 
596
                break
-
 
597
        return newCode
-
 
598
           
558
class RetailerDetail():
599
class RetailerDetail():
559
    global RETAILER_DETAIL_CALL_COUNTER
600
    global RETAILER_DETAIL_CALL_COUNTER
560
    def getRetryRetailer(self,failback=True):
601
    def getRetryRetailer(self,failback=True):
561
        status = RETRY_MAP.get(self.callType)
602
        status = RETRY_MAP.get(self.callType)
562
        retailer = session.query(Retailers).filter_by(status=status).filter(Retailers.next_call_time<=datetime.now()).filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None)).order_by(Retailers.agent_id.desc(),Retailers.call_priority).order_by(Retailers.next_call_time).with_lockmode("update").first()
603
        retailer = session.query(Retailers).filter_by(status=status).filter(Retailers.next_call_time<=datetime.now()).filter(or_(Retailers.agent_id==self.agentId, Retailers.agent_id==None)).order_by(Retailers.agent_id.desc(),Retailers.call_priority).order_by(Retailers.next_call_time).with_lockmode("update").first()
Line 1807... Line 1848...
1807
        invalidNumber = self.invalidNumber
1848
        invalidNumber = self.invalidNumber
1808
        accsDisposition = self.accsDisposition
1849
        accsDisposition = self.accsDisposition
1809
        accsOrderDisposition=self.accsOrderDisposition
1850
        accsOrderDisposition=self.accsOrderDisposition
1810
        otherreason = self.otherreason
1851
        otherreason = self.otherreason
1811
        willplaceorder = self.willplaceorder
1852
        willplaceorder = self.willplaceorder
-
 
1853
        verifiedLinkSent = self.verifiedLinkSent
1812
        orderdiffaccount = self.orderdiffaccount
1854
        orderdiffaccount = self.orderdiffaccount
1813
        businessclosed = self.businessclosed
1855
        businessclosed = self.businessclosed
1814
        appuninstalled = self.appuninstalled
1856
        appuninstalled = self.appuninstalled
1815
        self.userId = int(jsonReq.get('user_id'))
1857
        self.userId = int(jsonReq.get('user_id'))
1816
        try:
1858
        try:
Line 1854... Line 1896...
1854
                        'business_closed':businessclosed,
1896
                        'business_closed':businessclosed,
1855
                        'invalid_no':invalidNumber,
1897
                        'invalid_no':invalidNumber,
1856
                        'wrong_no':invalidNumber,
1898
                        'wrong_no':invalidNumber,
1857
                        'hang_up':invalidNumber,
1899
                        'hang_up':invalidNumber,
1858
                        'service_center_retailer':invalidNumber,
1900
                        'service_center_retailer':invalidNumber,
1859
                        'recharge_retailer':invalidNumber
1901
                        'recharge_retailer':invalidNumber,
-
 
1902
                        'verified_link_sent':verifiedLinkSent
1860
                        
1903
                        
1861
                        
1904
                        
1862
                      }
1905
                      }
1863
            returned = dispositionMap[jsonReq.get('calldispositiontype')]()
1906
            returned = dispositionMap[jsonReq.get('calldispositiontype')]()
1864
        finally:
1907
        finally:
Line 1867... Line 1910...
1867
        if returned:
1910
        if returned:
1868
            resp.body = "{\"result\":\"success\"}"
1911
            resp.body = "{\"result\":\"success\"}"
1869
        else:
1912
        else:
1870
            resp.body = "{\"result\":\"failed\"}"
1913
            resp.body = "{\"result\":\"failed\"}"
1871
                        
1914
                        
-
 
1915
    def verifiedLinkSent(self,):
-
 
1916
        users_referrer, = session.query(Users.referrer).filter_by(id=self.userId).first()
-
 
1917
        if users_referrer is not None:
-
 
1918
            activationCode=session.query(Activation_Codes).filter_by(code=users_referrer).first()
-
 
1919
            if activationCode is not None:
-
 
1920
                activationCode.status = False
-
 
1921
        self.user.status='done'
-
 
1922
        self.user.modified = datetime.now()
-
 
1923
        self.user.disposition=self.callDisposition
-
 
1924
        if self.callHistoryCrm.disposition_description is not None:
-
 
1925
            self.callHistoryCrm.disposition_description = 'App link sent via ' + self.callHistoryCrm.disposition_description
-
 
1926
        else: 
-
 
1927
            self.callHistoryCrm.disposition_description = 'App link sent'
-
 
1928
        session.commit()
-
 
1929
        return True
-
 
1930
    
-
 
1931
    
1872
    def accsOrderDisposition(self):
1932
    def accsOrderDisposition(self):
1873
        self.user.status='done'
1933
        self.user.status='done'
1874
        self.user.user_available = 1
1934
        self.user.user_available = 1
1875
        self.user.disposition=self.callDisposition
1935
        self.user.disposition=self.callDisposition
1876
        self.user.modified = datetime.now()
1936
        self.user.modified = datetime.now()