fix(pdd): 无规格发品 sku_list 不传 spec_id_list 与 spec_detail_list

Made-with: Cursor
This commit is contained in:
huangyujie 2026-03-25 15:17:37 +08:00
parent 678fc70e1c
commit b88f812ceb
2 changed files with 3 additions and 5 deletions

View File

@ -15,7 +15,7 @@ import java.util.List;
/** /**
* 拼多多发布POP 凭证仅来自本次请求的 {@link ExternalGoodsUpsertRequest#getPddPopAuth()}不依赖 {@code o_shop} * 拼多多发布POP 凭证仅来自本次请求的 {@link ExternalGoodsUpsertRequest#getPddPopAuth()}不依赖 {@code o_shop}
* 可选自动拉取类目规则与 spec.id图书等 {@code input_max_spec_num=0} 类目可走无规格单 SKU{@code spec_id_list} 为字面量 0 * 可选自动拉取类目规则与 spec.id图书等 {@code input_max_spec_num=0} 类目可走无规格单 SKU{@code sku_list} 项不传 {@code spec_id_list}/{@code spec_detail_list}
* *
* @author guochengyu * @author guochengyu
*/ */
@ -108,7 +108,7 @@ public class ExternalPddPublishService {
specAuto = true; specAuto = true;
} else if (PddOpenApiSupport.isNoSpecBookCatRule(ar.getCatRuleRaw()) && skuRows.size() == 1) { } else if (PddOpenApiSupport.isNoSpecBookCatRule(ar.getCatRuleRaw()) && skuRows.size() == 1) {
noSpecBookPublish = true; noSpecBookPublish = true;
autoDetail = "类目 input_max_spec_num=0拼多多无规格发品单 sku_listspec_id_list=\"0\",未调用 spec.id.get"; autoDetail = "类目 input_max_spec_num=0拼多多无规格发品单 sku_list不传 spec_id_list/spec_detail_list,未调用 spec.id.get";
log.info("[PDD] no-spec book publish shopId={} outGoodsId={}", req.getShopId(), req.getOutGoodsId()); log.info("[PDD] no-spec book publish shopId={} outGoodsId={}", req.getShopId(), req.getOutGoodsId());
} else if (PddOpenApiSupport.isNoSpecBookCatRule(ar.getCatRuleRaw())) { } else if (PddOpenApiSupport.isNoSpecBookCatRule(ar.getCatRuleRaw())) {
log.info("[PDD] publish skipped shopId={} outGoodsId={} reason=no-spec-requires-single-sku skuCount={}", log.info("[PDD] publish skipped shopId={} outGoodsId={} reason=no-spec-requires-single-sku skuCount={}",

View File

@ -152,7 +152,7 @@ public class PddGoodsAddParamBuilder {
/** /**
* 拼多多无规格发品如图书 {@code input_max_spec_num=0}仅一条 {@code sku_list} * 拼多多无规格发品如图书 {@code input_max_spec_num=0}仅一条 {@code sku_list}
* {@code spec_id_list} 固定为 {@code "0"}{@code spec_detail_list} 为空根级 {@code is_sku=false}不调用 {@code spec.id.get} * SKU 对象不传 {@code spec_id_list}{@code spec_detail_list}根级 {@code is_sku=false}不调用 {@code spec.id.get}
* <p>调用方须保证过滤后仅 1 条有效 SKU</p> * <p>调用方须保证过滤后仅 1 条有效 SKU</p>
*/ */
public String buildParamJsonNoSpecBook(OGoods goods, List<OGoodsSku> skus, ExternalGoodsUpsertRequest req, public String buildParamJsonNoSpecBook(OGoods goods, List<OGoodsSku> skus, ExternalGoodsUpsertRequest req,
@ -234,8 +234,6 @@ public class PddGoodsAddParamBuilder {
sku.put("price", singleFen); sku.put("price", singleFen);
sku.put("quantity", qty); sku.put("quantity", qty);
sku.put("weight", row.getWeightGram() != null ? row.getWeightGram() : 1000L); sku.put("weight", row.getWeightGram() != null ? row.getWeightGram() : 1000L);
sku.put("spec_id_list", "0");
sku.put("spec_detail_list", new JSONArray());
sku.put("thumb_url", StringUtils.hasText(row.getSkuImageUrl()) ? row.getSkuImageUrl() : carousel.get(0)); sku.put("thumb_url", StringUtils.hasText(row.getSkuImageUrl()) ? row.getSkuImageUrl() : carousel.get(0));
if (StringUtils.hasText(row.getOuterErpSkuId())) { if (StringUtils.hasText(row.getOuterErpSkuId())) {
sku.put("out_sku_sn", row.getOuterErpSkuId()); sku.put("out_sku_sn", row.getOuterErpSkuId());