cbs-4px-merchant-cli 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,48 @@ import { handleError } from './error-handler.js';
4
4
  import { BportalError } from '../errors.js';
5
5
  import { ApiError, DryRunSignal } from '../errors.js';
6
6
  import chalk from 'chalk';
7
+ // ==================== 走货二级指令支持矩阵(本地预检,与 xoms3 服务端一致) ====================
8
+ /** 支持通过接口下达的走货二级指令集合 */
9
+ const SHIP_SUPPORTED_SET = new Set([1, 5, 8, 13, 17, 23, 24, 25, 26, 27, 28]);
10
+ /** 需上传附件的走货二级指令(不支持) */
11
+ const SHIP_ATTACHMENT_SET = new Set([2, 9, 11, 12, 16]);
12
+ /** 需填写多字段表单的走货二级指令(不支持) */
13
+ const SHIP_FORM_SET = new Set([3, 6, 7, 15]);
14
+ /** 改带电/改产品二级指令(引导走 custody change) */
15
+ const SHIP_PRODUCT_CHANGE_SET = new Set([32, 33]);
16
+ /** 需新单号的走货二级指令(8换新单号/13更换单号/26加货后走货) */
17
+ const SHIP_NEW_NO_SET = new Set([8, 13, 26]);
18
+ /** remark 必填的走货二级指令(24取电池/25内置电池/27减货后/28打印材料走货) */
19
+ const SHIP_REMARK_SET = new Set([24, 25, 27, 28]);
20
+ /** content 必填的走货二级指令(17其他) */
21
+ const SHIP_CONTENT_CHILD = 17;
22
+ /**
23
+ * 本地预检走货二级指令合法性与条件必填参数。
24
+ * 缺参直接抛 BportalError,不发起请求(服务端仍会二次校验,此处提前拦截)。
25
+ */
26
+ export function precheckShipParams(child, opts) {
27
+ if (SHIP_ATTACHMENT_SET.has(child)) {
28
+ throw new BportalError(`走货二级指令 ${child} 需上传附件,暂不支持通过命令下达`, 'UNSUPPORTED_CHILD', '请转页面处理');
29
+ }
30
+ if (SHIP_FORM_SET.has(child)) {
31
+ throw new BportalError(`走货二级指令 ${child} 需填写复杂表单,暂不支持通过命令下达`, 'UNSUPPORTED_CHILD', '请转页面处理');
32
+ }
33
+ if (SHIP_PRODUCT_CHANGE_SET.has(child)) {
34
+ throw new BportalError(`走货二级指令 ${child} 为改带电/改产品`, 'UNSUPPORTED_CHILD', '请改用 mc custody change 命令');
35
+ }
36
+ if (!SHIP_SUPPORTED_SET.has(child)) {
37
+ throw new BportalError(`不支持的走货二级指令:${child}`, 'UNSUPPORTED_CHILD', '请用 mc custody help 查询可下达的二级指令编号');
38
+ }
39
+ if (SHIP_NEW_NO_SET.has(child) && !opts.newTrackNo) {
40
+ throw new BportalError(`走货二级指令 ${child} 需传入新物流单号`, 'PARAM_REQUIRED', '补充 --new-track-no <新单号>');
41
+ }
42
+ if (child === SHIP_CONTENT_CHILD && !opts.content) {
43
+ throw new BportalError('走货二级指令 17(其他) 需传入补充说明文本', 'PARAM_REQUIRED', '补充 --content <说明>');
44
+ }
45
+ if (SHIP_REMARK_SET.has(child) && !opts.remark) {
46
+ throw new BportalError(`走货二级指令 ${child} 需传入说明`, 'PARAM_REQUIRED', '补充 --remark <说明>');
47
+ }
48
+ }
7
49
  // ==================== Reason Code Mapping ====================
