| Line 3383... |
Line 3383... |
| 3383 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount, recharge_order.id)
|
3383 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount, recharge_order.id)
|
| 3384 |
recharge_order.status = RechargeOrderStatus.PAYMENT_SUCCESSFUL
|
3384 |
recharge_order.status = RechargeOrderStatus.PAYMENT_SUCCESSFUL
|
| 3385 |
session.commit()
|
3385 |
session.commit()
|
| 3386 |
raise TransactionServiceException(103, 'Wallet amount has already been used')
|
3386 |
raise TransactionServiceException(103, 'Wallet amount has already been used')
|
| 3387 |
|
3387 |
|
| 3388 |
|
3388 |
try:
|
| 3389 |
if activate_recharge_txn(recharge_order):
|
3389 |
if activate_recharge_txn(recharge_order):
|
| 3390 |
recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
|
- |
|
| 3391 |
recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
|
3390 |
recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
|
| 3392 |
session.commit()
|
3391 |
session.commit()
|
| 3393 |
return True
|
3392 |
return True
|
| 3394 |
else:
|
3393 |
else:
|
| 3395 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED
|
- |
|
| 3396 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id)
|
3394 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id)
|
| 3397 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount, recharge_order.id)
|
3395 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount, recharge_order.id)
|
| - |
|
3396 |
session.commit()
|
| - |
|
3397 |
return False
|
| - |
|
3398 |
except:
|
| - |
|
3399 |
transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
|
| - |
|
3400 |
transaction_requiring_extra_processing.category = 'RECHARGE_UNKNOWN'
|
| - |
|
3401 |
transaction_requiring_extra_processing.transaction_id = recharge_order.transaction_id
|
| 3398 |
session.commit()
|
3402 |
session.commit()
|
| 3399 |
return False
|
3403 |
return False
|
| 3400 |
|
3404 |
|
| 3401 |
def activate_recharge_txn(recharge_order):
|
3405 |
def activate_recharge_txn(recharge_order):
|
| 3402 |
print type(recharge_order)
|
- |
|
| 3403 |
if isinstance(recharge_order, MobileRechargeOrder):
|
3406 |
if isinstance(recharge_order, MobileRechargeOrder):
|
| 3404 |
rechargeType = 'MTP'
|
3407 |
rechargeType = 'MTP'
|
| 3405 |
deviceNumber = recharge_order.mobileNumber
|
3408 |
deviceNumber = recharge_order.mobileNumber
|
| 3406 |
strProviderCode = get_provider_code(recharge_order.mobileOperatorId)
|
3409 |
strProviderCode = get_provider_code(recharge_order.mobileOperatorId)
|
| 3407 |
if isinstance(recharge_order, DTHRechargeOrder):
|
3410 |
if isinstance(recharge_order, DTHRechargeOrder):
|
| 3408 |
rechargeType = 'RCH'
|
3411 |
rechargeType = 'RCH'
|
| 3409 |
deviceNumber = recharge_order.dthAccountNumber
|
3412 |
deviceNumber = recharge_order.dthAccountNumber
|
| 3410 |
strProviderCode = get_provider_code(recharge_order.dthOperatorId)
|
3413 |
strProviderCode = get_provider_code(recharge_order.dthOperatorId)
|
| 3411 |
|
3414 |
|
| 3412 |
try:
|
- |
|
| 3413 |
retStatus, retCode, spiceTID = RechargeService.rechargeDevice(recharge_order.id, rechargeType, strProviderCode, deviceNumber, recharge_order.totalAmount)
|
3415 |
retStatus, retCode, spiceTID, description = RechargeService.rechargeDevice(recharge_order.id, rechargeType, strProviderCode, deviceNumber, recharge_order.totalAmount)
|
| 3414 |
if retCode == '00' and retStatus == 'S':
|
3416 |
if retCode == '00' and retStatus == 'S':
|
| - |
|
3417 |
recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
|
| 3415 |
recharge_order.spiceTID = spiceTID
|
3418 |
recharge_order.spiceTID = spiceTID
|
| 3416 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
3419 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
| - |
|
3420 |
recharge_order.description = description
|
| 3417 |
session.commit()
|
3421 |
session.commit()
|
| 3418 |
return True
|
3422 |
return True
|
| 3419 |
else:
|
3423 |
else:
|
| - |
|
3424 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED
|
| 3420 |
recharge_order.spiceTID = spiceTID
|
3425 |
recharge_order.spiceTID = spiceTID
|
| 3421 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
3426 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
| 3422 |
session.commit()
|
3427 |
recharge_order.description = description
|
| 3423 |
return False
|
3428 |
session.commit()
|
| 3424 |
except:
|
- |
|
| 3425 |
return False
|
3429 |
return False
|
| 3426 |
|
3430 |
|
| - |
|
3431 |
|
| 3427 |
def get_user_wallet(userId):
|
3432 |
def get_user_wallet(userId):
|
| 3428 |
wallet = UserWallet.get_by(userId = userId)
|
3433 |
wallet = UserWallet.get_by(userId = userId)
|
| 3429 |
if not wallet:
|
3434 |
if not wallet:
|
| 3430 |
wallet = UserWallet()
|
3435 |
wallet = UserWallet()
|
| 3431 |
wallet.amount = 0
|
3436 |
wallet.amount = 0
|
| Line 3458... |
Line 3463... |
| 3458 |
if rechargeType == RechargeType.DTH:
|
3463 |
if rechargeType == RechargeType.DTH:
|
| 3459 |
serviceType = 'RCH'
|
3464 |
serviceType = 'RCH'
|
| 3460 |
|
3465 |
|
| 3461 |
try:
|
3466 |
try:
|
| 3462 |
providerCode = RechargeService.checkServiceProviderApi(serviceType, deviceNumber)
|
3467 |
providerCode = RechargeService.checkServiceProviderApi(serviceType, deviceNumber)
|
| - |
|
3468 |
if providerCode == 'SNS' or providerCode == '':
|
| - |
|
3469 |
providerId = 0
|
| - |
|
3470 |
else:
|
| 3463 |
providerId = get_provider_id(providerCode)
|
3471 |
providerId = get_provider_id(providerCode)
|
| 3464 |
except:
|
3472 |
except:
|
| 3465 |
providerId = 0
|
3473 |
providerId = -1
|
| - |
|
3474 |
|
| - |
|
3475 |
|
| 3466 |
return providerId
|
3476 |
return providerId
|
| 3467 |
|
3477 |
|
| 3468 |
def update_amount_in_wallet(userId, amount, orderId):
|
3478 |
def update_amount_in_wallet(userId, amount, orderId):
|
| 3469 |
if amount == 0:
|
3479 |
if amount == 0:
|
| 3470 |
return
|
3480 |
return
|