33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
|
|
"""夹具复位(一次性脚本,不属于交付物):让 e2e 从干净状态开始。
|
|||
|
|
|
|||
|
|
1. 清掉测试柜的 Redis 实时键(`device:860000000000001*`)
|
|||
|
|
2. 清掉安全码下发标记(Redis `auth_str:issued:{imei}` + DB `cabinets.auth_str_issued = 0`),
|
|||
|
|
使 ① `auth_str` 能重新下发 8 位安全码(否则平台回 `auth_str already issued`)
|
|||
|
|
3. 结束该柜未结束的充电订单(`active_flag` 是生成列,由 `end_time` 派生,不能直接写),
|
|||
|
|
避免 ⑤ `on` 撞上 `active_flag` 唯一键
|
|||
|
|
"""
|
|||
|
|
import pymysql
|
|||
|
|
import redis
|
|||
|
|
|
|||
|
|
IMEI = '860000000000001'
|
|||
|
|
CABINET_ID = 1
|
|||
|
|
|
|||
|
|
r = redis.Redis(host='10.8.0.252', password='Hbhyg731024@', db=6, decode_responses=True)
|
|||
|
|
keys = r.keys(f'device:{IMEI}*') + [f'auth_str:issued:{IMEI}']
|
|||
|
|
print('Redis 待删除 key 数:', len(keys))
|
|||
|
|
if keys:
|
|||
|
|
print('Redis deleted:', r.delete(*keys))
|
|||
|
|
|
|||
|
|
c = pymysql.connect(host='10.8.0.252', user='root', password='Hbhyg731024@',
|
|||
|
|
database='pms_dev', autocommit=True)
|
|||
|
|
cur = c.cursor()
|
|||
|
|
cur.execute("UPDATE cabinets SET auth_str_issued = 0 WHERE imei = %s", (IMEI,))
|
|||
|
|
print('auth_str_issued 置 0 行数:', cur.rowcount)
|
|||
|
|
cur.execute(
|
|||
|
|
"UPDATE charge_orders SET end_time = NOW(), status = 2 "
|
|||
|
|
"WHERE cabinet_id = %s AND end_time IS NULL",
|
|||
|
|
(CABINET_ID,),
|
|||
|
|
)
|
|||
|
|
print('结束未完成订单行数:', cur.rowcount)
|
|||
|
|
print('剩余 device 键:', r.keys(f'device:{IMEI}*'))
|