1
This commit is contained in:
parent
6d5be57626
commit
7d0dc96a5c
@ -5,10 +5,14 @@ import json
|
|||||||
import time
|
import time
|
||||||
import datetime
|
import datetime
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import pymysql
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import tornado.ioloop
|
import tornado.ioloop
|
||||||
import tornado.web
|
import tornado.web
|
||||||
|
|
||||||
|
def info(msg):
|
||||||
|
print(str(datetime.datetime.now()) + '[INFO] ' + msg, flush = True)
|
||||||
|
|
||||||
def md5Sign(params, secret, timestamp, connstr = '&', secret_connstr = ':'):
|
def md5Sign(params, secret, timestamp, connstr = '&', secret_connstr = ':'):
|
||||||
params_str = ''
|
params_str = ''
|
||||||
for key in sorted(params.keys()):
|
for key in sorted(params.keys()):
|
||||||
@ -21,18 +25,17 @@ def md5Sign(params, secret, timestamp, connstr = '&', secret_connstr = ':'):
|
|||||||
m5.update(str1.encode('utf-8'))
|
m5.update(str1.encode('utf-8'))
|
||||||
return m5.hexdigest()
|
return m5.hexdigest()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('md5Sign error: ' + str(e), flush=True)
|
info('md5Sign error: ' + str(e))
|
||||||
|
|
||||||
def getDaySeconds(time_val, incdays):
|
def getDaySeconds(time_val, incdays):
|
||||||
time_zone = 8
|
time_zone = 8
|
||||||
dayseconds = int((time_val + time_zone * 3600)/3600/24 + incdays) * 3600 * 24 - 3600 * time_zone;
|
dayseconds = int((time_val + time_zone * 3600)/3600/24 + incdays) * 3600 * 24 - 3600 * time_zone;
|
||||||
print(dayseconds, flush=True)
|
info(dayseconds)
|
||||||
return dayseconds
|
return dayseconds
|
||||||
|
|
||||||
def sendNotify(conf, sendtime):
|
def sendNotify(conf, sendtime):
|
||||||
try:
|
try:
|
||||||
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%s"), flush=True)
|
info('sendNotify start')
|
||||||
print('sendNotify start', flush=True)
|
|
||||||
params = {'key' : 'kingsome'}
|
params = {'key' : 'kingsome'}
|
||||||
secret = 'fc38349c5d084e920925e614c420be9f'
|
secret = 'fc38349c5d084e920925e614c420be9f'
|
||||||
timestamp = time.time()
|
timestamp = time.time()
|
||||||
@ -40,9 +43,9 @@ def sendNotify(conf, sendtime):
|
|||||||
url = conf['notify_url'] + '×tamp=' + str(timestamp) + '&sign=' + md5signstr
|
url = conf['notify_url'] + '×tamp=' + str(timestamp) + '&sign=' + md5signstr
|
||||||
req = urllib.request.Request(url)
|
req = urllib.request.Request(url)
|
||||||
data = urllib.request.urlopen(req).read()
|
data = urllib.request.urlopen(req).read()
|
||||||
print('sendNotify end', flush=True)
|
info('sendNotify end')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('sendNotifu error: ' + str(e), flush=True)
|
info('sendNotifu error: ' + str(e))
|
||||||
|
|
||||||
#进入下一次循环
|
#进入下一次循环
|
||||||
tornado.ioloop.IOLoop.current().call_at(getDaySeconds(time.time(), 1) + sendtime,
|
tornado.ioloop.IOLoop.current().call_at(getDaySeconds(time.time(), 1) + sendtime,
|
||||||
@ -65,11 +68,11 @@ def make_app():
|
|||||||
])
|
])
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print('start!', flush=True)
|
info('start!')
|
||||||
conf = json.loads(open('../config/pay_backend.json', 'r').read())
|
conf = json.loads(open('../config/pay_backend.json', 'r').read())
|
||||||
app = make_app()
|
app = make_app()
|
||||||
app.listen(conf['listen_port'])
|
app.listen(conf['listen_port'])
|
||||||
|
|
||||||
tornado.ioloop.IOLoop.current().call_at(getDaySeconds(time.time(), 1) + conf['sendtime1'],
|
tornado.ioloop.IOLoop.current().call_at(getDaySeconds(time.time(), 1) + conf['notifytime'],
|
||||||
lambda : sendNotify(conf, conf['sendtime1']))
|
lambda : sendNotify(conf, conf['notifytime']))
|
||||||
tornado.ioloop.IOLoop.current().start()
|
tornado.ioloop.IOLoop.current().start()
|
||||||
|
@ -3,10 +3,9 @@
|
|||||||
class PayController {
|
class PayController {
|
||||||
|
|
||||||
const SCAN_PAY_API_URL = 'https://gwapi.yemadai.com/pay/scanpay';
|
const SCAN_PAY_API_URL = 'https://gwapi.yemadai.com/pay/scanpay';
|
||||||
# const PRI_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaxbGPoh7l8zq7AwhsSsuOj1wNH1YArG/oZvjCZn2xkeeemhWMh13t03mdz6VVaCsqOc3suN9zCG9tPMxSzSDmtvtcqfqQnFG80Fmi7TCPhju9yW+povjC6GrQnGWdafBpwh0jT/Wqa+GKlygVDXMxhwbDExn/aWStPCaB1pkMcwIDAQAB';
|
const PRI_KEY = 'MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALaDZP3ysvKxkBLWlW/aAT/YM5/34uQcj2gQVV4q9Vkoscw3MSlmRcr4hckwenGUw0tK2LC4vEume8JBCm0ZsWiGoOwcAJp16Zzr+35hUXYVfgXoYiAG5o8N0nBIYCWO1Tk/e+wJsmkY9eHpA3Iq94EAkogttd6bqk+X4nTUIxfJAgMBAAECgYB3pECC3CMERvOr9bC2RtGE2aRV2/iHElXLoNFlToHQ9YU/2npGqj1cJXgF/9p0NFGlPKY5ipAcg0EjgOFlzW7me9C/wC7x704+WMsqZu7POvOXTlFDRVHYpd6iQqLubjToSMPeIEreSBQYjU8giiVxEZ+7mcFpBShFcXSTJWInBQJBANw5/euICWKnqtmN/PXzdKVC+Y4A2TsYgxWCQaCrjO7YytqCCoaZSJn0+rnTchI0VB2YP0nBxlz+8Jp7DkPjpMsCQQDUKR2Olmh7VB9OQ49KhsgGoNMZvZB69borAPtY8I3eSkyS3t6xTa5S9AEXV4hW1553/KewBAYvnAwS0Gkevbc7AkAzlaXjoLbKFAoR8Y9aMQ+WkkyQNaSskf5KcHtc3jIh1EgXzLQYeRknbtm3405p8zXsxLe2WBxVtiW3mbFqt4znAkEAoeLJmd5s1QYoaRimAtD7WgtnaPG7iAduSZgTMhdDuUVqTnte412J0eQ73Oq+rr0SPy37ahR3/+YLVGPQglNytwJAAcbSZ0EhcRaJUMcrrs2HQoMmQ53Gs5qJsVE5VWUh25Ryqjjo6y7kVYVVaYU1xhguMs7309Y4F4VFiPLZeLIpcw==';
|
||||||
# const PRI_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaxbGPoh7l8zq7AwhsSsuOj1wNH1YArG/oZvjCZn2xkeeemhWMh13t03mdz6VVaCsqOc3suN9zCG9tPMxSzSDmtvtcqfqQnFG80Fmi7TCPhju9yW+povjC6GrQnGWdafBpwh0jT/Wqa+GKlygVDXMxhwbDExn/aWStPCaB1pkMcwIDAQAB';
|
|
||||||
const PUB_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVd+f/YkGDi8s9AKhZvmHCxZ2+sPKIsr+JVS2Uj4pP6qApuNq5lEwtF4c6LzHJbUUxKge/OttiR7pR481tqW3PgeSYjyU6rayx0rSEo8/xqVHnh4XugbJREUVyq/Evp79f0BePO69zC0AdYZSjXOAVG8uduRzHl4RWb7BiDLBL3QIDAQAB';
|
const PUB_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVd+f/YkGDi8s9AKhZvmHCxZ2+sPKIsr+JVS2Uj4pP6qApuNq5lEwtF4c6LzHJbUUxKge/OttiR7pR481tqW3PgeSYjyU6rayx0rSEo8/xqVHnh4XugbJREUVyq/Evp79f0BePO69zC0AdYZSjXOAVG8uduRzHl4RWb7BiDLBL3QIDAQAB';
|
||||||
const PRI_KEY = 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJyCbZ+14jK2NwJ6v1mE4ZR8H+sOyUs33LzNys8mJj8+1zDxTIlv0tr0JnR/m8swKw9Jes7QsQw05edmtndeQ9bLbJeXSzqpuI3Dw35etBRD7Ec93NBtX49ezf51qmqxTRRwYcMUsIhXqliuK/2G1B75EbfgGfprA1MVNQv6YX8bAgMBAAECgYAF0xjPU86KQpvDfNv4MejPRNtPPSqioP6XDDWbBflwax9JFAHcL4wyV9nChik/I5jGpd5rKfsc0C8qMHlj8d8mZV9hgh8YeUFsfH8i02SbnR8l4MvutxnDaq2PDatTPnK6Qd7PPvKqwOnfT3BHhL415yJ0ia8+uzwVONYCYcvvqQJBAMpNEa+dx/d1xY50M9n6ds4uxKEBJN+DoMqtBRUu2tdvqgITgY7es8LW2Kn+5GTCIiSdWbvmL2GSIlwqfMz92a8CQQDGDbEzgECX0kp5J3odgLm5C5nrfmk3HG2+vt0eUUWP+a5iBKqCXXW9lx+8AYs5MKxkvQkA2m13Wxm+r1ND0UhVAkEAo4MVd3e1R/umGVUtD9OUsWQ1w9jz38E5dnfQcuWzNoxnwlPX1Q2GCEa1Svndyt7qz+NqwyfzRg7ivNIOm3XWuwJAHAILsTDN8ap3hbKjflCZ8yVE2xzBXF3U10i+lG8B215/3rSyOEVnRSx9/GRrf+b2OjjRcSFyoZJsjZ7Vs52BEQJBAILJlhPhaSQ2QG+gxkdqUmcTtU28ImI2MGzJmNAkfSzSOoogO5SCw8/6qxRZqyuTxZWUm0dEs7YEln3LT7PObuM=';
|
// const PRI_KEY = 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJyCbZ+14jK2NwJ6v1mE4ZR8H+sOyUs33LzNys8mJj8+1zDxTIlv0tr0JnR/m8swKw9Jes7QsQw05edmtndeQ9bLbJeXSzqpuI3Dw35etBRD7Ec93NBtX49ezf51qmqxTRRwYcMUsIhXqliuK/2G1B75EbfgGfprA1MVNQv6YX8bAgMBAAECgYAF0xjPU86KQpvDfNv4MejPRNtPPSqioP6XDDWbBflwax9JFAHcL4wyV9nChik/I5jGpd5rKfsc0C8qMHlj8d8mZV9hgh8YeUFsfH8i02SbnR8l4MvutxnDaq2PDatTPnK6Qd7PPvKqwOnfT3BHhL415yJ0ia8+uzwVONYCYcvvqQJBAMpNEa+dx/d1xY50M9n6ds4uxKEBJN+DoMqtBRUu2tdvqgITgY7es8LW2Kn+5GTCIiSdWbvmL2GSIlwqfMz92a8CQQDGDbEzgECX0kp5J3odgLm5C5nrfmk3HG2+vt0eUUWP+a5iBKqCXXW9lx+8AYs5MKxkvQkA2m13Wxm+r1ND0UhVAkEAo4MVd3e1R/umGVUtD9OUsWQ1w9jz38E5dnfQcuWzNoxnwlPX1Q2GCEa1Svndyt7qz+NqwyfzRg7ivNIOm3XWuwJAHAILsTDN8ap3hbKjflCZ8yVE2xzBXF3U10i+lG8B215/3rSyOEVnRSx9/GRrf+b2OjjRcSFyoZJsjZ7Vs52BEQJBAILJlhPhaSQ2QG+gxkdqUmcTtU28ImI2MGzJmNAkfSzSOoogO5SCw8/6qxRZqyuTxZWUm0dEs7YEln3LT7PObuM=';
|
||||||
const MER_NO = '49118';
|
const MER_NO = '49118';
|
||||||
|
|
||||||
protected function getMysql($accountid)
|
protected function getMysql($accountid)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user