You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.4 KiB
73 lines
2.4 KiB
2 years ago
|
import pymysql
|
||
|
import json
|
||
|
from functools import reduce
|
||
|
from pymysql.cursors import DictCursor
|
||
|
|
||
|
db = {
|
||
|
'host': 'home.rogersun.online',
|
||
|
'user': 'root',
|
||
|
'password': 'Sxzgx1209',
|
||
|
'database': 'lottery'
|
||
|
}
|
||
|
|
||
|
real_blue = ["01", "04", "09", "10", "20", "33"]
|
||
|
|
||
|
|
||
|
def get_real_data():
|
||
|
conn = pymysql.Connect(**db)
|
||
|
cursor = conn.cursor(DictCursor)
|
||
|
cursor.execute("SELECT * FROM lottery.history ORDER BY id DESC LIMIT 1")
|
||
|
history_data = cursor.fetchone()
|
||
|
# print(history_data)
|
||
|
# [{'id': 2979, 'dateId': '2023035', 'openDate': datetime.date(2023, 3, 30), 'red': '["01", "04", "09", "10", "20", "33"]', 'blue': '06'}]
|
||
|
return history_data
|
||
|
|
||
|
|
||
|
def general_blue_index(_history_data):
|
||
|
conn = pymysql.Connect(**db)
|
||
|
cursor = conn.cursor(DictCursor)
|
||
|
cursor.execute("SELECT * FROM lottery.blue_forecast WHERE dateId = %s", (str(int(_history_data['dateId']) - 1)), )
|
||
|
history_blue = cursor.fetchall()
|
||
|
# print(history_blue)
|
||
|
for data in history_blue:
|
||
|
n = 1
|
||
|
for k, v in json.loads(data['blue']).items():
|
||
|
if k == _history_data['blue']:
|
||
|
real_index = {'real_blue': _history_data['blue'], 'real_index': n}
|
||
|
cursor.execute("UPDATE lottery.blue_forecast SET comment = %s WHERE id = %s",
|
||
|
(json.dumps(real_index), data['id']))
|
||
|
break
|
||
|
else:
|
||
|
n += 1
|
||
|
conn.commit()
|
||
|
cursor.close()
|
||
|
|
||
|
|
||
|
def general_red_index(_history_data):
|
||
|
conn = pymysql.Connect(**db)
|
||
|
cursor = conn.cursor(DictCursor)
|
||
|
cursor.execute("SELECT * FROM lottery.red_forecast WHERE dateId = %s", (str(int(_history_data['dateId']) - 1)), )
|
||
|
history_red = cursor.fetchone()
|
||
|
# print(history_red)
|
||
|
real_red = json.loads(_history_data['red'])
|
||
|
real_red_index = []
|
||
|
n = 1
|
||
|
|
||
|
for red, _ in json.loads(history_red['red_rate']).items():
|
||
|
if red in real_red:
|
||
|
real_red_index.append(n)
|
||
|
n += 1
|
||
|
else:
|
||
|
n += 1
|
||
|
# print(_history_data['red'], json.dumps(real_red_index), history_red['id'])
|
||
|
cursor.execute("UPDATE lottery.red_forecast SET real_result = %s, comments = %s WHERE id = %s",
|
||
|
(_history_data['red'], json.dumps(real_red_index), history_red['id']))
|
||
|
conn.commit()
|
||
|
cursor.close()
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
history = get_real_data()
|
||
|
general_blue_index(history)
|
||
|
general_red_index(history)
|