Subversion Repositories SmartDukaan

Rev

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

Rev 18272 Rev 18275
Line 1624... Line 1624...
1624
class GetUserCrmApplication:
1624
class GetUserCrmApplication:
1625
    
1625
    
1626
    def on_get(self,req,resp):
1626
    def on_get(self,req,resp):
1627
        project_name = req.get_param("project_name")
1627
        project_name = req.get_param("project_name")
1628
        if project_name == 'accessories':
1628
        if project_name == 'accessories':
1629
            project_id=1
-
 
1630
            user = session.query(UserCrmCallingData).filter_by(project_id=1).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1629
            user = session.query(UserCrmCallingData).filter_by(project_id=1).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==1).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1631
            #.filter(UserMasterData.modified<=(datetime.now()-timedelta(days=3)))
-
 
1632
            if user is None:
1630
            if user is None:
-
 
1631
                project_id=1
1633
                insertUserCrmData(project_id)
1632
                insertUserCrmData(project_id)
1634
                user = session.query(UserCrmCallingData).filter_by(project_id=1).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==0).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1633
                user = session.query(UserCrmCallingData).filter_by(project_id=1).filter(or_(UserCrmCallingData.next_call_time<=datetime.now(),UserCrmCallingData.status=='new')).filter(UserCrmCallingData.pincode_servicable==True).filter(UserCrmCallingData.user_available==1).filter(UserCrmCallingData.contact1!=None).order_by(UserCrmCallingData.next_call_time).order_by(UserCrmCallingData.id).with_lockmode("update").first()
1635
            user.status =  'assigned'
1634
            user.status =  'assigned'
1636
            user.agent_id = req.get_param("agent_id")
1635
            user.agent_id = req.get_param("agent_id")
1637
            user.user_available= 1
-
 
1638
            user.counter=1
1636
            user.counter=1
-
 
1637
            user.modified = datetime.now()
1639
            session.commit()
1638
            session.commit()
1640
            resp.body = json.dumps(todict(getUserObject(user)), encoding='utf-8')
1639
            resp.body = json.dumps(todict(getUserObject(user)), encoding='utf-8')
1641
            session.close()
1640
            session.close()
1642
            
1641
            
1643
def insertUserCrmData(project_id):
1642
def insertUserCrmData(project_id):
Line 1686... Line 1685...
1686
            userMasterMap[i.get('user_id')]=i.get('created')
1685
            userMasterMap[i.get('user_id')]=i.get('created')
1687
 
1686
 
1688
    d_sorted = sorted(zip(userMasterMap.values(), userMasterMap.keys()))
1687
    d_sorted = sorted(zip(userMasterMap.values(), userMasterMap.keys()))
1689
    counter=0
1688
    counter=0
1690
    for i in d_sorted:
1689
    for i in d_sorted:
1691
        print counter
-
 
1692
        if counter==20:
1690
        if counter==2:
1693
            break
1691
            break
1694
        userCheck = session.query(UserCrmCallingData).filter_by(user_id=i[1]).filter(UserCrmCallingData.user_available==1).first()
1692
        userCheck = session.query(UserCrmCallingData).filter_by(user_id=i[1]).filter(UserCrmCallingData.user_available==1).filter(UserCrmCallingData.modified<=(datetime.now()-timedelta(days=3))).first()
1695
        print userCheck
-
 
1696
        if userCheck is None:
1693
        if userCheck is None:
1697
            counter=counter+1
1694
            counter=counter+1
1698
            print i[0],i[1],counter
1695
            print i[0],i[1],counter
1699
            userId=i[1]
1696
            userId=i[1]
1700
            userMasterData = UserCrmCallingData()
1697
            userMasterData = UserCrmCallingData()
1701
            userMasterData.user_id = userId 
1698
            userMasterData.user_id = userId 
1702
            userMasterData.name =getUsername(userId) 
1699
            userMasterData.name =getUsername(userId) 
1703
            userMasterData.project_id = 1
1700
            userMasterData.project_id = 1
1704
            userMasterData.user_available=0
1701
            userMasterData.user_available=1
1705
            userMasterData.contact1 = getUserContactDetails(userId)
1702
            userMasterData.contact1 = getUserContactDetails(userId)
1706
            userMasterData.counter = 0
1703
            userMasterData.counter = 0
1707
            userMasterData.created = datetime.now()
1704
            userMasterData.created = datetime.now()
1708
            userMasterData.modified = datetime.now()
1705
            userMasterData.modified = datetime.now()
1709
            userMasterData.status = 'new'
1706
            userMasterData.status = 'new'
Line 1791... Line 1788...
1791
        obj.last_active = None
1788
        obj.last_active = None
1792
    else:
1789
    else:
1793
        obj.last_active =datetime.strftime(result[0][1], '%d/%m/%Y %H:%M:%S')
