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.
72 lines
2.4 KiB
72 lines
2.4 KiB
import pymysql |
|
import json |
|
from functools import reduce |
|
from pymysql.cursors import DictCursor |
|
|
|
db = { |
|
'host': 'home.rogersun.cn', |
|
'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)
|
|
|