| 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:
|