1790
        obj.last_active =datetime.strftime(result[0][1], '%d/%m/%Y %H:%M:%S')
1794
    obj.name = user.name    
1791
    obj.name = user.name    
1795
    obj.contact = user.contact1
1792
    obj.contact = user.contact1
1796
    obj.timeStamp=None
1793
    obj.lastOrderTimestamp=None
1797
    
1794
    
1798
#     details = get_mongo_connection().Dtr.merchantOrder.find({"userId":user.user_id}).sort([("createdOn",-1)]).limit(1)
-
 
1799
#     for detail in details:
-
 
1800
#         obj.timeStamp= detail.get('createdOn')
-
 
1801
    
-
 
1802
    details = session.query(Orders).filter_by(user_id = user.user_id).filter(~Orders.status.in_(['ORDER_NOT_CREATED_KNOWN', 'ORDER_ALREADY_CREATED_IGNORED'])).order_by(desc(Orders.created)).first()
1795
    details = session.query(Orders).filter_by(user_id = user.user_id).filter(~Orders.status.in_(['ORDER_NOT_CREATED_KNOWN','ORDER_NOT_CREATED_UNKNOWN', 'ORDER_ALREADY_CREATED_IGNORED'])).order_by(desc(Orders.created)).first()
1803
    if details is None:
1796
    if details is None:
1804
        obj.timeStamp =None
1797
        obj.lastOrderTimestamp =None
1805
    else:
1798
    else:
1806
        print details.created
1799
        print details.created
1807
    obj.totalOrders = session.query(Orders).filter_by(user_id = user.user_id).filter(~Orders.status.in_(['ORDER_NOT_CREATED_KNOWN', 'ORDER_ALREADY_CREATED_IGNORED'])).count()
1800
    obj.totalOrders = session.query(Orders).filter_by(user_id = user.user_id).filter(~Orders.status.in_(['ORDER_NOT_CREATED_KNOWN','ORDER_NOT_CREATED_UNKNOWN', 'ORDER_ALREADY_CREATED_IGNORED'])).count()
1808
 
1801
 
1809
    cartResult = fetchResult("select * from user_accounts where account_type ='cartId' and user_id=%d"%(user.user_id))
1802
    cartResult = fetchResult("select account_key from user_accounts where account_type ='cartId' and user_id=%d"%(user.user_id))
1810
    if cartResult == ():
1803
    if cartResult == ():
1811
        obj.lastActiveCartTime = None
1804
        obj.lastActiveCartTime = None
1812
    else:
1805
    else:
1813
        conn = MySQLdb.connect("192.168.190.114", "root","shop2020", "user")
1806
        conn = MySQLdb.connect("192.168.190.114", "root","shop2020", "user")
1814
        cursor = conn.cursor()
1807
        cursor = conn.cursor()
1815
        cursor.execute("select updated_on from cart where id=%s",(cartResult[0][1]))
1808
        cursor.execute("select updated_on from cart where id=%s",(cartResult[0][0]))
1816
        result = cursor.fetchall()
1809
        result = cursor.fetchall()
1817
        if result ==():
1810
        if result ==():
1818
            obj.lastActiveCartTime = None
1811
            obj.lastActiveCartTime = None
1819
        else:
1812
        else:
1820
            print result
1813
            print result
1821
            obj.lastActiveCartTime =datetime.strftime(result[0][1], '%d/%m/%Y %H:%M:%S')
1814
            obj.lastActiveCartTime =datetime.strftime(result[0][0], '%d/%m/%Y %H:%M:%S')
1822
        conn.close()            
1815
        conn.close()            
1823
    return obj
1816
    return obj
1824
 
1817
 
1825
class UnitDeal():
1818
class UnitDeal():
1826
    def on_get(self,req,resp, id):
1819
    def on_get(self,req,resp, id):
1827
        result = Mongo.getDealById(id)
1820
        result = Mongo.getDealById(id)
1828
        resp.body = dumps(result)
1821
        resp.body = dumps(result)
1829
    
1822
    
1830
 
-
 
1831
 
-
 
1832
    
-
 
1833
def main():
1823
def main():
1834
    #tagActivatedReatilers()
1824
    #tagActivatedReatilers()
1835
    a = RetailerDetail()
1825
    a = RetailerDetail()
1836
    retailer = a.getNotActiveRetailer()
1826
    retailer = a.getNotActiveRetailer()
1837
    otherContacts = [r for r, in session.query(RetailerContacts.mobile_number).filter_by(retailer_id=retailer.id).order_by(RetailerContacts.contact_type).all()]
1827
    otherContacts = [r for r, in session.query(RetailerContacts.mobile_number).filter_by(retailer_id=retailer.id).order_by(RetailerContacts.contact_type).all()]