Subversion Repositories SmartDukaan

Rev

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

Rev 16930 Rev 16974
Line 7... Line 7...
7
from datetime import datetime, timedelta
7
from datetime import datetime, timedelta
8
from dtr import main
8
from dtr import main
9
from dtr.dao import Order, SubOrder
9
from dtr.dao import Order, SubOrder
10
from dtr.main import getBrowserObject, getStore, ParseException, ungzipResponse, \
10
from dtr.main import getBrowserObject, getStore, ParseException, ungzipResponse, \
11
    Store as MStore, sourceMap, tprint, todict
11
    Store as MStore, sourceMap, tprint, todict
12
from dtr.storage.DataService import paytm_coupon_usages, paytm_coupon_non_usages
12
from dtr.storage.DataService import paytm_coupon_usages, paytm_coupon_non_usages, \
-
 
13
    Feedbacks, Users
13
from dtr.utils.utils import fetchResponseUsingProxy, find_between, readSSh
14
from dtr.utils.utils import fetchResponseUsingProxy, find_between, readSSh
14
from elixir import *
15
from elixir import *
15
from pymongo.mongo_client import MongoClient
16
from pymongo.mongo_client import MongoClient
16
import json
17
import json
17
import os
18
import os
18
import traceback
19
import traceback
19
 
20
 
20
ORDER_DETAIL_API_URL = 'https://paytm.com/shop/orderdetail/%s?actions=1&channel=web&version=2'
21
ORDER_DETAIL_API_URL = 'https://paytm.com/shop/orderdetail/%s?actions=1&channel=web&version=2'
21
ORDER_DETAIL_URL = "https://paytm.com/myorders/%s"
22
ORDER_DETAIL_URL = "https://paytm.com/myorders/%s"
-
 
23
ORDER_TEMPLATE="Merchant Order Id - %s, Created On - %s"
-
 
24
SUBORDER_TEMPLATE="\n\t\t %d %s at rate %d"
22
class Store(MStore):
25
class Store(MStore):
23
    OrderStatusMap = {
26
    OrderStatusMap = {
24
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received', 'pending confirmation', 'waiting for courier pickup'],
27
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received', 'pending confirmation', 'waiting for courier pickup'],
25
                      main.Store.ORDER_DELIVERED : ['delivered'],
28
                      main.Store.ORDER_DELIVERED : ['delivered'],
26
                      main.Store.ORDER_SHIPPED : ['in transit', 'shipped'],
29
                      main.Store.ORDER_SHIPPED : ['in transit', 'shipped'],
Line 165... Line 168...
165
                    else:
168
                    else:
166
                        subOrder.closed = False
169
                        subOrder.closed = False
167
                    subOrders.append(subOrder)
170
                    subOrders.append(subOrder)
168
                self.populateDerivedFields(order)
171
                self.populateDerivedFields(order)
169
                if self._saveToOrder(todict(order)):
172
                if self._saveToOrder(todict(order)):
-
 
173
                    try:
170
                    if coupon_code:
174
                        if coupon_code:
171
                        usage = paytm_coupon_usages()
175
                            usage = paytm_coupon_usages()
172
                        usage.cashback = total_cashback
176
                            usage.cashback = total_cashback
173
                        usage.coupon = coupon_code
177
                            usage.coupon = coupon_code
174
                        usage.user_id = userId
178
                            usage.user_id = userId
175
                        usage.order_id = orderId
179
                            usage.order_id = orderId
176
                    else:
180
                        else:
-
 
181
                            user = session.query(Users).filter_by(id=userId).first()
177
                        non_usage = paytm_coupon_non_usages()
182
                            ticket = Feedbacks()
178
                        non_usage.user_id = userId
183
                            ticket.user_id = userId
179
                        non_usage.order_id = orderId
184
                            ticket.email = user.email 
-
 
185
                            ticket.subject = "User created Order without Applying coupon"
-
 
186
                            s1 =ORDER_TEMPLATE%(order.merchantOrderId, order.createdOn)
-
 
187
                            subs = []
-
 
188
                            for subOrder in order.subOrders:
-
 
189
                                subs.append(SUBORDER_TEMPLATE%(subOrder.quantity, subOrder.productTitle, subOrder.amountPaid))
-
 
190
                            subs.insert(0,s1)
-
 
191
                            ticket.message = "".join(subs)
180
                        session.commit()
192
                            session.commit()
-
 
193
                    finally:
181
                        session.close()
194
                        session.close()
182
                    resp['result'] = 'ORDER_CREATED'
195
                    resp['result'] = 'ORDER_CREATED'
183
                else:
196
                else:
184
                    resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'
197
                    resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'
185
            except:
198
            except: