| Line 1815... |
Line 1815... |
| 1815 |
lgr.info( "Request ----\n" + str(jsonReq))
|
1815 |
lgr.info( "Request ----\n" + str(jsonReq))
|
| 1816 |
self.jsonReq = jsonReq
|
1816 |
self.jsonReq = jsonReq
|
| 1817 |
self.callType="default"
|
1817 |
self.callType="default"
|
| 1818 |
callLaterAccs = self.callLaterAccs
|
1818 |
callLaterAccs = self.callLaterAccs
|
| 1819 |
accsDisposition = self.accsDisposition
|
1819 |
accsDisposition = self.accsDisposition
|
| - |
|
1820 |
accsOrderDisposition=self.accsOrderDisposition
|
| 1820 |
self.userId = int(jsonReq.get('user_id'))
|
1821 |
self.userId = int(jsonReq.get('user_id'))
|
| 1821 |
try:
|
1822 |
try:
|
| 1822 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==3).first()
|
1823 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==3).first()
|
| 1823 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
1824 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
| 1824 |
self.callHistoryCrm = CallHistoryCrm()
|
1825 |
self.callHistoryCrm = CallHistoryCrm()
|
| Line 1828... |
Line 1829... |
| 1828 |
self.callHistoryCrm.user_id=self.userId
|
1829 |
self.callHistoryCrm.user_id=self.userId
|
| 1829 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
1830 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
| 1830 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
1831 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
| 1831 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
1832 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
| 1832 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
1833 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
| 1833 |
self.callHistoryCrm.feedback = jsonReq.get('feedbacks')
|
- |
|
| 1834 |
self.inputs = jsonReq.get("inputs")
|
1834 |
self.inputs = jsonReq.get("inputs")
|
| 1835 |
dispositionMap = { 'call_later':callLaterAccs,
|
1835 |
dispositionMap = { 'call_later':callLaterAccs,
|
| 1836 |
'ringing_no_answer':callLaterAccs,
|
1836 |
'ringing_no_answer':callLaterAccs,
|
| 1837 |
'not_reachable':callLaterAccs,
|
1837 |
'not_reachable':callLaterAccs,
|
| 1838 |
'switch_off':callLaterAccs,
|
1838 |
'switch_off':callLaterAccs,
|
| 1839 |
'technical_issue':accsDisposition,
|
1839 |
'technical_issue':accsDisposition,
|
| 1840 |
'pricing_issue':accsDisposition,
|
1840 |
'pricing_issue':accsDisposition,
|
| 1841 |
'shipping_issue':accsDisposition,
|
1841 |
'shipping_issue':accsDisposition,
|
| - |
|
1842 |
'product_availability':accsOrderDisposition,
|
| 1842 |
'internet_issue':accsDisposition,
|
1843 |
'return_replacement':accsOrderDisposition,
|
| 1843 |
'checking_price':accsDisposition,
|
1844 |
'already_purchased':accsOrderDisposition,
|
| 1844 |
'order_process':accsDisposition,
|
1845 |
'product_quality_issue':accsOrderDisposition,
|
| 1845 |
'placed_order':accsDisposition,
|
1846 |
'delayed_delivery':accsOrderDisposition,
|
| 1846 |
'place_order':accsDisposition
|
1847 |
'other_complaint':accsOrderDisposition
|
| 1847 |
}
|
1848 |
}
|
| 1848 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
1849 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
| 1849 |
finally:
|
1850 |
finally:
|
| 1850 |
session.close()
|
1851 |
session.close()
|
| 1851 |
|
1852 |
|
| 1852 |
if returned:
|
1853 |
if returned:
|
| 1853 |
resp.body = "{\"result\":\"success\"}"
|
1854 |
resp.body = "{\"result\":\"success\"}"
|
| 1854 |
else:
|
1855 |
else:
|
| 1855 |
resp.body = "{\"result\":\"failed\"}"
|
1856 |
resp.body = "{\"result\":\"failed\"}"
|
| - |
|
1857 |
|
| - |
|
1858 |
def accsOrderDisposition(self):
|
| - |
|
1859 |
self.user.status='done'
|
| - |
|
1860 |
self.user.user_available = 1
|
| - |
|
1861 |
self.user.disposition=self.callDisposition
|
| - |
|
1862 |
self.user.modified = datetime.now()
|
| - |
|
1863 |
if self.callDisposition == 'product_availability':
|
| - |
|
1864 |
self.callHistoryCrm.disposition_description='Product Not available'
|
| - |
|
1865 |
elif self.callDisposition == 'return_replacement':
|
| - |
|
1866 |
self.callHistoryCrm.disposition_description='Return or replacement pending'
|
| - |
|
1867 |
elif self.callDisposition == 'already_purchased':
|
| - |
|
1868 |
self.callHistoryCrm.disposition_description='Already purchased required stock'
|
| - |
|
1869 |
elif self.callDisposition == 'product_quality_issue':
|
| - |
|
1870 |
self.callHistoryCrm.disposition_description='Product Quality issue'
|
| - |
|
1871 |
elif self.callDisposition == 'delayed_delivery':
|
| - |
|
1872 |
self.callHistoryCrm.disposition_description='Delayed Delivery'
|
| - |
|
1873 |
elif self.callDisposition == 'other_complaint':
|
| - |
|
1874 |
self.callHistoryCrm.disposition_description='Other complaint with profitmandi'
|
| - |
|
1875 |
session.commit()
|
| - |
|
1876 |
jdata = self.inputs
|
| - |
|
1877 |
jdata = json.loads(jdata)
|
| - |
|
1878 |
if jdata:
|
| - |
|
1879 |
for d in jdata:
|
| - |
|
1880 |
for key, value in d.iteritems():
|
| - |
|
1881 |
productpricingInputs = ProductPricingInputs()
|
| - |
|
1882 |
productpricingInputs.user_id = self.callHistoryCrm.user_id
|
| - |
|
1883 |
productpricingInputs.agent_id = self.callHistoryCrm.agent_id
|
| - |
|
1884 |
productpricingInputs.disposition_id = self.callHistoryCrm.id
|
| - |
|
1885 |
productpricingInputs.user_id = self.callHistoryCrm.user_id
|
| - |
|
1886 |
productpricingInputs.call_disposition = self.callHistoryCrm.call_disposition
|
| - |
|
1887 |
productpricingInputs.project_id = self.callHistoryCrm.project_id
|
| - |
|
1888 |
productpricingInputs.product_input = key
|
| - |
|
1889 |
productpricingInputs.pricing_input = value
|
| - |
|
1890 |
session.commit()
|
| - |
|
1891 |
return True
|
| 1856 |
|
1892 |
|
| 1857 |
def accsDisposition(self):
|
1893 |
def accsDisposition(self):
|
| 1858 |
self.user.status='done'
|
1894 |
self.user.status='done'
|
| 1859 |
self.user.user_available = 1
|
1895 |
self.user.user_available = 1
|
| 1860 |
self.user.disposition=self.callDisposition
|
1896 |
self.user.disposition=self.callDisposition
|
| 1861 |
self.user.modified = datetime.now()
|
1897 |
self.user.modified = datetime.now()
|
| Line 1978... |
Line 2014... |
| 1978 |
|
2014 |
|
| 1979 |
counter=0
|
2015 |
counter=0
|
| 1980 |
for i in userFinalList:
|
2016 |
for i in userFinalList:
|
| 1981 |
try:
|
2017 |
try:
|
| 1982 |
userId=i
|
2018 |
userId=i
|
| 1983 |
if counter==2:
|
2019 |
if counter==20:
|
| 1984 |
break
|
2020 |
break
|
| 1985 |
userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
|
2021 |
userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
|
| 1986 |
if userPresent is not None:
|
2022 |
if userPresent is not None:
|
| 1987 |
if userPresent.user_available==1:
|
2023 |
if userPresent.user_available==1:
|
| 1988 |
if userPresent.project_id==project_id:
|
2024 |
if userPresent.project_id==project_id:
|
| 1989 |
if userPresent.modified.date()>=(datetime.now().date()-timedelta(days=30)):
|
2025 |
if userPresent.modified.date()>=(datetime.now().date()-timedelta(days=30)):
|
| 1990 |
continue
|
2026 |
continue
|
| 1991 |
else:
|
2027 |
else:
|
| 1992 |
pass
|
2028 |
pass
|
| 1993 |
elif userPresent.modified>=(datetime.now().date()-timedelta(days=3)):
|
2029 |
elif userPresent.modified.date()>=(datetime.now().date()-timedelta(days=3)):
|
| 1994 |
continue
|
2030 |
continue
|
| 1995 |
else:
|
2031 |
else:
|
| 1996 |
continue
|
2032 |
continue
|
| 1997 |
counter=counter+1
|
2033 |
counter=counter+1
|
| 1998 |
lgr.info("Counter while adding",str(counter))
|
- |
|
| 1999 |
userMasterData = UserCrmCallingData()
|
2034 |
userMasterData = UserCrmCallingData()
|
| 2000 |
userMasterData.user_id = userId
|
2035 |
userMasterData.user_id = userId
|
| 2001 |
userMasterData.name =getUsername(userId)
|
2036 |
userMasterData.name =getUsername(userId)
|
| 2002 |
userMasterData.project_id = project_id
|
2037 |
userMasterData.project_id = project_id
|
| 2003 |
userMasterData.user_available=0
|
2038 |
userMasterData.user_available=0
|
| Line 2068... |
Line 2103... |
| 2068 |
userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
|
2103 |
userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
|
| 2069 |
if userPresent is not None:
|
2104 |
if userPresent is not None:
|
| 2070 |
if userPresent.user_available==1:
|
2105 |
if userPresent.user_available==1:
|
| 2071 |
if userPresent.project_id==projectId:
|
2106 |
if userPresent.project_id==projectId:
|
| 2072 |
continue
|
2107 |
continue
|
| 2073 |
elif userPresent.modified>=(datetime.now().date()-timedelta(days=3)):
|
2108 |
elif userPresent.modified.date()>=(datetime.now().date()-timedelta(days=3)):
|
| 2074 |
continue
|
2109 |
continue
|
| 2075 |
else:
|
2110 |
else:
|
| 2076 |
continue
|
2111 |
continue
|
| 2077 |
counter=counter+1
|
2112 |
counter=counter+1
|
| 2078 |
lgr.info("Counter while adding",str(counter))
|
- |
|
| 2079 |
userMasterData = UserCrmCallingData()
|
2113 |
userMasterData = UserCrmCallingData()
|
| 2080 |
userMasterData.user_id = userId
|
2114 |
userMasterData.user_id = userId
|
| 2081 |
userMasterData.name =getUsername(userId)
|
2115 |
userMasterData.name =getUsername(userId)
|
| 2082 |
userMasterData.project_id = projectId
|
2116 |
userMasterData.project_id = projectId
|
| 2083 |
userMasterData.user_available=0
|
2117 |
userMasterData.user_available=0
|