Subversion Repositories SmartDukaan

Rev

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

Rev 3657 Rev 3666
Line 24... Line 24...
24
RTGS_ID_ATTR = 'rtgsId'
24
RTGS_ID_ATTR = 'rtgsId'
25
RTGS_BANK_ATTR = 'rtgsBank'
25
RTGS_BANK_ATTR = 'rtgsBank'
26
RTGS_BRANCH_ATTR = 'rtgsBranch'
26
RTGS_BRANCH_ATTR = 'rtgsBranch'
27
IFSC_ATTR = 'ifscCode'
27
IFSC_ATTR = 'ifscCode'
28
 
28
 
-
 
29
ITEM_ID_KEY = 'itemId'
-
 
30
ITEM_DESC_KEY = 'itemDesc'
-
 
31
PRICE_KEY = 'price'
-
 
32
QUANTITY_KEY = 'quantity'
-
 
33
AMOUNT_KEY = 'amount'
-
 
34
 
29
user_client = UserClient().get_client()
35
user_client = UserClient().get_client()
30
transaction_client = TransactionClient().get_client()
36
transaction_client = TransactionClient().get_client()
31
payment_client = PaymentClient().get_client()
37
payment_client = PaymentClient().get_client()
32
Dataservice.initialize()
38
Dataservice.initialize()
33
 
39
 
34
def create_orders(user, items):
40
def create_orders(user, items):
35
    orders = []
41
    orders = []
36
    for item in items:
42
    for item in items:
37
        # item[3] is quantity
-
 
38
        for i in range (0, int(item[3])):
43
        for i in range (0, int(item[QUANTITY_KEY])):
39
            line_item = create_line_item(int(item[0]), item[2])
44
            line_item = create_line_item(int(item[ITEM_ID_KEY]), item[PRICE_KEY])
40
            orders.append(create_order(user.userId, user.defaultAddressId, line_item))
45
            orders.append(create_order(user.userId, user.defaultAddressId, line_item))
41
    return orders
46
    return orders
42
    
47
    
43
 
48
 
44
def create_transaction(user, orders):
49
def create_transaction(user, items):
45
    txn = Transaction()
50
    txn = Transaction()
46
    txn.shoppingCartid = user.activeCartId
51
    txn.shoppingCartid = user.activeCartId
47
    txn.customer_id = user.userId
52
    txn.customer_id = user.userId
48
    txn.createdOn = to_java_date(datetime.datetime.now())
53
    txn.createdOn = to_java_date(datetime.datetime.now())
49
    txn.transactionStatus = TransactionStatus.INIT
54
    txn.transactionStatus = TransactionStatus.INIT
50
    txn.statusDescription = "New Order"
55
    txn.statusDescription = "New Order"
51
    txn.orders = orders
56
    txn.orders = create_orders(user, items)
52
    transaction_client = TransactionClient().get_client()
57
    transaction_client = TransactionClient().get_client()
53
    txn_id = transaction_client.createTransaction(txn)
58
    txn_id = transaction_client.createTransaction(txn)
54
    return txn_id
59
    return txn_id
55
 
60
 
56
def create_payment(user, amount , txn_id, rtgs_id, rtgs_bank, rtgs_branch, ifsc):
61
def create_payment(user, amount , txn_id, rtgs_id, rtgs_bank, rtgs_branch, ifsc):
Line 80... Line 85...
80
        return
85
        return
81
    
86
    
82
    items = []
87
    items = []
83
    total_amount = 0
88
    total_amount = 0
84
    for rownum in range(10, num_rows):
89
    for rownum in range(10, num_rows):
-
 
90
        item = {}
85
        items.append(sheet.row_values(rownum)[0:5])
91
        item[ITEM_ID_KEY], item[ITEM_DESC_KEY], item[PRICE_KEY], item[QUANTITY_KEY], item[AMOUNT_KEY] = sheet.row_values(rownum)[0:5]
86
        total_amount += items[-1][4]
92
        total_amount += item[AMOUNT_KEY]
-
 
93
        items.append(item)
87
        
94
        
88
    if amount != total_amount:
95
    if amount != total_amount:
89
        print "Amount paid is not equal to the total amount of bulk order."
96
        print "Amount paid is not equal to the total amount of bulk order."
90
        return
97
        return
91
    
98
    
92
    
-
 
93
    orders = create_orders(user, items)
-
 
94
    txn_id = create_transaction(user, orders)
99
    txn_id = create_transaction(user, items)
95
    create_payment(user, amount, txn_id, rtgs_id, rtgs_bank, rtgs_branch, ifsc)
100
    create_payment(user, amount, txn_id, rtgs_id, rtgs_bank, rtgs_branch, ifsc)
96
    transaction_client.changeTransactionStatus(txn_id, TransactionStatus.AUTHORIZED, "Payment received for the order");
101
    transaction_client.changeTransactionStatus(txn_id, TransactionStatus.AUTHORIZED, "Payment received for the order");
97
 
-
 
-
 
102
    transaction_client.changeTransactionStatus(txn_id, TransactionStatus.IN_PROCESS, "RTGS Payment accepted");
98
 
103
 
99
def main():
104
def main():
100
    parser = optparse.OptionParser()
105
    parser = optparse.OptionParser()
101
    parser.add_option("-f", "--file", dest="file",
106
    parser.add_option("-f", "--file", dest="file",
102
                   help="Excel file with bulk orders.")
107
                   help="Excel file with bulk orders.")