8
50
  /**
9
51
  * abnormalReasonName → reasonCode 映射
@@ -101,7 +143,293 @@ export async function custodyChangeCommand(opts) {
101
143
  printChangeResults(results, flowLabel);
102
144
  });
103
145
  }
146
+ /**
147
+ * `custody help <orderNo> --reason <code>` — 查询异常单可下达的一级/二级指令列表
148
+ */
149
+ export async function custodyHelpCommand(orderNo, opts) {
150
+ await runCommand(opts, {
151
+ spinner: '正在查询可下达指令...',
152
+ exec: (client) => client.getAbnormalityHelp(opts.reason, orderNo),
153
+ render: printAbnormalityHelp,
154
+ emptyMessage: '该异常单当前无可下达指令',
155
+ });
156
+ }
157
+ /**
158
+ * `custody ship` — 下达走货指令(写操作,逐单执行 + 汇总)
159
+ */
160
+ export async function custodyShipCommand(opts) {
161
+ const orderNos = splitOrderNos(opts.orderNos);
162
+ if (orderNos.length === 0) {
163
+ handleError(new BportalError('--order-nos 不能为空', 'PARAM_REQUIRED', '传入一个或多个物流单号,逗号分隔'));
164
+ return;
165
+ }
166
+ const child = Number(opts.child);
167
+ if (!Number.isInteger(child)) {
168
+ handleError(new BportalError(`--child 必须为二级指令编号数字,收到:${opts.child}`, 'PARAM_INVALID', '用 mc custody help 查询指令编号'));
169
+ return;
170
+ }
171
+ const reason = opts.reason.toUpperCase();
172
+ try {
173
+ precheckShipParams(child, opts);
174
+ }
175
+ catch (e) {
176
+ handleError(e);
177
+ return;
178
+ }
179
+ const ok = await confirmWrite(opts, `走货:将 ${chalk.cyan(orderNos.length)} 条异常单下达二级指令 ${chalk.cyan(child)}(reasonCode=${chalk.cyan(reason)})`);
180
+ if (!ok)
181
+ return;
182
+ await withClient(opts, `正在批量下达走货指令(${orderNos.length} 条)...`, async (client) => {
183
+ const results = [];
184
+ for (const no of orderNos) {
185
+ const params = {
186
+ orderNo: no,
187
+ reasonCode: reason,
188
+ solutionChildTypeNo: child,
189
+ };
190
+ if (opts.newTrackNo)
191
+ params.newFpxTrackNo = opts.newTrackNo;
192
+ if (opts.remark)
193
+ params.remark = opts.remark;
194
+ if (opts.content)
195
+ params.content = opts.content;
196
+ await runWrite(results, no, () => client.submitShipment(params));
197
+ }
198
+ return results;
199
+ }, (results) => renderWriteResults(results, '走货', opts));
200
+ }
201
+ /**
202
+ * 解析并校验自填退件地址 JSON(六要素必填,行政区编码可选)。
203
+ * JSON 非法或六要素缺失时抛 BportalError,不发起请求(服务端仍会二次校验)。
204
+ */
205
+ export function parseReturnAddress(json) {
206
+ const example = '{"consigneeName":"张三","consigneeTel":"13800000000","consigneeProvince":"广东省","consigneeCity":"深圳市","consigneeDistrict":"南山区","streetAddress":"科技园路1号"}';
207
+ let raw;
208
+ try {
209
+ raw = JSON.parse(json);
210
+ }
211
+ catch {
212
+ throw new BportalError('--address-json 不是合法 JSON', 'PARAM_INVALID', `示例:--address-json '${example}'`);
213
+ }
214
+ if (raw == null || typeof raw !== 'object' || Array.isArray(raw)) {
215
+ throw new BportalError('--address-json 必须为 JSON 对象', 'PARAM_INVALID', `示例:--address-json '${example}'`);
216
+ }
217
+ const obj = raw;
218
+ const str = (k) => (typeof obj[k] === 'string' ? obj[k].trim() : '');
219
+ const missing = [];
220
+ if (!str('consigneeName'))
221
+ missing.push('consigneeName(收件人姓名)');
222
+ if (!str('consigneeTel'))
223
+ missing.push('consigneeTel(收件人电话)');
224
+ if (!str('consigneeProvince'))
225
+ missing.push('consigneeProvince(省)');
226
+ if (!str('consigneeCity'))
227
+ missing.push('consigneeCity(市)');
228
+ if (!str('consigneeDistrict'))
229
+ missing.push('consigneeDistrict(区)');
230
+ if (!str('streetAddress'))
231
+ missing.push('streetAddress(详细地址)');
232
+ if (missing.length > 0) {
233
+ throw new BportalError(`自填退件地址缺少必填项:${missing.join('、')}`, 'PARAM_REQUIRED', 'provinceCode/cityCode/districtCode 可选,不传则由服务端按省市区名称解析补全');
234
+ }
235
+ const num = (k) => {
236
+ const v = obj[k];
237
+ if (v == null || v === '')
238
+ return undefined;
239
+ const n = Number(v);
240
+ return Number.isInteger(n) ? n : undefined;
241
+ };
242
+ const addr = {
243
+ consigneeName: str('consigneeName'),
244
+ consigneeTel: str('consigneeTel'),
245
+ consigneeProvince: str('consigneeProvince'),
246
+ consigneeCity: str('consigneeCity'),
247
+ consigneeDistrict: str('consigneeDistrict'),
248
+ streetAddress: str('streetAddress'),
249
+ };
250
+ const p = num('provinceCode');
251
+ if (p != null)
252
+ addr.provinceCode = p;
253
+ const c = num('cityCode');
254
+ if (c != null)
255
+ addr.cityCode = c;
256
+ const d = num('districtCode');
257
+ if (d != null)
258
+ addr.districtCode = d;
259
+ return addr;
260
+ }
261
+ /**
262
+ * `custody return` — 下达退件指令(写操作,逐单执行 + 汇总)
263
+ *
264
+ * 退件地址两种方式二选一(自填优先):
265
+ * - `--address-json`:用户已提供退件地址时直接传入(六要素必填,行政区编码可选);
266
+ * - `--address-id`:用户未提供地址时,先用 `custody address` 查询地址库供用户选择,再传标识;
267
+ * 两者均不传则使用默认退件地址(既有行为)。
268
+ */
269
+ export async function custodyReturnCommand(opts) {
270
+ const orderNos = splitOrderNos(opts.orderNos);
271
+ if (orderNos.length === 0) {
272
+ handleError(new BportalError('--order-nos 不能为空', 'PARAM_REQUIRED', '传入一个或多个物流单号,逗号分隔'));
273
+ return;
274
+ }
275
+ const reason = opts.reason.toUpperCase();
276
+ // 自填地址优先于地址库标识(与服务端一致)
277
+ let selfAddress;
278
+ if (opts.addressJson != null && opts.addressJson.trim() !== '') {
279
+ try {
280
+ selfAddress = parseReturnAddress(opts.addressJson);
281
+ }
282
+ catch (e) {
283
+ handleError(e);
284
+ return;
285
+ }
286
+ }
287
+ let addressId;
288
+ if (selfAddress == null && opts.addressId != null) {
289
+ addressId = Number(opts.addressId);
290
+ if (!Number.isInteger(addressId)) {
291
+ handleError(new BportalError(`--address-id 必须为数字,收到:${opts.addressId}`, 'PARAM_INVALID', '用 mc custody address 查询退件地址标识'));
292
+ return;
293
+ }
294
+ }
295
+ const addressHint = selfAddress != null
296
+ ? `自填退件地址(${selfAddress.consigneeName} / ${selfAddress.consigneeProvince}${selfAddress.consigneeCity}${selfAddress.consigneeDistrict} ${selfAddress.streetAddress})`
297
+ : addressId == null
298
+ ? '将使用默认退件地址'
299
+ : `退件地址 id=${addressId}`;
300
+ const ok = await confirmWrite(opts, `退件:将 ${chalk.cyan(orderNos.length)} 条异常单退回(reasonCode=${chalk.cyan(reason)},${addressHint})`);
301
+ if (!ok)
302
+ return;
303
+ await withClient(opts, `正在批量下达退件指令(${orderNos.length} 条)...`, async (client) => {
304
+ const results = [];
305
+ for (const no of orderNos) {
306
+ const params = { orderNo: no, reasonCode: reason };
307
+ if (selfAddress != null)
308
+ params.returnAddress = selfAddress;
309
+ else if (addressId != null)
310
+ params.returnAddressId = addressId;
311
+ await runWrite(results, no, () => client.submitReturn(params));
312
+ }
313
+ return results;
314
+ }, (results) => renderWriteResults(results, '退件', opts));
315
+ }
316
+ /**
317
+ * `custody destroy` — 下达销毁指令(写操作,销毁不可逆,逐单执行 + 汇总)
318
+ */
319
+ export async function custodyDestroyCommand(opts) {
320
+ const orderNos = splitOrderNos(opts.orderNos);
321
+ if (orderNos.length === 0) {
322
+ handleError(new BportalError('--order-nos 不能为空', 'PARAM_REQUIRED', '传入一个或多个物流单号,逗号分隔'));
323
+ return;
324
+ }
325
+ const reason = opts.reason.toUpperCase();
326
+ const ok = await confirmWrite(opts, chalk.red(`销毁(不可逆):将 ${chalk.cyan(orderNos.length)} 条异常单销毁(reasonCode=${chalk.cyan(reason)})`));
327
+ if (!ok)
328
+ return;
329
+ await withClient(opts, `正在批量下达销毁指令(${orderNos.length} 条)...`, async (client) => {
330
+ const results = [];
331
+ for (const no of orderNos) {
332
+ await runWrite(results, no, () => client.submitDestroy({ orderNo: no, reasonCode: reason }));
333
+ }
334
+ return results;
335
+ }, (results) => renderWriteResults(results, '销毁', opts));
336
+ }
337
+ /**
338
+ * `custody address` — 查询退件地址库
339
+ */
340
+ export async function custodyAddressCommand(opts) {
341
+ await runCommand(opts, {
342
+ spinner: '正在查询退件地址库...',
343
+ exec: (client) => client.listReturnAddress(),
344
+ render: printReturnAddresses,
345
+ emptyMessage: '退件地址库为空,请先在商家中心维护退件地址',
346
+ });
347
+ }
348
+ /** 逗号分隔多单号拆分 */
349
+ export function splitOrderNos(raw) {
350
+ return raw.split(',').map((s) => s.trim()).filter(Boolean);
351
+ }
352
+ /** 执行单个写操作,DryRunSignal 透传,其余错误记入 results */
353
+ async function runWrite(results, orderNo, exec) {
354
+ try {
355
+ await exec();
356
+ results.push({ orderNo, success: true });
357
+ }
358
+ catch (e) {
359
+ if (e instanceof DryRunSignal)
360
+ throw e;
361
+ const msg = e instanceof ApiError ? e.message : e.message;
362
+ results.push({ orderNo, success: false, error: msg });
363
+ }
364
+ }
365
+ function renderWriteResults(results, flowLabel, opts) {
366
+ if (opts.output === 'json') {
367
+ console.log(JSON.stringify(results, null, 2));
368
+ return;
369
+ }
370
+ printChangeResults(results, flowLabel);
371
+ }
104
372
  // ==================== Print Functions ====================
373
+ function printAbnormalityHelp(data) {
374
+ console.log('');
375
+ console.log(chalk.bold('可下达指令'));
376
+ console.log(chalk.gray('─'.repeat(50)));
377
+ const solutions = data.solutions ?? [];
378
+ if (solutions.length === 0) {
379
+ console.log('');
380
+ console.log(chalk.yellow(' 该异常单当前无可下达指令'));
381
+ console.log('');
382
+ return;
383
+ }
384
+ // 按一级指令分组
385
+ const groups = new Map();
386
+ for (const s of solutions) {
387
+ const key = String(s.solutionTypeNo);
388
+ if (!groups.has(key)) {
389
+ groups.set(key, { typeName: s.solutionTypeName ?? key, children: [] });
390
+ }
391
+ if (s.solutionChildTypeNo != null && s.solutionChildTypeNo !== 0) {
392
+ groups.get(key).children.push({
393
+ childNo: s.solutionChildTypeNo,
394
+ childName: s.solutionChildTypeName ?? String(s.solutionChildTypeNo),
395
+ });
396
+ }
397
+ }
398
+ console.log('');
399
+ for (const [typeNo, group] of groups) {
400
+ console.log(` ${chalk.cyan(group.typeName)}(${typeNo})`);
401
+ if (group.children.length === 0) {
402
+ console.log(` ${chalk.gray('无二级指令')}`);
403
+ }
404
+ else {
405
+ for (const c of group.children) {
406
+ console.log(` → ${c.childName}(${chalk.cyan(c.childNo)})`);
407
+ }
408
+ }
409
+ console.log('');
410
+ }
411
+ }
412
+ function printReturnAddresses(data) {
413
+ console.log('');
414
+ console.log(chalk.bold('退件地址库'));
415
+ console.log(chalk.gray('─'.repeat(50)));
416
+ const list = data.list ?? [];
417
+ if (list.length === 0) {
418
+ console.log('');
419
+ console.log(chalk.yellow(' 退件地址库为空,请先在商家中心维护退件地址'));
420
+ console.log('');
421
+ return;
422
+ }
423
+ const typeName = (t) => t === '1' ? '快递退件' : t === '2' ? '司机代退' : t === '3' ? '客户自提' : (t ?? '-');
424
+ console.log('');
425
+ for (const addr of list) {
426
+ const flag = addr.isDefault === 'Y' ? chalk.green(' [默认]') : '';
427
+ console.log(` ${chalk.cyan(`id=${addr.id ?? '-'}`)}${flag} ${addr.consigneeName ?? '-'} ${addr.consigneeTel ?? '-'}`);
428
+ console.log(` ${addr.province ?? ''}${addr.city ?? ''}${addr.district ?? ''}${addr.streetAddress ?? ''}`);
429
+ console.log(` 退件方式:${typeName(addr.returnType)}`);
430
+ console.log('');
431
+ }
432
+ }
105
433
  function printElectricProducts(data) {
106
434
  console.log('');
107
435
  console.log(chalk.bold('可改带电产品'));
@@ -1 +1 @@
1
- {"version":3,"file":"custody.js","sourceRoot":"","sources":["../../src/commands/custody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custody.js","sourceRoot":"","sources":["../../src/commands/custody.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigManager } from './config-manager.js';
2
- import type { GlobalOptions, TrackDetailDTO, LabelPrintDTO, OrderDetailResp, OrderFieldRulesResp, ProductRecommendDTO, ProductRecommendRequest, ClaimListResp, ClaimListRequest, OrderListRequest, OrderListResp, OrderAddressResp, AddressBookListRequest, CountrySearchResp, ProductSearchResp, TrackSubscriptionResp, ProductListResp, ProductDetailResp, FreightTrialResp, ProblemListRequest, ProblemListResp, AbnormalSuggestRequest, BatchAbnormalSuggestResponse, NotifyProblemListResp, ArrearOrderListResp, ServiceRepairOrderListRequest, RepairOrderListResp, ServiceOrderListRequest, ServiceOrderListResp, ServiceDetailResp, HandleRecordListResp, DssClaimDetailResp, ClaimReasonListResp, AccountBalanceResp, BillListResp, DailyFeeListResp, UnbilledDetailResp, UnbilledListResp, RechargeRecordListResp, TransferRecordListResp, FeeDetailResp, MaterialApplyListResp, MaterialDetailResp, MaterialQuotaResp, CollectAddressListResp, NoticeListResp, NoticeDetailResp, MessageListResp, MessageDetailResp, UnreadMessageCountResp, CargoKindListResp, CommodityListResp, HsCodeListResp, CustomerDeclareResp, FrozenRecordListResp, NotifyTypeListResp, SellerAccountListResp, PlatformOrderSyncResp, SyncOrderRecordListResp, PlatformOrderListResp, PlatformOrderDetailResp, IndivAuthRequest, CheckAuthCodeRequest, OrganAuthRequest, OpenBrandRequest, GATAuthRequest, OnboardingProgressResp, AuthScheduleResp, CustomerTypeItem, BrandAndAuthItem, ContractListResp, CreateOrderRequest, CreateOrderResp, EditOrderRequest, EditOrderResp, ForecastOrderResp, CancelOrderResp, InterceptOrderResp, AbnormalityHelpResp, ElectricProductResp, AIAbnormalSuggestResp, PlatformOrderUpdateResp, PlatformOrderPushFailure } from '../types/index.js';
2
+ import type { GlobalOptions, TrackDetailDTO, LabelPrintDTO, OrderDetailResp, OrderFieldRulesResp, ProductRecommendDTO, ProductRecommendRequest, ClaimListResp, ClaimListRequest, OrderListRequest, OrderListResp, OrderAddressResp, AddressBookListRequest, CountrySearchResp, ProductSearchResp, TrackSubscriptionResp, ProductListResp, ProductDetailResp, FreightTrialResp, ProblemListRequest, ProblemListResp, AbnormalSuggestRequest, BatchAbnormalSuggestResponse, NotifyProblemListResp, ArrearOrderListResp, ServiceRepairOrderListRequest, RepairOrderListResp, ServiceOrderListRequest, ServiceOrderListResp, ServiceDetailResp, HandleRecordListResp, DssClaimDetailResp, ClaimReasonListResp, AccountBalanceResp, BillListResp, DailyFeeListResp, UnbilledDetailResp, UnbilledListResp, RechargeRecordListResp, TransferRecordListResp, FeeDetailResp, MaterialApplyListResp, MaterialDetailResp, MaterialQuotaResp, CollectAddressListResp, NoticeListResp, NoticeDetailResp, MessageListResp, MessageDetailResp, UnreadMessageCountResp, CargoKindListResp, CommodityListResp, HsCodeListResp, CustomerDeclareResp, FrozenRecordListResp, NotifyTypeListResp, SellerAccountListResp, PlatformOrderSyncResp, SyncOrderRecordListResp, PlatformOrderListResp, PlatformOrderDetailResp, IndivAuthRequest, CheckAuthCodeRequest, OrganAuthRequest, OpenBrandRequest, GATAuthRequest, OnboardingProgressResp, AuthScheduleResp, CustomerTypeItem, BrandAndAuthItem, ContractListResp, CreateOrderRequest, CreateOrderResp, EditOrderRequest, EditOrderResp, ForecastOrderResp, CancelOrderResp, InterceptOrderResp, AbnormalityHelpResp, ElectricProductResp, AIAbnormalSuggestResp, PlatformOrderUpdateResp, PlatformOrderPushFailure, ShipmentSubmitParams, ReturnSubmitParams, DestroySubmitParams, ReturnAddressListResp } from '../types/index.js';
3
3
  export declare class ApiClient {
4
4
  private readonly config;
5
5
  private readonly verbose;
@@ -123,6 +123,24 @@ export declare class ApiClient {
123
123
  * 写操作——会真实改变订单的物流产品。
124
124
  */
125
125
  submitProductChange(orderNo: string, pkCode: string): Promise<void>;
126
+ /**
127
+ * 下达走货指令。
128
+ * 写操作——提交前服务端会自动校验指令是否允许下达。
129
+ */
130
+ submitShipment(params: ShipmentSubmitParams): Promise<void>;
131
+ /**
132
+ * 下达退件指令。退件地址自填优先:传 returnAddress 走自填(行政区编码缺失由服务端按名称解析),
133
+ * 未传则回落商家退件地址库(returnAddressId 指定或默认地址)。写操作。
134
+ */
135
+ submitReturn(params: ReturnSubmitParams): Promise<void>;
136
+ /**
137
+ * 下达销毁指令(不可逆写操作)。
138
+ */
139
+ submitDestroy(params: DestroySubmitParams): Promise<void>;
140
+ /**
141
+ * 查询商家退件地址库(只读)。
142
+ */
143
+ listReturnAddress(): Promise<ReturnAddressListResp>;
126
144
  listSellerAccounts(pageNum?: number, pageSize?: number): Promise<SellerAccountListResp>;
127
145
  syncPlatformOrders(sellerAccountId: string, timeFrom: string, timeTo: string): Promise<PlatformOrderSyncResp>;
128
146
  listPlatformSyncRecords(pageNum?: number, pageSize?: number): Promise<SyncOrderRecordListResp>;
@@ -17,6 +17,11 @@ const JSON_BODY_PATHS = new Set([
17
17
  '/order/create',
18
18
  '/order/edit',
19
19
  '/order/field/rules',
20
+ // 平台拉单域入参从 Map 改成类型化 DTO 后,后端这两个端点是 @Body 绑定;
21
+ // 漏登记会让 post() 发表单,@Body 解析器对表单串做 JSON.parseObject 直接抛
22
+ // "syntax error, expect {, actual error",表现为 SYSTEM_ERROR(预发实测到)。
23
+ '/platformOrder/order/list',
24
+ '/platformOrder/order/update',
20
25
  '/product-recommendation',
21
26
  '/shipping-fee/calculate',
22
27
  '/problem/list',
@@ -872,6 +877,32 @@ export class ApiClient {
872
877
  async submitProductChange(orderNo, pkCode) {
873
878
  return this.postJson(`${API_PREFIX}/custody/change-product`, { orderNo, pkCode }, true);
874
879
  }
880
+ /**
881
+ * 下达走货指令。
882
+ * 写操作——提交前服务端会自动校验指令是否允许下达。
883
+ */
884
+ async submitShipment(params) {
885
+ return this.postJson(`${API_PREFIX}/custody/shipment`, params, true);
886
+ }
887
+ /**
888
+ * 下达退件指令。退件地址自填优先:传 returnAddress 走自填(行政区编码缺失由服务端按名称解析),
889
+ * 未传则回落商家退件地址库(returnAddressId 指定或默认地址)。写操作。
890
+ */
891
+ async submitReturn(params) {
892
+ return this.postJson(`${API_PREFIX}/custody/return`, params, true);
893
+ }
894
+ /**
895
+ * 下达销毁指令(不可逆写操作)。
896
+ */
897
+ async submitDestroy(params) {
898
+ return this.postJson(`${API_PREFIX}/custody/destroy`, params, true);
899
+ }
900
+ /**
901
+ * 查询商家退件地址库(只读)。
902
+ */
903
+ async listReturnAddress() {
904
+ return this.postJson(`${API_PREFIX}/custody/return-address/list`, {}, true);
905
+ }
875
906
  // ==================== Platform Order (平台拉单) ====================
876
907
  async listSellerAccounts(pageNum, pageSize) {
877
908
  const body = {};
@@ -908,7 +939,7 @@ export class ApiClient {
908
939
  body.pageNum = pageNum;
909
940
  if (pageSize != null)
910
941
  body.pageSize = pageSize;
911
- return this.post(`${API_PREFIX}/platformOrder/order/list`, body, true);
942
+ return this.postJson(`${API_PREFIX}/platformOrder/order/list`, body, true);
912
943
  }
913
944
  async updatePlatformOrders(ids, fields) {
914
945
  const body = { ids };
@@ -918,7 +949,8 @@ export class ApiClient {
918
949
  body[k] = v;
919
950
  }
920
951
  }
921
- return this.post(`${API_PREFIX}/platformOrder/order/update`, body, true);
952
+ // ids 是数组,表单序列化本就表达不了;后端也是 @Body 绑定
953
+ return this.postJson(`${API_PREFIX}/platformOrder/order/update`, body, true);
922
954
  }
923
955
  /**
924
956
  * 推送平台订单。返回的是**失败明细数组**,空数组即全部成功。