fix: SDS factory(dict取值)+ confirmedAt(gmtConfirmTime) 映射修复

This commit is contained in:
yeuimu
2026-07-23 09:41:08 +00:00
parent 4ec7cf2dd6
commit a527ebc1de
3 changed files with 7 additions and 4 deletions
+4 -4
View File
@@ -243,13 +243,13 @@ def map_sds_order(raw: Any, channel_type_map: dict[int, str | None], pre_courier
factory_name: str | None = None
for item in raw.items or []:
fname = getattr(getattr(item, "factory", None), "name", None)
if not fname and isinstance(item, dict):
fname = (item.get("factory") or {}).get("name")
fac = getattr(item, "factory", None)
fname = fac.get("name") if isinstance(fac, dict) else getattr(fac, "name", None)
if fname:
factory_name = fname
break
confirmed_at = _parse(getattr(raw, "gmt_confirm_time", None), f"SDS order {raw.no} gmtConfirmTime")
area_name = raw.issuing_bay_area.name if raw.issuing_bay_area else None
return OrderUpsertInput(
orderNo=raw.no,
@@ -266,7 +266,7 @@ def map_sds_order(raw: Any, channel_type_map: dict[int, str | None], pre_courier
platformStatus=raw.online_order_status_name,
createdAt=safe_date(raw.gmt_created, f"SDS order {raw.no}"),
orderedAt=ordered_at,
confirmedAt=None,
confirmedAt=confirmed_at,
completedAt=completed_at,
shipDeadline=ship_deadline,
)