Subversion Repositories SmartDukaan

Rev

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

Rev 16371 Rev 16374
Line 12... Line 12...
12
from dtr.utils.utils import fetchResponseUsingProxy
12
from dtr.utils.utils import fetchResponseUsingProxy
13
from pymongo.mongo_client import MongoClient
13
from pymongo.mongo_client import MongoClient
14
from datetime import datetime, timedelta
14
from datetime import datetime, timedelta
15
import json
15
import json
16
import traceback
16
import traceback
-
 
17
from elixir import *
-
 
18
 
-
 
19
from dtr.storage.DataService import paytm_coupon_usages
17
 
20
 
18
class Store(MStore):
21
class Store(MStore):
19
    OrderStatusMap = {
22
    OrderStatusMap = {
20
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received'],
23
                      main.Store.ORDER_PLACED : ['in process', 'ready to be shipped', 'order recieved', 'order received'],
21
                      main.Store.ORDER_DELIVERED : ['delivered'],
24
                      main.Store.ORDER_DELIVERED : ['delivered'],
Line 102... Line 105...
102
        order.requireDetail = False
105
        order.requireDetail = False
103
        order.status = 'success'
106
        order.status = 'success'
104
        order.totalAmount = ordermap.get("subtotal")
107
        order.totalAmount = ordermap.get("subtotal")
105
        subOrders = []
108
        subOrders = []
106
        order.subOrders = subOrders
109
        order.subOrders = subOrders
-
 
110
        coupon_code = None
-
 
111
        total_cashback = 0
107
        for item in ordermap.get("items"):
112
        for item in ordermap.get("items"):
108
            product = item.get("product")
113
            product = item.get("product")
109
            shareUrl = product.get("seourl").replace("catalog.paytm.com/v1", "paytm.com/shop")
114
            shareUrl = product.get("seourl").replace("catalog.paytm.com/v1", "paytm.com/shop")
110
            paytmcashback = 0
115
            paytmcashback = 0
-
 
116
            if item.get("promo_code"):
-
 
117
                coupon_code = item.get("promo_code")
111
            for s in item.get("promo_text").split(): 
118
                for s in item.get("promo_text").split(): 
112
                if s.isdigit():
119
                    if s.isdigit():
113
                    paytmcashback = int(s)
120
                        paytmcashback = int(s)
-
 
121
                        total_cashback += paytmcashback
114
                    break
122
                        break
115
            amountPaid = item.get("subtotal") - paytmcashback 
123
            amountPaid = item.get("subtotal") - paytmcashback 
116
            detailedStatus = item.get("status_text")
124
            detailedStatus = item.get("status_text")
117
            status = self._getStatusFromDetailedStatus(detailedStatus)
125
            status = self._getStatusFromDetailedStatus(detailedStatus)
118
            subOrder = SubOrder(item.get("title"), item.get("product").get(""), ordermap.get("date"), amountPaid, status, item.get("quantity"))
126
            subOrder = SubOrder(item.get("title"), item.get("product").get(""), ordermap.get("date"), amountPaid, status, item.get("quantity"))
119
            subOrder.imgUrl = product.get("thumbnail")
127
            subOrder.imgUrl = product.get("thumbnail")
Line 124... Line 132...
124
                subOrder.estimatedDeliveryDate = datetime.strftime(getISTDate(item.get("status_flow")[1].get("date")), "%d %b") 
132
                subOrder.estimatedDeliveryDate = datetime.strftime(getISTDate(item.get("status_flow")[1].get("date")), "%d %b") 
125
                subOrder.estimatedShippingDate = datetime.strftime(getISTDate(item.get("status_flow")[2].get("date")), "%d %b")
133
                subOrder.estimatedShippingDate = datetime.strftime(getISTDate(item.get("status_flow")[2].get("date")), "%d %b")
126
            else:
134
            else:
127
                subOrder.closed = False
135
                subOrder.closed = False
128
            subOrders.append(subOrder)
136
            subOrders.append(subOrder)
-
 
137
        if coupon_code:
-
 
138
            usage = paytm_coupon_usages()
-
 
139
            usage.cashback = total_cashback
-
 
140
            usage.coupon = coupon_code
-
 
141
            usage.user_id = userId
-
 
142
            usage.order_id = orderId
-
 
143
            session.commit()
129
        self.populateDerivedFields(order)
144
        self.populateDerivedFields(order)
130
        if self._saveToOrder(todict(order)):
145
        if self._saveToOrder(todict(order)):
131
            resp['result'] = 'ORDER_CREATED'
146
            resp['result'] = 'ORDER_CREATED'
132
        else:
147
        else:
133
            resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'
148
            resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'