Compare commits
2 Commits
4f8d765bb3
...
c68ffdca0f
| Author | SHA1 | Date | |
|---|---|---|---|
| c68ffdca0f | |||
| 7fe861b4a7 |
@ -671,6 +671,8 @@ class MaterialBaseService:
|
|||||||
|
|
||||||
if 'generalManual' in data:
|
if 'generalManual' in data:
|
||||||
material.manual_link = json.dumps(data['generalManual'])
|
material.manual_link = json.dumps(data['generalManual'])
|
||||||
|
# ★ 仅当 payload 明确携带 generalImage 时才更新图片(含传 [] 表示清空);
|
||||||
|
# 修改其他字段时不动图片,避免误清空 product_image
|
||||||
if 'generalImage' in data:
|
if 'generalImage' in data:
|
||||||
new_photo_list = data['generalImage']
|
new_photo_list = data['generalImage']
|
||||||
material.product_image = json.dumps(new_photo_list)
|
material.product_image = json.dumps(new_photo_list)
|
||||||
@ -685,11 +687,11 @@ class MaterialBaseService:
|
|||||||
material.id,
|
material.id,
|
||||||
new_photo_list
|
new_photo_list
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
material.product_image = None
|
# 图片被清空([])时,同步清理该物料的图片向量
|
||||||
ImageEmbeddingService.delete_embeddings(
|
ImageEmbeddingService.delete_embeddings(
|
||||||
ImageEmbeddingService.MODULE_MATERIAL_BASE, material.id
|
ImageEmbeddingService.MODULE_MATERIAL_BASE, material.id
|
||||||
)
|
)
|
||||||
|
|
||||||
# 【核心修改】:兼容前端传来的布尔值
|
# 【核心修改】:兼容前端传来的布尔值
|
||||||
if 'referencePrice' in data:
|
if 'referencePrice' in data:
|
||||||
|
|||||||
@ -279,6 +279,7 @@ class BuyInboundService:
|
|||||||
for k, v in field_mapping.items():
|
for k, v in field_mapping.items():
|
||||||
if k in data: setattr(stock, v, data[k])
|
if k in data: setattr(stock, v, data[k])
|
||||||
|
|
||||||
|
# ★ 仅当 payload 明确携带 arrival_photo 时才更新(含 [] 表示清空);改其它字段不动图片
|
||||||
if 'arrival_photo' in data:
|
if 'arrival_photo' in data:
|
||||||
new_photo_list = data['arrival_photo']
|
new_photo_list = data['arrival_photo']
|
||||||
stock.arrival_photo = json.dumps(new_photo_list)
|
stock.arrival_photo = json.dumps(new_photo_list)
|
||||||
@ -293,11 +294,11 @@ class BuyInboundService:
|
|||||||
stock.id,
|
stock.id,
|
||||||
new_photo_list
|
new_photo_list
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
stock.arrival_photo = None
|
# 图片被清空([])时,同步清理该记录的图片向量
|
||||||
ImageEmbeddingService.delete_embeddings(
|
ImageEmbeddingService.delete_embeddings(
|
||||||
ImageEmbeddingService.MODULE_STOCK_BUY, stock.id
|
ImageEmbeddingService.MODULE_STOCK_BUY, stock.id
|
||||||
)
|
)
|
||||||
|
|
||||||
if 'inspection_report' in data: stock.inspection_report = json.dumps(data['inspection_report'])
|
if 'inspection_report' in data: stock.inspection_report = json.dumps(data['inspection_report'])
|
||||||
|
|
||||||
|
|||||||
@ -250,6 +250,7 @@ class ProductInboundService:
|
|||||||
for f in fields:
|
for f in fields:
|
||||||
if f in data: setattr(stock, f, data[f])
|
if f in data: setattr(stock, f, data[f])
|
||||||
|
|
||||||
|
# ★ 仅当 payload 明确携带 product_photo 时才更新(含 [] 表示清空);改其它字段不动图片
|
||||||
if 'product_photo' in data:
|
if 'product_photo' in data:
|
||||||
new_photo_list = data['product_photo']
|
new_photo_list = data['product_photo']
|
||||||
stock.product_photo = json.dumps(new_photo_list)
|
stock.product_photo = json.dumps(new_photo_list)
|
||||||
@ -264,11 +265,11 @@ class ProductInboundService:
|
|||||||
stock.id,
|
stock.id,
|
||||||
new_photo_list
|
new_photo_list
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
stock.product_photo = None
|
# 图片被清空([])时,同步清理该记录的图片向量
|
||||||
ImageEmbeddingService.delete_embeddings(
|
ImageEmbeddingService.delete_embeddings(
|
||||||
ImageEmbeddingService.MODULE_STOCK_PRODUCT, stock.id
|
ImageEmbeddingService.MODULE_STOCK_PRODUCT, stock.id
|
||||||
)
|
)
|
||||||
if 'quality_report_link' in data:
|
if 'quality_report_link' in data:
|
||||||
imgs = data['quality_report_link']
|
imgs = data['quality_report_link']
|
||||||
if isinstance(imgs, list): stock.quality_report_link = json.dumps(imgs)
|
if isinstance(imgs, list): stock.quality_report_link = json.dumps(imgs)
|
||||||
|
|||||||
@ -307,6 +307,7 @@ class SemiInboundService:
|
|||||||
if frontend_key in data:
|
if frontend_key in data:
|
||||||
setattr(stock, db_attr, data[frontend_key])
|
setattr(stock, db_attr, data[frontend_key])
|
||||||
|
|
||||||
|
# ★ 仅当 payload 明确携带 arrival_photo 时才更新(含 [] 表示清空);改其它字段不动图片
|
||||||
if 'arrival_photo' in data:
|
if 'arrival_photo' in data:
|
||||||
new_photo_list = data['arrival_photo']
|
new_photo_list = data['arrival_photo']
|
||||||
stock.arrival_photo = json.dumps(new_photo_list)
|
stock.arrival_photo = json.dumps(new_photo_list)
|
||||||
@ -321,11 +322,11 @@ class SemiInboundService:
|
|||||||
stock.id,
|
stock.id,
|
||||||
new_photo_list
|
new_photo_list
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
stock.arrival_photo = None
|
# 图片被清空([])时,同步清理该记录的图片向量
|
||||||
ImageEmbeddingService.delete_embeddings(
|
ImageEmbeddingService.delete_embeddings(
|
||||||
ImageEmbeddingService.MODULE_STOCK_SEMI, stock.id
|
ImageEmbeddingService.MODULE_STOCK_SEMI, stock.id
|
||||||
)
|
)
|
||||||
if 'quality_report_link' in data:
|
if 'quality_report_link' in data:
|
||||||
imgs = data['quality_report_link']
|
imgs = data['quality_report_link']
|
||||||
if isinstance(imgs, list):
|
if isinstance(imgs, list):
|
||||||
|
|||||||
Reference in New Issue
Block a user