版本变更V3.35将图像的处理统一更换到新表当中

This commit is contained in:
dxc
2026-05-26 11:28:26 +08:00
parent 682139bab8
commit fb5b8d873b
9 changed files with 281 additions and 70 deletions

View File

@ -226,12 +226,19 @@ class SemiInboundService:
db.session.add(new_stock)
db.session.flush() # 获取 new_stock.id
# 提取到货图片向量到独立表(失败不影响业务)
if isinstance(arrival_list, list) and arrival_list:
ImageEmbeddingService.save_embeddings(
ImageEmbeddingService.MODULE_STOCK_SEMI, new_stock.id, arrival_list
)
# 先提交主事务,图片向量异步后台提取
db.session.commit()
if isinstance(arrival_list, list) and arrival_list:
from flask import current_app
from app.utils.executor import run_embedding_task
run_embedding_task(
ImageEmbeddingService.save_embeddings_background,
current_app._get_current_object(),
ImageEmbeddingService.MODULE_STOCK_SEMI,
new_stock.id,
arrival_list
)
return new_stock
except Exception as e:
db.session.rollback()
@ -280,10 +287,17 @@ class SemiInboundService:
if 'arrival_photo' in data:
new_photo_list = data['arrival_photo']
stock.arrival_photo = json.dumps(new_photo_list)
# 保存向量到独立表(全量替换)
ImageEmbeddingService.save_embeddings(
ImageEmbeddingService.MODULE_STOCK_SEMI, stock.id, new_photo_list
)
# 立即触发异步向量提取,不阻塞主事务提交
if isinstance(new_photo_list, list) and new_photo_list:
from flask import current_app
from app.utils.executor import run_embedding_task
run_embedding_task(
ImageEmbeddingService.save_embeddings_background,
current_app._get_current_object(),
ImageEmbeddingService.MODULE_STOCK_SEMI,
stock.id,
new_photo_list
)
else:
stock.arrival_photo = None
ImageEmbeddingService.delete_embeddings(