vendor_service.py 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. from dao.vendor_dao import *
  2. from dao.project_dao import getUserDetailsFromMaster
  3. from config import V_BASE_CODE
  4. from utils.error_log import insert_into_error_log
  5. from utils.UploadImage import uploadImagetoFolder
  6. from datetime import datetime
  7. def validateVendorCode(v_code,mongo): # Validate email id and password
  8. queryResult={}
  9. try:
  10. query_response=validateVendorCodeDao(v_code,mongo)
  11. if len(query_response)!=0:
  12. queryResult={'status':'failure','message': 'The Vendor Code is already in use!'}
  13. else:
  14. queryResult={'status':'success','message': 'Vendor Code is available!'}
  15. except Exception as err:
  16. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  17. queryResult={'status':'failure','message': 'Something went wrong!'}
  18. return queryResult
  19. def validatePANService(v_pan,mongo): # Validate email id and password
  20. queryResult={}
  21. try:
  22. query_response=validatePANDao(v_pan,mongo)
  23. if len(query_response)!=0:
  24. queryResult={'status':'failure','message': 'The PAN is already in use!'}
  25. else:
  26. queryResult={'status':'success','message': 'The PAN is available!'}
  27. except Exception as err:
  28. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  29. queryResult={'status':'failure','message': 'Something went wrong!'}
  30. return queryResult
  31. def addVendorService(files,data,app,mongo):
  32. queryResult={}
  33. try:
  34. if data['id']=='0':
  35. data['created_on']=int(datetime.now().timestamp()*1000)
  36. data['status']='PENDING'
  37. # Validate PAN number
  38. pan_response=validatePANService(data['v_pan'],mongo)
  39. if pan_response['status']=='success':
  40. # Genrate vendor code
  41. v_code=V_BASE_CODE+(getTotalUserCount(mongo)+1)
  42. pan_new_name=''
  43. dec_new_name=''
  44. cheq_new_name=''
  45. v_pan_file = files['v_pan_file']
  46. v_declaration_file=files['v_declaration_file']
  47. v_cheque_file=files['v_cheque_file']
  48. panImageResponse=uploadImagetoFolder(v_pan_file,'pan_',app)
  49. decImageResponse=uploadImagetoFolder(v_declaration_file,'dec_',app)
  50. cheqImageResponse=uploadImagetoFolder(v_cheque_file,'cheq_',app)
  51. if panImageResponse['status']=='success':
  52. pan_new_name=panImageResponse['message']
  53. if decImageResponse['status']=='success':
  54. dec_new_name=decImageResponse['message']
  55. if cheqImageResponse['status']=='success':
  56. cheq_new_name=cheqImageResponse['message']
  57. data['v_status']='active'
  58. data['v_code']=v_code
  59. data['v_pan_file']=pan_new_name
  60. data['v_declaration_file']=dec_new_name
  61. data['v_cheque_file']=cheq_new_name
  62. # Insert into vendor master
  63. insertIntoVendorMaster(data,mongo)
  64. queryResult={'status':'success','message': 'Vendor registered successfully!','v_code':v_code}
  65. else:
  66. queryResult=pan_response
  67. else:
  68. data['updated_on']=int(datetime.now().timestamp()*1000)
  69. # Insert into vendor master
  70. insertIntoVendorMaster(data,mongo)
  71. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  72. except Exception as err:
  73. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  74. queryResult={'status':'failure','message': 'Something went wrong!'}
  75. return queryResult
  76. def updateVendorStatus(data,mongo):
  77. queryResult={}
  78. try:
  79. data['updated_on']=int(datetime.now().timestamp()*1000)
  80. status=""
  81. if data['flag']=='approve':
  82. status="APPROVED"
  83. elif data['flag']=='decline':
  84. status="DECLINED"
  85. data['status']=status
  86. if status!="":
  87. # Insert into vendor master
  88. updateVendorStatusDao(data,data['requestKey'],mongo)
  89. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  90. else:
  91. queryResult={'status':'failure','message': 'Something went wrong!'}
  92. except Exception as err:
  93. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  94. queryResult={'status':'failure','message': 'Something went wrong!'}
  95. return queryResult
  96. def updateVendorStatusAdmin(data,mongo):
  97. queryResult={}
  98. try:
  99. # Insert into vendor master
  100. updateVendorStatusAdminDao({'v_status':data['status']},data['vendor_id'],mongo)
  101. queryResult={'status':'success','message': 'Vendor updated successfully!'}
  102. except Exception as err:
  103. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  104. queryResult={'status':'failure','message': 'Something went wrong!'}
  105. return queryResult
  106. def update_rating_service(data,mongo):
  107. queryResult={}
  108. try:
  109. data['updated_on']=int(datetime.now().timestamp()*1000)
  110. data['user_name']=''
  111. user_details=getUserDetailsFromMaster(data['user_id'],mongo)
  112. for user_obj in user_details:
  113. data['user_name']=user_obj['first_name']
  114. updateVendorRatingDao(data,mongo)
  115. queryResult={'status':'success','message': 'Vendor Rating Updated Successfully!'}
  116. except Exception as err:
  117. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  118. queryResult={'status':'failure','message': 'Something went wrong!'}
  119. return queryResult
  120. def getVendorList(u_id,mongo): # Validate email id and password
  121. queryResult=[]
  122. try:
  123. queryResult=getVendorListByUID(u_id,mongo)
  124. except Exception as err:
  125. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  126. queryResult=[]
  127. return queryResult
  128. def getAllVendorList(mongo): #
  129. queryResult=[]
  130. try:
  131. queryResult=getAllVendorListDao(mongo)
  132. except Exception as err:
  133. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  134. queryResult=[]
  135. return queryResult
  136. def getAllUnregisteredVendorList(mongo): #
  137. queryResult=[]
  138. try:
  139. queryResult=getAllUnregisteredVendorListDao(mongo)
  140. except Exception as err:
  141. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  142. queryResult=[]
  143. return queryResult
  144. def getAllUserList(mongo): #
  145. queryResult=[]
  146. try:
  147. queryResult=getAllUserListDao(mongo)
  148. except Exception as err:
  149. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  150. queryResult=[]
  151. return queryResult
  152. def getVendorDetails(id,mongo): # Validate email id and password
  153. queryResult=[]
  154. try:
  155. queryResult=getVendorDetailsDao(id,mongo)
  156. except Exception as err:
  157. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  158. queryResult=[]
  159. return queryResult
  160. def getVendorRatingsService(id,mongo): # Validate email id and password
  161. queryResult=[]
  162. try:
  163. queryResult=getVendorRatingsDao(id,mongo)
  164. except Exception as err:
  165. # insert_into_error_log({'timestamp':int(datetime.now().timestamp()*1000),'type':'api','err':str(err),'function':'validateLogin'},mongo)
  166. queryResult=[]
  167. return queryResult