| Line 4237... |
Line 4237... |
| 4237 |
|
4237 |
|
| 4238 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_FAILED:
|
4238 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_FAILED:
|
| 4239 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED
|
4239 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED
|
| 4240 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
4240 |
recharge_order.responseTimestamp = datetime.datetime.now()
|
| 4241 |
session.commit()
|
4241 |
session.commit()
|
| 4242 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id)
|
4242 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id, 1)
|
| 4243 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id)
|
4243 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id, 0)
|
| 4244 |
enqueue_recharge_info_email(recharge_order)
|
4244 |
enqueue_recharge_info_email(recharge_order)
|
| 4245 |
return True
|
4245 |
return True
|
| 4246 |
|
4246 |
|
| 4247 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_SUCCESSFUL:
|
4247 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_SUCCESSFUL:
|
| 4248 |
recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
|
4248 |
recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
|
| Line 4254... |
Line 4254... |
| 4254 |
|
4254 |
|
| 4255 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_FAILED_REFUNDED:
|
4255 |
if rechargeOrderStatus == RechargeOrderStatus.RECHARGE_FAILED_REFUNDED:
|
| 4256 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED_REFUNDED
|
4256 |
recharge_order.status = RechargeOrderStatus.RECHARGE_FAILED_REFUNDED
|
| 4257 |
order.responseTimestamp = datetime.datetime.now()
|
4257 |
order.responseTimestamp = datetime.datetime.now()
|
| 4258 |
session.commit()
|
4258 |
session.commit()
|
| 4259 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id)
|
4259 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id, 1)
|
| 4260 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id)
|
4260 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id, 0)
|
| 4261 |
enqueue_recharge_info_email(recharge_order)
|
4261 |
enqueue_recharge_info_email(recharge_order)
|
| 4262 |
return True
|
4262 |
return True
|
| 4263 |
|
4263 |
|
| 4264 |
if rechargeOrderStatus == RechargeOrderStatus.PAYMENT_SUCCESSFUL:
|
4264 |
if rechargeOrderStatus == RechargeOrderStatus.PAYMENT_SUCCESSFUL:
|
| 4265 |
gvs = {}
|
4265 |
gvs = {}
|
| 4266 |
recharge_order.status = RechargeOrderStatus.PAYMENT_SUCCESSFUL
|
4266 |
recharge_order.status = RechargeOrderStatus.PAYMENT_SUCCESSFUL
|
| 4267 |
session.commit()
|
4267 |
session.commit()
|
| 4268 |
if recharge_order.walletAmount > 0:
|
4268 |
if recharge_order.walletAmount > 0:
|
| 4269 |
wallet = get_user_wallet(recharge_order.userId)
|
4269 |
wallet = get_user_wallet(recharge_order.userId)
|
| 4270 |
if wallet and wallet.amount >= recharge_order.walletAmount:
|
4270 |
if wallet and wallet.amount >= recharge_order.walletAmount:
|
| 4271 |
update_amount_in_wallet(recharge_order.userId, -recharge_order.walletAmount, recharge_order.id)
|
4271 |
update_amount_in_wallet(recharge_order.userId, -recharge_order.walletAmount, recharge_order.id, 1)
|
| 4272 |
else:
|
4272 |
else:
|
| 4273 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id)
|
4273 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id, 0)
|
| 4274 |
raise TransactionServiceException(103, 'Wallet amount has already been used')
|
4274 |
raise TransactionServiceException(103, 'Wallet amount has already been used')
|
| 4275 |
|
4275 |
|
| 4276 |
try:
|
4276 |
try:
|
| 4277 |
if activate_recharge_txn(recharge_order):
|
4277 |
if activate_recharge_txn(recharge_order):
|
| 4278 |
recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
|
4278 |
recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
|
| 4279 |
session.commit()
|
4279 |
session.commit()
|
| 4280 |
gvs = allocate_gift_voucher(recharge_order)
|
4280 |
gvs = allocate_gift_voucher(recharge_order)
|
| 4281 |
return True
|
4281 |
return True
|
| 4282 |
else:
|
4282 |
else:
|
| 4283 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id)
|
4283 |
update_amount_in_wallet(recharge_order.userId, recharge_order.walletAmount, recharge_order.id, 1)
|
| 4284 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id)
|
4284 |
update_amount_in_wallet(recharge_order.userId, recharge_order.totalAmount - recharge_order.walletAmount - recharge_order.couponAmount, recharge_order.id, 0)
|
| 4285 |
session.commit()
|
4285 |
session.commit()
|
| 4286 |
return False
|
4286 |
return False
|
| 4287 |
except:
|
4287 |
except:
|
| 4288 |
transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
|
4288 |
transaction_requiring_extra_processing = TransactionRequiringExtraProcessing()
|
| 4289 |
transaction_requiring_extra_processing.category = 'RECHARGE_UNKNOWN'
|
4289 |
transaction_requiring_extra_processing.category = 'RECHARGE_UNKNOWN'
|
| Line 4423... |
Line 4423... |
| 4423 |
if provider:
|
4423 |
if provider:
|
| 4424 |
deviceNumberInfo.operatorName = provider.name
|
4424 |
deviceNumberInfo.operatorName = provider.name
|
| 4425 |
return deviceNumberInfo
|
4425 |
return deviceNumberInfo
|
| 4426 |
|
4426 |
|
| 4427 |
def validate_recharge(rechargeType, deviceNumber, userSelectedProviderId, clientAddress):
|
4427 |
def validate_recharge(rechargeType, deviceNumber, userSelectedProviderId, clientAddress):
|
| 4428 |
|
- |
|
| - |
|
4428 |
return "Recharge is not available right now. Please try after some time."
|
| 4429 |
addressComponents = clientAddress.split('.')
|
4429 |
addressComponents = clientAddress.split('.')
|
| 4430 |
n = 3
|
4430 |
n = 3
|
| 4431 |
addressNumber = 0
|
4431 |
addressNumber = 0
|
| 4432 |
for addressComponent in addressComponents :
|
4432 |
for addressComponent in addressComponents :
|
| 4433 |
addressNumber = addressNumber + (int(addressComponent) * pow(256, n))
|
4433 |
addressNumber = addressNumber + (int(addressComponent) * pow(256, n))
|
| Line 4482... |
Line 4482... |
| 4482 |
def get_previous_transactions(clientAddress):
|
4482 |
def get_previous_transactions(clientAddress):
|
| 4483 |
limittime = datetime.datetime.now() - datetime.timedelta(hours=24)
|
4483 |
limittime = datetime.datetime.now() - datetime.timedelta(hours=24)
|
| 4484 |
totalSuccessfulRechargeAmount = session.query(func.sum(RechargeOrder.totalAmount)).filter(RechargeOrder.status == 5).filter(RechargeOrder.ipAddress == clientAddress).filter(RechargeOrder.creationTimestamp > limittime).scalar()
|
4484 |
totalSuccessfulRechargeAmount = session.query(func.sum(RechargeOrder.totalAmount)).filter(RechargeOrder.status == 5).filter(RechargeOrder.ipAddress == clientAddress).filter(RechargeOrder.creationTimestamp > limittime).scalar()
|
| 4485 |
return totalSuccessfulRechargeAmount
|
4485 |
return totalSuccessfulRechargeAmount
|
| 4486 |
|
4486 |
|
| 4487 |
def update_amount_in_wallet(userId, amount, orderId):
|
4487 |
def update_amount_in_wallet(userId, amount, orderId, updateType):
|
| - |
|
4488 |
"""
|
| - |
|
4489 |
UpdateType 1 is for wallet amounts
|
| - |
|
4490 |
and 0 is for payment amounts
|
| - |
|
4491 |
"""
|
| 4488 |
if amount == 0:
|
4492 |
if amount == 0:
|
| 4489 |
return
|
4493 |
return
|
| 4490 |
wallet = get_user_wallet(userId)
|
4494 |
wallet = get_user_wallet(userId)
|
| 4491 |
wallet.amount = wallet.amount + amount
|
4495 |
wallet.amount = wallet.amount + amount
|
| 4492 |
|
4496 |
|
| - |
|
4497 |
history = None
|
| - |
|
4498 |
if updateType == 1 and amount > 0 :
|
| - |
|
4499 |
history = UserWalletHistory.query.filter_by(orderId = orderId).filter_by(amount = -amount).first()
|
| - |
|
4500 |
if history is None:
|
| - |
|
4501 |
print 'No amount was debited from wallet for recharge Id : ' + str(orderId)
|
| - |
|
4502 |
return
|
| - |
|
4503 |
|
| 4493 |
history = UserWalletHistory()
|
4504 |
history = UserWalletHistory()
|
| 4494 |
history.amount = amount
|
4505 |
history.amount = amount
|
| 4495 |
history.orderId = orderId
|
4506 |
history.orderId = orderId
|
| 4496 |
history.wallet = wallet
|
4507 |
history.wallet = wallet
|
| 4497 |
history.timestamp = datetime.datetime.now()
|
4508 |
history.timestamp = datetime.datetime.now()
|
| Line 4707... |
Line 4718... |
| 4707 |
status = RechargeOrderStatus.REFUNDED
|
4718 |
status = RechargeOrderStatus.REFUNDED
|
| 4708 |
else :
|
4719 |
else :
|
| 4709 |
amountToRefund = wallet.amount
|
4720 |
amountToRefund = wallet.amount
|
| 4710 |
status = RechargeOrderStatus.PARTIALLY_REFUNDED
|
4721 |
status = RechargeOrderStatus.PARTIALLY_REFUNDED
|
| 4711 |
|
4722 |
|
| 4712 |
update_amount_in_wallet(rechargeOrder.userId, -amountToRefund, rechargeOrderId)
|
4723 |
update_amount_in_wallet(rechargeOrder.userId, -amountToRefund, rechargeOrderId, 1)
|
| 4713 |
|
4724 |
|
| 4714 |
try:
|
4725 |
try:
|
| 4715 |
pc = PaymentClient().get_client()
|
4726 |
pc = PaymentClient().get_client()
|
| 4716 |
if pc.refundPayment(rechargeOrder.transaction_id, amountToRefund, True) :
|
4727 |
if pc.refundPayment(rechargeOrder.transaction_id, amountToRefund, True) :
|
| 4717 |
rechargeOrder.status = status
|
4728 |
rechargeOrder.status = status
|
| 4718 |
rechargeOrder.refundTimestamp = datetime.datetime.now()
|
4729 |
rechargeOrder.refundTimestamp = datetime.datetime.now()
|
| 4719 |
session.commit()
|
4730 |
session.commit()
|
| 4720 |
return True
|
4731 |
return True
|
| 4721 |
else :
|
4732 |
else :
|
| 4722 |
update_amount_in_wallet(rechargeOrder.userId, amountToRefund, rechargeOrderId)
|
4733 |
update_amount_in_wallet(rechargeOrder.userId, amountToRefund, rechargeOrderId, 1)
|
| 4723 |
|
4734 |
|
| 4724 |
except:
|
4735 |
except:
|
| 4725 |
update_amount_in_wallet(rechargeOrder.userId, amountToRefund, rechargeOrderId)
|
4736 |
update_amount_in_wallet(rechargeOrder.userId, amountToRefund, rechargeOrderId, 1)
|
| 4726 |
|
4737 |
|
| 4727 |
return False
|
4738 |
return False
|
| 4728 |
|
4739 |
|
| 4729 |
def get_physical_orders(from_date, to_date):
|
4740 |
def get_physical_orders(from_date, to_date):
|
| 4730 |
query = Order.query.filter(Order.created_timestamp >from_date).filter(Order.created_timestamp < to_date).filter(Order.status>=2)
|
4741 |
query = Order.query.filter(Order.created_timestamp >from_date).filter(Order.created_timestamp < to_date).filter(Order.status>=2)
|