| Line 22... |
Line 22... |
| 22 |
from shop2020.model.v1 import order
|
22 |
from shop2020.model.v1 import order
|
| 23 |
from shop2020.model.v1.order.impl import DataService, RechargeService
|
23 |
from shop2020.model.v1.order.impl import DataService, RechargeService
|
| 24 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
|
24 |
from shop2020.model.v1.order.impl.DataService import Transaction, LineItem, \
|
| 25 |
Order, BatchNoGenerator, InvoiceIDGenerator, TransactionRequiringExtraProcessing, \
|
25 |
Order, BatchNoGenerator, InvoiceIDGenerator, TransactionRequiringExtraProcessing, \
|
| 26 |
OrderInventory, Alert, PaymentSettlement, EBSSettlementSummary, \
|
26 |
OrderInventory, Alert, PaymentSettlement, EBSSettlementSummary, \
|
| 27 |
CodVerificationAgent, Attribute, RechargeVoucherTracker, EmiScheme,\
|
27 |
CodVerificationAgent, Attribute, RechargeVoucherTracker, EmiScheme, \
|
| 28 |
MiscCharges
|
28 |
MiscCharges, BlockedIpRange, DeniedIpAddress
|
| 29 |
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
|
29 |
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
|
| 30 |
MobileRechargeOrder
|
30 |
MobileRechargeOrder
|
| 31 |
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
|
31 |
from shop2020.model.v1.order.impl.model.ReturnOrder import ReturnOrder
|
| 32 |
from shop2020.thriftpy.alert.ttypes import MonitoredEntity, EntityType
|
32 |
from shop2020.thriftpy.alert.ttypes import MonitoredEntity, EntityType
|
| 33 |
from shop2020.thriftpy.logistics.ttypes import DeliveryType, PickUpType
|
33 |
from shop2020.thriftpy.logistics.ttypes import DeliveryType, PickUpType
|
| Line 3649... |
Line 3649... |
| 3649 |
deviceNumberInfo.operatorId = providerId
|
3649 |
deviceNumberInfo.operatorId = providerId
|
| 3650 |
if provider:
|
3650 |
if provider:
|
| 3651 |
deviceNumberInfo.operatorName = provider.name
|
3651 |
deviceNumberInfo.operatorName = provider.name
|
| 3652 |
return deviceNumberInfo
|
3652 |
return deviceNumberInfo
|
| 3653 |
|
3653 |
|
| 3654 |
def validate_recharge(rechargeType, deviceNumber, userSelectedProviderId):
|
3654 |
def validate_recharge(rechargeType, deviceNumber, userSelectedProviderId, clientAddress):
|
| - |
|
3655 |
|
| - |
|
3656 |
addressComponents = clientAddress.split('.')
|
| - |
|
3657 |
n = 3
|
| - |
|
3658 |
addressNumber = 0
|
| - |
|
3659 |
for addressComponent in addressComponents :
|
| - |
|
3660 |
addressNumber = addressNumber + (int(addressComponent) * pow(256, n))
|
| - |
|
3661 |
n = n-1
|
| - |
|
3662 |
matchingRow = BlockedIpRange.query.filter(BlockedIpRange.start <= addressNumber).filter(BlockedIpRange.end >= addressNumber).first()
|
| - |
|
3663 |
#if a match is found then check if date has expired.
|
| - |
|
3664 |
if matchingRow :
|
| - |
|
3665 |
#if expiredOn is None that means this range is permanently blocked.
|
| - |
|
3666 |
if matchingRow.expiredOn is None:
|
| - |
|
3667 |
deniedIpAddress = DeniedIpAddress()
|
| - |
|
3668 |
deniedIpAddress.ip = clientAddress
|
| - |
|
3669 |
deniedIpAddress.deniedOn = datetime.datetime.now()
|
| - |
|
3670 |
deniedIpAddress.deviceNumber = deviceNumber
|
| - |
|
3671 |
deniedIpAddress.rechargeType = rechargeType
|
| - |
|
3672 |
session.commit()
|
| - |
|
3673 |
return "Oops! There seems to be a problem. Please try after some time."
|
| - |
|
3674 |
else :
|
| - |
|
3675 |
#if expired is not None and the blockage is still not expired then block the ip.
|
| - |
|
3676 |
if matchingRow.expiredOn > datetime.datetime.now():
|
| - |
|
3677 |
deniedIpAddress = DeniedIpAddress()
|
| - |
|
3678 |
deniedIpAddress.ip = clientAddress
|
| - |
|
3679 |
deniedIpAddress.deniedOn = datetime.datetime.now()
|
| - |
|
3680 |
deniedIpAddress.deviceNumber = deviceNumber
|
| - |
|
3681 |
deniedIpAddress.rechargeType = rechargeType
|
| - |
|
3682 |
session.commit()
|
| - |
|
3683 |
return "Oops! There seems to be a problem. Please try after some time."
|
| - |
|
3684 |
|
| - |
|
3685 |
|
| 3655 |
deviceNumberInfo = get_service_provider_for_device(rechargeType, deviceNumber)
|
3686 |
deviceNumberInfo = get_service_provider_for_device(rechargeType, deviceNumber)
|
| 3656 |
if deviceNumberInfo.operatorId == -1:
|
3687 |
if deviceNumberInfo.operatorId == -1:
|
| 3657 |
return "Oops! There seems to be a problem. Please try after some time."
|
3688 |
return "Oops! There seems to be a problem. Please try after some time."
|
| 3658 |
circle = TelecomCircle.query.filter_by(code = deviceNumberInfo.circleCode).first()
|
3689 |
circle = TelecomCircle.query.filter_by(code = deviceNumberInfo.circleCode).first()
|
| 3659 |
if circle:
|
3690 |
if circle:
|