Subversion Repositories SmartDukaan

Rev

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

Rev 5003 Rev 5006
Line 42... Line 42...
42
def getOrderTableStatus(lastSavedOrderId):
42
def getOrderTableStatus(lastSavedOrderId):
43
    maxOrderId = lastSavedOrderId
43
    maxOrderId = lastSavedOrderId
44
    codFlag = False
44
    codFlag = False
45
    prepaidFlag = False
45
    prepaidFlag = False
46
    paymentOK = False
46
    paymentOK = False
-
 
47
    orderStatusFlag = False
47
    # Prepare SQL query.
48
    # Prepare SQL query.
48
    selectSql = "select o.id, o.cod, p.status from transaction.`order` o join payment.payment p on (o.transaction_id = p.merchantTxnId) where o.id > " + lastSavedOrderId
49
    selectSql = "select o.id, o.cod, o.status, p.status from transaction.`order` o join payment.payment p on (o.transaction_id = p.merchantTxnId) where o.id > " + lastSavedOrderId
49
    conn = getDbConnection()
50
    conn = getDbConnection()
50
    try:
51
    try:
51
        # prepare a cursor object using cursor() method
52
        # prepare a cursor object using cursor() method
52
        cursor = conn.cursor()
53
        cursor = conn.cursor()
53
        
54
        
Line 55... Line 56...
55
        cursor.execute(selectSql)
56
        cursor.execute(selectSql)
56
        result = cursor.fetchall()
57
        result = cursor.fetchall()
57
        for r in result :
58
        for r in result :
58
            orderId = r[0]
59
            orderId = r[0]
59
            isCod = r[1]
60
            isCod = r[1]
-
 
61
            orderStatus = r[2]
60
            paymentStatus = r[2]
62
            paymentStatus = r[3]
61
            if orderId > int(maxOrderId) :
63
            if orderId > int(maxOrderId) :
62
                maxOrderId = str(orderId)
64
                maxOrderId = str(orderId)
63
            if isCod :
65
            if isCod :
64
                codFlag = True
66
                codFlag = True
65
            else :
67
            else :
66
                prepaidFlag = True
68
                prepaidFlag = True
67
            if paymentStatus in [1,4] :
69
            if paymentStatus in [0,1,2,4] :
68
                paymentOK = True
70
                paymentOK = True
-
 
71
            if orderStatus > 1 :
69
            print maxOrderId, isCod, paymentStatus
72
                orderStatusFlag = True
70
    except Exception as e:
73
    except Exception as e:
71
            print "Error: unable to fetch data"
74
            print "Error: unable to fetch data"
72
            print e
75
            print e
73
    
76
    
74
    return maxOrderId, codFlag, prepaidFlag, paymentOK
77
    return maxOrderId, codFlag, prepaidFlag, paymentOK, orderStatusFlag
75
    
78
    
76
def sendmail(subject):
79
def sendmail(subject):
77
    mailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
80
    mailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
78
    mailServer.ehlo()
81
    mailServer.ehlo()
79
    mailServer.starttls()
82
    mailServer.starttls()
Line 97... Line 100...
97
    except Exception as e :
100
    except Exception as e :
98
        subject = 'File not found'
101
        subject = 'File not found'
99
        sendmail(subject)
102
        sendmail(subject)
100
        exit(1)
103
        exit(1)
101
        
104
        
102
    newOrderId, codFlag, prepaidFlag, paymentOK = getOrderTableStatus(orderIdinFile)
105
    newOrderId, codFlag, prepaidFlag, paymentOK, orderStatusFlag = getOrderTableStatus(orderIdinFile)
103
    sendmailFlag = False
106
    sendmailFlag = False
104
    if not prepaidFlag :
107
    if not prepaidFlag :
105
        subject = 'No prepaid orders were placed since last check'
108
        subject = 'No prepaid orders were placed since last check'
106
        sendmailFlag = True
109
        sendmailFlag = True
107
    if not codFlag :
110
    if not codFlag :
108
        subject = 'No COD orders were placed since last check'
111
        subject = 'No COD orders were placed since last check'
109
        sendmailFlag = True
112
        sendmailFlag = True
110
    if not paymentOK :
113
    if not paymentOK :
111
        subject = 'There were no successful payments since last check'
114
        subject = 'There were no successful payments since last check'
112
        sendmailFlag = True
115
        sendmailFlag = True
-
 
116
    if not orderStatusFlag :
-
 
117
        subject = 'There were no orders placed since last check whose status was other than PAYMENT_PENDING and PAYMENT_FAILED'
-
 
118
        sendmailFlag = True
113
    if newOrderId == orderIdinFile:
119
    if newOrderId == orderIdinFile:
114
        subject = 'WARNING : No orders were placed since last check'
120
        subject = 'WARNING : No orders were placed since last check'
115
        sendmailFlag = True
121
        sendmailFlag = True
116
    else :
122
    else :
117
        try :
123
        try :