|
|
@@ -29,6 +29,16 @@ def create_card(
|
|
|
"""创建一个新的卡牌实体,此时它不关联任何图片。"""
|
|
|
try:
|
|
|
with db_conn.cursor(dictionary=True) as cursor:
|
|
|
+ # 检查重复 cardNo 并删除旧数据
|
|
|
+ if cardNo:
|
|
|
+ cursor.execute(
|
|
|
+ f"SELECT id FROM {settings.DB_CARD_TABLE_NAME} WHERE cardNo = %s",
|
|
|
+ (cardNo,)
|
|
|
+ )
|
|
|
+ existing_rows = cursor.fetchall()
|
|
|
+ for row in existing_rows:
|
|
|
+ # 调用已有的删除函数删除旧卡牌
|
|
|
+ delete_card(row['id'], db_conn)
|
|
|
|
|
|
query = f"INSERT INTO {settings.DB_CARD_TABLE_NAME} (card_name, cardNo, card_type) VALUES (%s, %s, %s)"
|
|
|
cursor.execute(query, (card_name, cardNo, card_type.value))
|