Subversion Repositories SmartDukaan

Rev

Rev 23083 | Rev 23097 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23083 Rev 23096
Line 47... Line 47...
47
    AmazonFbaOrderReturns, FlipkartAdvantageOrder, InvoiceCounterGenerator, \
47
    AmazonFbaOrderReturns, FlipkartAdvantageOrder, InvoiceCounterGenerator, \
48
    TransactionShipmentSequence, HsOrder, Creditor, UserSanction, CreditHistory, \
48
    TransactionShipmentSequence, HsOrder, Creditor, UserSanction, CreditHistory, \
49
    LoanHistory, ShipmentLogisticsCostDetail, ReturnOrderInfo, ReturnTransaction, \
49
    LoanHistory, ShipmentLogisticsCostDetail, ReturnOrderInfo, ReturnTransaction, \
50
    ReturnPickupRequest, SellerWarehouse, Seller, Organisation, \
50
    ReturnPickupRequest, SellerWarehouse, Seller, Organisation, \
51
    WarehouseAddressMapping, WarehouseAddressMaster, PMSA, PMSA_Agents, \
51
    WarehouseAddressMapping, WarehouseAddressMaster, PMSA, PMSA_Agents, \
52
    AdvancePayments, CodCourierPaymentRemittance, Price_Drop, Price_Drop_IMEI
52
    AdvancePayments, CodCourierPaymentRemittance, Price_Drop, Price_Drop_IMEI,\
-
 
53
    PendingRechargeCommissions
53
from shop2020.model.v1.order.impl.model.BaseOrder import BaseOrder
54
from shop2020.model.v1.order.impl.model.BaseOrder import BaseOrder
54
from shop2020.model.v1.order.impl.model.DTHRechargeOrder import DTHRechargeOrder
55
from shop2020.model.v1.order.impl.model.DTHRechargeOrder import DTHRechargeOrder
55
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
56
from shop2020.model.v1.order.impl.model.MobileRechargeOrder import \
56
    MobileRechargeOrder
57
    MobileRechargeOrder
57
from shop2020.model.v1.order.impl.model.RechargeDenomination import \
58
from shop2020.model.v1.order.impl.model.RechargeDenomination import \
Line 199... Line 200...
199
walletGatewayId = 8
200
walletGatewayId = 8
200
 
201
 
201
HOURS=3600
202
HOURS=3600
202
CACHE_THREE_HOURS = ExpiringDict(max_len=10, max_age_seconds=3*HOURS)
203
CACHE_THREE_HOURS = ExpiringDict(max_len=10, max_age_seconds=3*HOURS)
203
 
204
 
-
 
205
dthRechargeCommission = 1.6
-
 
206
mobileRechargeCommission = 0.8
-
 
207
 
204
 
208
 
205
    
209
    
206
def fetchStateMaster():
210
def fetchStateMaster():
207
    if not CACHE_THREE_HOURS.get("statemaster"):
211
    if not CACHE_THREE_HOURS.get("statemaster"):
208
        try:
212
        try:
Line 5565... Line 5569...
5565
        if recharge_order.status == RechargeOrderStatus.RECHARGE_SUCCESSFUL:
5569
        if recharge_order.status == RechargeOrderStatus.RECHARGE_SUCCESSFUL:
5566
            return True
5570
            return True
5567
        recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
5571
        recharge_order.status = RechargeOrderStatus.RECHARGE_SUCCESSFUL
5568
        recharge_order.responseTimestamp = datetime.datetime.now()
5572
        recharge_order.responseTimestamp = datetime.datetime.now()
5569
        recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
5573
        recharge_order.invoiceNumber = get_next_invoice_number(OrderType.RECHARGE)
-
 
5574
        #Add commissions as well
-
 
5575
        pendingRechargeCommissions = PendingRechargeCommissions.query.filter(PendingRechargeCommissions.user_id == recharge_order.userId)
-
 
5576
        pendingRechargeCommissions.lastUpdated = recharge_order.responseTimestamp
-
 
5577
        if isinstance(recharge_order, MobileRechargeOrder):
-
 
5578
            commissions = mobileRechargeCommission
-
 
5579
        if isinstance(recharge_order, DTHRechargeOrder):
-
 
5580
            commissions = dthRechargeCommission
-
 
5581
        pendingRechargeCommissions.approvedAmountInPaise += int(round(recharge_order.totalAmount*commissions))
-
 
5582
        #Add amount to wallet if PendingRechargeCommissions are greater than Rs. 10
-
 
5583
        if pendingRechargeCommissions.approvedAmountInPaise > 1000:
-
 
5584
            commission_amount = int(pendingRechargeCommissions.approvedAmountInPaise/100)
-
 
5585
            pendingRechargeCommissions.approvedAmountInPaise = pendingRechargeCommissions.approvedAmountInPaise%100
-
 
5586
            add_amount_in_wallet(recharge_order.userId, commission_amount, None, WalletReferenceType.CASHBACK, True, "Cashback for Recharge commissions", False)
5570
        session.commit()
5587
        session.commit()
5571
        gvs = allocate_gift_voucher(recharge_order)
5588
        gvs = allocate_gift_voucher(recharge_order)
5572
        enqueue_recharge_info_email(recharge_order, gvs)
5589
        enqueue_recharge_info_email(recharge_order, gvs)
5573
        return True
5590
        return True
5574
    
5591
    
Line 5632... Line 5649...
5632
            session.commit()
5649
            session.commit()
5633
            return False
5650
            return False
5634
        finally:
5651
        finally:
5635
            enqueue_recharge_info_email(recharge_order, gvs)
5652
            enqueue_recharge_info_email(recharge_order, gvs)
5636
            
5653
            
-
 
5654
def disburse_recharge_commissions():
-
 
5655
    #get the minimum amount that can be disbursed
-
 
5656
    
-
 
5657
            
5637
 
5658
 
5638
def allocate_gift_voucher(recharge_order):            
5659
def allocate_gift_voucher(recharge_order):            
5639
    totalAmount = recharge_order.totalAmount
5660
    totalAmount = recharge_order.totalAmount
5640
    gvs = {}
5661
    gvs = {}
5641
    return gvs
5662
    return gvs