| Line 138... |
Line 138... |
| 138 |
OrderStatus.DOA_CERT_INVALID : -5
|
138 |
OrderStatus.DOA_CERT_INVALID : -5
|
| 139 |
}
|
139 |
}
|
| 140 |
|
140 |
|
| 141 |
creditTxnMultiplierMap = {
|
141 |
creditTxnMultiplierMap = {
|
| 142 |
CreditTxnType.BLOCKED : 1,
|
142 |
CreditTxnType.BLOCKED : 1,
|
| 143 |
CreditTxnType.BLOCK_REVERSED : -1,
|
143 |
CreditTxnType.BLOCKED_REVERSED : -1,
|
| 144 |
CreditTxnType.LOAN : -1,
|
144 |
CreditTxnType.LOAN : -1,
|
| 145 |
CreditTxnType.CORRECTION : 1
|
145 |
CreditTxnType.CORRECTION : 1
|
| 146 |
}
|
146 |
}
|
| 147 |
|
147 |
|
| 148 |
loanTxnMultplierMap = {
|
148 |
loanTxnMultplierMap = {
|
| Line 2363... |
Line 2363... |
| 2363 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
2363 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
| 2364 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
2364 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
| 2365 |
creditTxns = []
|
2365 |
creditTxns = []
|
| 2366 |
creditTxns.append(creditObj)
|
2366 |
creditTxns.append(creditObj)
|
| 2367 |
try:
|
2367 |
try:
|
| 2368 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
2368 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns, order.invoice_number)
|
| 2369 |
except:
|
2369 |
except:
|
| 2370 |
traceback.print_exc()
|
2370 |
traceback.print_exc()
|
| 2371 |
session.rollback()
|
2371 |
session.rollback()
|
| 2372 |
return
|
2372 |
return
|
| 2373 |
session.commit()
|
2373 |
session.commit()
|
| Line 2415... |
Line 2415... |
| 2415 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
2415 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
| 2416 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
2416 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.LOAN, order.logisticsTransactionId)
|
| 2417 |
creditTxns = []
|
2417 |
creditTxns = []
|
| 2418 |
creditTxns.append(creditObj)
|
2418 |
creditTxns.append(creditObj)
|
| 2419 |
try:
|
2419 |
try:
|
| 2420 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
2420 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns, order.invoice_number)
|
| 2421 |
except:
|
2421 |
except:
|
| 2422 |
traceback.print_exc()
|
2422 |
traceback.print_exc()
|
| 2423 |
session.rollback()
|
2423 |
session.rollback()
|
| 2424 |
return
|
2424 |
return
|
| 2425 |
|
2425 |
|
| Line 3056... |
Line 3056... |
| 3056 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
3056 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
| 3057 |
total_amount = 0
|
3057 |
total_amount = 0
|
| 3058 |
for ordObj in grouppedOrdersList:
|
3058 |
for ordObj in grouppedOrdersList:
|
| 3059 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
3059 |
total_amount = total_amount + ordObj.total_amount + ordObj.shippingCost - ordObj.gvAmount
|
| 3060 |
|
3060 |
|
| 3061 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.BLOCK_REVERSED, order.logisticsTransactionId)
|
3061 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.BLOCKED_REVERSED, order.logisticsTransactionId)
|
| 3062 |
creditTxns = []
|
3062 |
creditTxns = []
|
| 3063 |
creditTxns.append(creditObj)
|
3063 |
creditTxns.append(creditObj)
|
| 3064 |
try:
|
3064 |
try:
|
| 3065 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
3065 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
| 3066 |
except:
|
3066 |
except:
|
| Line 3495... |
Line 3495... |
| 3495 |
order.statusDescription = "Order Cancelled on customer request"
|
3495 |
order.statusDescription = "Order Cancelled on customer request"
|
| 3496 |
order.received_return_timestamp = datetime.datetime.now()
|
3496 |
order.received_return_timestamp = datetime.datetime.now()
|
| 3497 |
|
3497 |
|
| 3498 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
3498 |
if order.transaction.payment_option == capitalFloatPayMethod:
|
| 3499 |
total_amount = order.total_amount + order.shippingCost - order.gvAmount
|
3499 |
total_amount = order.total_amount + order.shippingCost - order.gvAmount
|
| - |
|
3500 |
shipping_id = str(order.id)
|
| - |
|
3501 |
if order.logisticsTransactionId is not None:
|
| - |
|
3502 |
shipping_id = order.logisticsTransactionId
|
| 3500 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.BLOCK_REVERSED, order.logisticsTransactionId)
|
3503 |
creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.BLOCKED_REVERSED, shipping_id)
|
| 3501 |
creditTxns = []
|
3504 |
creditTxns = []
|
| 3502 |
creditTxns.append(creditObj)
|
3505 |
creditTxns.append(creditObj)
|
| 3503 |
try:
|
3506 |
try:
|
| 3504 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
3507 |
process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
| 3505 |
except:
|
3508 |
except:
|
| Line 9048... |
Line 9051... |
| 9048 |
return True
|
9051 |
return True
|
| 9049 |
|
9052 |
|
| 9050 |
def __get_user_sanction(sanctionId):
|
9053 |
def __get_user_sanction(sanctionId):
|
| 9051 |
return UserSanction.get_by(id=sanctionId)
|
9054 |
return UserSanction.get_by(id=sanctionId)
|
| 9052 |
|
9055 |
|
| 9053 |
def get_credit_history_records(paymentId, userId, creditorId, creditTxnType):
|
9056 |
def get_credit_history_records(paymentId, userId, creditorId, creditTxnType, limit=0, offset=0):
|
| 9054 |
credit_hs_query = CreditHistory.query
|
9057 |
credit_hs_query = CreditHistory.query
|
| 9055 |
if paymentId:
|
9058 |
if paymentId and paymentId>0:
|
| 9056 |
credit_hs_query = credit_hs_query.filter(CreditHistory.payment_id==paymentId)
|
9059 |
credit_hs_query = credit_hs_query.filter(CreditHistory.payment_id==paymentId)
|
| 9057 |
if userId:
|
9060 |
if userId and userId>0:
|
| 9058 |
credit_hs_query = credit_hs_query.filter(CreditHistory.user_id==userId)
|
9061 |
credit_hs_query = credit_hs_query.filter(CreditHistory.user_id==userId)
|
| 9059 |
if creditorId:
|
9062 |
if creditorId and creditorId>0:
|
| 9060 |
credit_hs_query = credit_hs_query.filter(CreditHistory.creditor_id==creditorId)
|
9063 |
credit_hs_query = credit_hs_query.filter(CreditHistory.creditor_id==creditorId)
|
| 9061 |
if creditTxnType:
|
9064 |
if creditTxnType:
|
| 9062 |
credit_hs_query = credit_hs_query.filter(CreditHistory.credit_type==CreditTxnType._VALUES_TO_NAMES[creditTxnType])
|
9065 |
credit_hs_query = credit_hs_query.filter(CreditHistory.credit_type==CreditTxnType._VALUES_TO_NAMES[creditTxnType])
|
| - |
|
9066 |
credit_hs_query = credit_hs_query.offset(offset)
|
| - |
|
9067 |
if limit:
|
| - |
|
9068 |
credit_hs_query = credit_hs_query.limit(limit)
|
| - |
|
9069 |
credit_hs_query = credit_hs_query.order_by(desc(CreditHistory.created))
|
| 9063 |
return credit_hs_query.all()
|
9070 |
return credit_hs_query.all()
|
| 9064 |
|
9071 |
|
| 9065 |
def process_credit_transaction(paymentId, userId, creditorId, creditTxns):
|
9072 |
def process_credit_transaction(paymentId, userId, creditorId, creditTxns, invoiceNumber=None):
|
| 9066 |
us_query = UserSanction.query
|
9073 |
us_query = UserSanction.query
|
| 9067 |
if userId:
|
9074 |
if userId:
|
| 9068 |
us_query = us_query.filter(UserSanction.user_id == userId)
|
9075 |
us_query = us_query.filter(UserSanction.user_id == userId)
|
| 9069 |
if creditorId:
|
9076 |
if creditorId:
|
| 9070 |
us_query = us_query.filter(UserSanction.creditor_id == creditorId)
|
9077 |
us_query = us_query.filter(UserSanction.creditor_id == creditorId)
|
| Line 9090... |
Line 9097... |
| 9090 |
if creditHistoryTotal < 0:
|
9097 |
if creditHistoryTotal < 0:
|
| 9091 |
logging.info("Error: Credit History is Negative. Payment Id:- "+str(paymentId))
|
9098 |
logging.info("Error: Credit History is Negative. Payment Id:- "+str(paymentId))
|
| 9092 |
raise TransactionServiceException(222, "Error: Credit History is Negative. Payment Id:- "+str(paymentId))
|
9099 |
raise TransactionServiceException(222, "Error: Credit History is Negative. Payment Id:- "+str(paymentId))
|
| 9093 |
|
9100 |
|
| 9094 |
for creditTxn in creditTxns:
|
9101 |
for creditTxn in creditTxns:
|
| 9095 |
if creditTxn.credit_type in [CreditTxnType.BLOCK_REVERSED]:
|
9102 |
if creditTxn.credit_type in [CreditTxnType.BLOCKED_REVERSED]:
|
| 9096 |
amountToReversed = amountToReversed + creditTxn.amount
|
9103 |
amountToReversed = amountToReversed + creditTxn.amount
|
| 9097 |
if creditTxn.credit_type in [CreditTxnType.LOAN]:
|
9104 |
if creditTxn.credit_type in [CreditTxnType.LOAN]:
|
| 9098 |
amountToLoan = amountToLoan + creditTxn.amount
|
9105 |
amountToLoan = amountToLoan + creditTxn.amount
|
| 9099 |
if creditTxn.credit_type in [CreditTxnType.BLOCKED]:
|
9106 |
if creditTxn.credit_type in [CreditTxnType.BLOCKED]:
|
| 9100 |
amountToBlocked = amountToBlocked + creditTxn.amount
|
9107 |
amountToBlocked = amountToBlocked + creditTxn.amount
|
| Line 9129... |
Line 9136... |
| 9129 |
loanHistoryRec.creditor_id = creditorId
|
9136 |
loanHistoryRec.creditor_id = creditorId
|
| 9130 |
loanHistoryRec.payment_id = paymentId
|
9137 |
loanHistoryRec.payment_id = paymentId
|
| 9131 |
loanHistoryRec.amount = creditTxn.amount * loanTxnMultplierMap.get(creditTxn.credit_type)
|
9138 |
loanHistoryRec.amount = creditTxn.amount * loanTxnMultplierMap.get(creditTxn.credit_type)
|
| 9132 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[creditTxn.credit_type]
|
9139 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[creditTxn.credit_type]
|
| 9133 |
loanHistoryRec.loan_id = creditTxn.shipping_id
|
9140 |
loanHistoryRec.loan_id = creditTxn.shipping_id
|
| - |
|
9141 |
if invoiceNumber is not None:
|
| - |
|
9142 |
loanHistoryRec.invoiceNumber = invoiceNumber
|
| 9134 |
if creditorDueDateMap.has_key(creditorId):
|
9143 |
if creditorDueDateMap.has_key(creditorId):
|
| 9135 |
due_days = creditorDueDateMap.get(creditorId)
|
9144 |
due_days = creditorDueDateMap.get(creditorId)
|
| 9136 |
loanHistoryRec.due_date = datetime.datetime.now()+timedelta(days=due_days)
|
9145 |
loanHistoryRec.due_date = datetime.datetime.now()+timedelta(days=due_days)
|
| 9137 |
else:
|
9146 |
else:
|
| 9138 |
fetchCreditorDueDateMap()
|
9147 |
fetchCreditorDueDateMap()
|
| Line 9149... |
Line 9158... |
| 9149 |
loanAmount = 0
|
9158 |
loanAmount = 0
|
| 9150 |
for loanHistory in loanhistoryRecords:
|
9159 |
for loanHistory in loanhistoryRecords:
|
| 9151 |
loanAmount = loanAmount + loanHistory.amount
|
9160 |
loanAmount = loanAmount + loanHistory.amount
|
| 9152 |
return loanAmount
|
9161 |
return loanAmount
|
| 9153 |
|
9162 |
|
| 9154 |
def get_loan_history_records(paymentId, userId, creditorId, creditTxnType):
|
9163 |
def get_loan_history_records(paymentId, userId, creditorId, creditTxnType, limit=0, offset=0):
|
| 9155 |
loan_hs_query = LoanHistory.query
|
9164 |
loan_hs_query = LoanHistory.query
|
| 9156 |
if paymentId:
|
9165 |
if paymentId and paymentId>0:
|
| 9157 |
loan_hs_query = loan_hs_query.filter(LoanHistory.payment_id==paymentId)
|
9166 |
loan_hs_query = loan_hs_query.filter(LoanHistory.payment_id==paymentId)
|
| 9158 |
if userId:
|
9167 |
if userId and userId>0:
|
| 9159 |
loan_hs_query = loan_hs_query.filter(LoanHistory.user_id==userId)
|
9168 |
loan_hs_query = loan_hs_query.filter(LoanHistory.user_id==userId)
|
| 9160 |
if creditorId:
|
9169 |
if creditorId and creditorId>0:
|
| 9161 |
loan_hs_query = loan_hs_query.filter(LoanHistory.creditor_id==creditorId)
|
9170 |
loan_hs_query = loan_hs_query.filter(LoanHistory.creditor_id==creditorId)
|
| 9162 |
if creditTxnType:
|
9171 |
if creditTxnType:
|
| 9163 |
loan_hs_query = loan_hs_query.filter(LoanHistory.credit_type==CreditTxnType._VALUES_TO_NAMES[creditTxnType])
|
9172 |
loan_hs_query = loan_hs_query.filter(LoanHistory.credit_type==CreditTxnType._VALUES_TO_NAMES[creditTxnType])
|
| - |
|
9173 |
loan_hs_query = loan_hs_query.offset(offset)
|
| - |
|
9174 |
if limit:
|
| - |
|
9175 |
loan_hs_query = loan_hs_query.limit(limit)
|
| - |
|
9176 |
loan_hs_query = loan_hs_query.order_by(desc(LoanHistory.created))
|
| 9164 |
return loan_hs_query.all()
|
9177 |
return loan_hs_query.all()
|
| 9165 |
|
9178 |
|
| 9166 |
def process_loan_transaction(paymentId, userId, creditorId, loantxns):
|
9179 |
def process_loan_transaction(paymentId, userId, creditorId, loantxns):
|
| 9167 |
us_query = UserSanction.query
|
9180 |
us_query = UserSanction.query
|
| 9168 |
if userId:
|
9181 |
if userId:
|
| Line 9226... |
Line 9239... |
| 9226 |
loanHistoryRec.creditor_id = creditorId
|
9239 |
loanHistoryRec.creditor_id = creditorId
|
| 9227 |
loanHistoryRec.payment_id = paymentId
|
9240 |
loanHistoryRec.payment_id = paymentId
|
| 9228 |
loanHistoryRec.amount = loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type)
|
9241 |
loanHistoryRec.amount = loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type)
|
| 9229 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type]
|
9242 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type]
|
| 9230 |
loanHistoryRec.loan_id = loanTxn.loan_id
|
9243 |
loanHistoryRec.loan_id = loanTxn.loan_id
|
| - |
|
9244 |
loanHistoryRec.invoiceNumber = loanTxn.invoiceNumber
|
| 9231 |
loanRec = LoanHistory.get_by(payment_id=paymentId,loan_id=loanTxn.loan_id, credit_type='LOAN')
|
9245 |
loanRec = LoanHistory.get_by(payment_id=paymentId,loan_id=loanTxn.loan_id, credit_type='LOAN')
|
| 9232 |
userSanction.loan = userSanction.loan + (loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type))
|
9246 |
userSanction.loan = userSanction.loan + (loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type))
|
| 9233 |
else:
|
9247 |
else:
|
| 9234 |
loanHistoryRec = LoanHistory.get_by(payment_id=paymentId,loan_id=loanTxn.loan_id, credit_type=CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
9248 |
loanHistoryRec = LoanHistory.get_by(payment_id=paymentId,loan_id=loanTxn.loan_id, credit_type=CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
| 9235 |
if loanHistoryRec is None:
|
9249 |
if loanHistoryRec is None:
|
| Line 9238... |
Line 9252... |
| 9238 |
loanHistoryRec.creditor_id = creditorId
|
9252 |
loanHistoryRec.creditor_id = creditorId
|
| 9239 |
loanHistoryRec.payment_id = paymentId
|
9253 |
loanHistoryRec.payment_id = paymentId
|
| 9240 |
loanHistoryRec.amount = loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type)
|
9254 |
loanHistoryRec.amount = loanTxn.amount * loanTxnMultplierMap.get(loanTxn.credit_type)
|
| 9241 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type]
|
9255 |
loanHistoryRec.credit_type = CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type]
|
| 9242 |
loanHistoryRec.loan_id = loanTxn.loan_id
|
9256 |
loanHistoryRec.loan_id = loanTxn.loan_id
|
| - |
|
9257 |
loanHistoryRec.invoiceNumber = loanTxn.invoiceNumber
|
| 9243 |
if loanTxn.credit_type in [CreditTxnType.LOAN]:
|
9258 |
if loanTxn.credit_type in [CreditTxnType.LOAN]:
|
| 9244 |
if creditorDueDateMap.has_key(creditorId):
|
9259 |
if creditorDueDateMap.has_key(creditorId):
|
| 9245 |
due_days = creditorDueDateMap.get(creditorId)
|
9260 |
due_days = creditorDueDateMap.get(creditorId)
|
| 9246 |
loanHistoryRec.due_date = datetime.datetime.now()+timedelta(days=due_days)
|
9261 |
loanHistoryRec.due_date = datetime.datetime.now()+timedelta(days=due_days)
|
| 9247 |
else:
|
9262 |
else:
|
| Line 9255... |
Line 9270... |
| 9255 |
logging.info("Error: Entry already existed for "+str(paymentId) + " Loan Id:- "+str(loanTxn.loan_id) +" Loan Txn Type:- "+CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
9270 |
logging.info("Error: Entry already existed for "+str(paymentId) + " Loan Id:- "+str(loanTxn.loan_id) +" Loan Txn Type:- "+CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
| 9256 |
raise TransactionServiceException(227, "Error: Entry already existed for "+str(paymentId) + " Loan Id:- "+str(loanTxn.loan_id) +" Loan Txn Type:- "+CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
9271 |
raise TransactionServiceException(227, "Error: Entry already existed for "+str(paymentId) + " Loan Id:- "+str(loanTxn.loan_id) +" Loan Txn Type:- "+CreditTxnType._VALUES_TO_NAMES[loanTxn.credit_type])
|
| 9257 |
session.commit()
|
9272 |
session.commit()
|
| 9258 |
return True
|
9273 |
return True
|
| 9259 |
|
9274 |
|
| 9260 |
def __loanHistoryObj(user_id, creditor_id, paymentId, amount, credit_type, loan_id):
|
9275 |
def __loanHistoryObj(user_id, creditor_id, paymentId, amount, credit_type, loan_id, value_date=None, invoiceNumber=None):
|
| 9261 |
loanobj = TLoanHistory()
|
9276 |
loanobj = TLoanHistory()
|
| 9262 |
loanobj.user_id = user_id
|
9277 |
loanobj.user_id = user_id
|
| 9263 |
loanobj.creditor_id = creditor_id
|
9278 |
loanobj.creditor_id = creditor_id
|
| 9264 |
loanobj.payment_id = paymentId
|
9279 |
loanobj.payment_id = paymentId
|
| 9265 |
loanobj.amount = amount
|
9280 |
loanobj.amount = amount
|
| 9266 |
loanobj.credit_type = credit_type
|
9281 |
loanobj.credit_type = credit_type
|
| 9267 |
loanobj.loan_id = loan_id
|
9282 |
loanobj.loan_id = loan_id
|
| - |
|
9283 |
if value_date is not None:
|
| - |
|
9284 |
loanobj.value_date = to_java_date(value_date)
|
| - |
|
9285 |
if invoiceNumber is not None:
|
| - |
|
9286 |
loanobj.invoiceNumber = invoiceNumber
|
| 9268 |
return loanobj
|
9287 |
return loanobj
|
| 9269 |
|
9288 |
|
| 9270 |
def __creditHistoryObj(user_id, creditor_id, paymentId, amount, credit_type, shipping_id):
|
9289 |
def __creditHistoryObj(user_id, creditor_id, paymentId, amount, credit_type, shipping_id):
|
| 9271 |
creditObj = TCreditHistory()
|
9290 |
creditObj = TCreditHistory()
|
| 9272 |
creditObj.user_id = user_id
|
9291 |
creditObj.user_id = user_id
|