2026-10-15-storage-market-evidence.json 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032
  1. {
  2. "period": "2026-10-15/2026-10-16 Asia/Shanghai",
  3. "automated": {
  4. "backend_main": 679,
  5. "customer_extra": 38,
  6. "mobile_market": 312,
  7. "web": 85,
  8. "total": 1114,
  9. "new_backend": 81,
  10. "new_mobile": 5,
  11. "new_web": 31
  12. },
  13. "build": {
  14. "web": "passed with NODE_OPTIONS=--max-old-space-size=8192",
  15. "mobile": "passed"
  16. },
  17. "ui": [
  18. {
  19. "mode": "web",
  20. "route": "protocol-audit",
  21. "errors": [],
  22. "bad": [],
  23. "overflow": false,
  24. "textLength": 2305
  25. },
  26. {
  27. "mode": "web",
  28. "route": "presign-order",
  29. "errors": [],
  30. "bad": [],
  31. "overflow": false,
  32. "textLength": 1111
  33. },
  34. {
  35. "mode": "web",
  36. "route": "payment-info",
  37. "errors": [],
  38. "bad": [],
  39. "overflow": false,
  40. "textLength": 3526
  41. },
  42. {
  43. "mode": "web",
  44. "route": "payment-chase",
  45. "errors": [],
  46. "bad": [],
  47. "overflow": false,
  48. "textLength": 1246
  49. },
  50. {
  51. "mode": "web",
  52. "route": "sample-info",
  53. "errors": [],
  54. "bad": [],
  55. "overflow": false,
  56. "textLength": 1257
  57. },
  58. {
  59. "mode": "web",
  60. "route": "sample-freight",
  61. "errors": [],
  62. "bad": [],
  63. "overflow": false,
  64. "textLength": 898
  65. },
  66. {
  67. "mode": "web",
  68. "route": "payment-confirm",
  69. "errors": [],
  70. "bad": [],
  71. "overflow": false,
  72. "textLength": 953
  73. },
  74. {
  75. "mode": "mobile",
  76. "route": "specialist/presign",
  77. "errors": [],
  78. "bad": [],
  79. "overflow": false,
  80. "textLength": 238
  81. },
  82. {
  83. "mode": "mobile",
  84. "route": "specialist/protocol",
  85. "errors": [],
  86. "bad": [],
  87. "overflow": false,
  88. "textLength": 1072
  89. },
  90. {
  91. "mode": "mobile",
  92. "route": "specialist/payment",
  93. "errors": [],
  94. "bad": [],
  95. "overflow": false,
  96. "textLength": 1808
  97. },
  98. {
  99. "mode": "mobile",
  100. "route": "specialist/payment-chase",
  101. "errors": [],
  102. "bad": [],
  103. "overflow": false,
  104. "textLength": 490
  105. },
  106. {
  107. "mode": "mobile",
  108. "route": "specialist/freight",
  109. "errors": [],
  110. "bad": [],
  111. "overflow": false,
  112. "textLength": 502
  113. },
  114. {
  115. "mode": "mobile",
  116. "route": "manager/presign",
  117. "errors": [],
  118. "bad": [],
  119. "overflow": false,
  120. "textLength": 135
  121. },
  122. {
  123. "mode": "mobile",
  124. "route": "manager/protocol",
  125. "errors": [],
  126. "bad": [],
  127. "overflow": false,
  128. "textLength": 154
  129. },
  130. {
  131. "mode": "mobile",
  132. "route": "manager/payment",
  133. "errors": [],
  134. "bad": [],
  135. "overflow": false,
  136. "textLength": 202
  137. },
  138. {
  139. "mode": "mobile",
  140. "route": "manager/payment-chase",
  141. "errors": [],
  142. "bad": [],
  143. "overflow": false,
  144. "textLength": 181
  145. },
  146. {
  147. "mode": "mobile",
  148. "route": "manager/freight",
  149. "errors": [],
  150. "bad": [],
  151. "overflow": false,
  152. "textLength": 180
  153. }
  154. ],
  155. "dialogs": [
  156. {
  157. "route": "protocol-audit",
  158. "action": "新增",
  159. "visible": 1,
  160. "errors": []
  161. },
  162. {
  163. "route": "presign-order",
  164. "action": "新增预签约",
  165. "visible": 1,
  166. "errors": []
  167. },
  168. {
  169. "route": "payment-info",
  170. "action": "缴费明细",
  171. "visible": 1,
  172. "errors": []
  173. },
  174. {
  175. "route": "payment-chase",
  176. "action": "协议单",
  177. "visible": 1,
  178. "errors": []
  179. },
  180. {
  181. "route": "sample-info",
  182. "action": "查看",
  183. "visible": 1,
  184. "errors": []
  185. },
  186. {
  187. "route": "sample-freight",
  188. "action": "编辑",
  189. "visible": 1,
  190. "errors": []
  191. },
  192. {
  193. "route": "payment-confirm",
  194. "action": "确认收款",
  195. "visible": 1,
  196. "errors": []
  197. }
  198. ],
  199. "api_final": [
  200. {
  201. "name": "V2缴费标签",
  202. "path": "/web/admin/collection-protocols?keyword=QA_STORAGE_20261015_1792078686590",
  203. "method": "GET",
  204. "http": 200,
  205. "code": 200,
  206. "expected": 200,
  207. "ok": true
  208. },
  209. {
  210. "name": "V2趸交标签",
  211. "ok": true,
  212. "actual": "趸交"
  213. },
  214. {
  215. "name": "非法日期返回422",
  216. "path": "/web/admin/presign-orders",
  217. "method": "POST",
  218. "http": 422,
  219. "code": 422,
  220. "expected": 422,
  221. "ok": true
  222. },
  223. {
  224. "name": "非有限运费返回400",
  225. "path": "/web/admin/sample-freights",
  226. "method": "POST",
  227. "http": 200,
  228. "code": 400,
  229. "expected": 400,
  230. "ok": true
  231. },
  232. {
  233. "name": "负运费返回400",
  234. "path": "/web/admin/sample-freights",
  235. "method": "POST",
  236. "http": 200,
  237. "code": 400,
  238. "expected": 400,
  239. "ok": true
  240. },
  241. {
  242. "name": "已转换订单禁止编辑",
  243. "path": "/web/admin/presign-orders/957A803076514B25B8277B627B74DA85",
  244. "method": "PUT",
  245. "http": 200,
  246. "code": 400,
  247. "expected": 400,
  248. "ok": true
  249. },
  250. {
  251. "name": "重复转换拒绝",
  252. "path": "/web/admin/presign-orders/957A803076514B25B8277B627B74DA85/convert",
  253. "method": "POST",
  254. "http": 200,
  255. "code": 400,
  256. "expected": 400,
  257. "ok": true
  258. },
  259. {
  260. "name": "提交样本转账",
  261. "path": "/web/admin/payment-transfers/CA7229669FD441CDAE82838715B49760/submit-receipt-finance",
  262. "method": "POST",
  263. "http": 200,
  264. "code": 200,
  265. "expected": 200,
  266. "ok": true
  267. },
  268. {
  269. "name": "重复提交拒绝",
  270. "path": "/web/admin/payment-transfers/CA7229669FD441CDAE82838715B49760/submit-receipt-finance",
  271. "method": "POST",
  272. "http": 200,
  273. "code": 400,
  274. "expected": 400,
  275. "ok": true
  276. },
  277. {
  278. "name": "移动经理撤回",
  279. "path": "/mini/market/manager/payment-transfers/CA7229669FD441CDAE82838715B49760/withdraw",
  280. "method": "POST",
  281. "http": 200,
  282. "code": 200,
  283. "expected": 200,
  284. "ok": true
  285. },
  286. {
  287. "name": "运费读取",
  288. "path": "/web/admin/sample-freights/30D719454B8D4441B8071CD9B045E7E2",
  289. "method": "GET",
  290. "http": 200,
  291. "code": 200,
  292. "expected": 200,
  293. "ok": true
  294. },
  295. {
  296. "name": "运费修改",
  297. "path": "/web/admin/sample-freights/30D719454B8D4441B8071CD9B045E7E2",
  298. "method": "PUT",
  299. "http": 200,
  300. "code": 200,
  301. "expected": 200,
  302. "ok": true
  303. },
  304. {
  305. "name": "客服登记持久化",
  306. "path": "/web/admin/protocol-sample-collections/list?keyword=QA1792078816166",
  307. "method": "GET",
  308. "http": 200,
  309. "code": 200,
  310. "expected": 200,
  311. "ok": true
  312. },
  313. {
  314. "name": "客服三组字段保存",
  315. "ok": true
  316. },
  317. {
  318. "name": "specialist/presign-orders",
  319. "path": "/mini/market/specialist/presign-orders?keyword=QA1792078816166",
  320. "method": "GET",
  321. "http": 200,
  322. "code": 200,
  323. "expected": 200,
  324. "ok": true
  325. },
  326. {
  327. "name": "specialist/protocols",
  328. "path": "/mini/market/specialist/protocols?keyword=QA1792078816166",
  329. "method": "GET",
  330. "http": 200,
  331. "code": 200,
  332. "expected": 200,
  333. "ok": true
  334. },
  335. {
  336. "name": "specialist/payments",
  337. "path": "/mini/market/specialist/payments?keyword=QA1792078816166",
  338. "method": "GET",
  339. "http": 200,
  340. "code": 200,
  341. "expected": 200,
  342. "ok": true
  343. },
  344. {
  345. "name": "specialist/payment-chase",
  346. "path": "/mini/market/specialist/payment-chase?keyword=QA1792078816166",
  347. "method": "GET",
  348. "http": 200,
  349. "code": 200,
  350. "expected": 200,
  351. "ok": true
  352. },
  353. {
  354. "name": "specialist/freights",
  355. "path": "/mini/market/specialist/freights?keyword=QA1792078816166",
  356. "method": "GET",
  357. "http": 200,
  358. "code": 200,
  359. "expected": 200,
  360. "ok": true
  361. },
  362. {
  363. "name": "manager/presign-orders",
  364. "path": "/mini/market/manager/presign-orders?keyword=QA1792078816166",
  365. "method": "GET",
  366. "http": 200,
  367. "code": 200,
  368. "expected": 200,
  369. "ok": true
  370. },
  371. {
  372. "name": "manager/protocols",
  373. "path": "/mini/market/manager/protocols?keyword=QA1792078816166",
  374. "method": "GET",
  375. "http": 200,
  376. "code": 200,
  377. "expected": 200,
  378. "ok": true
  379. },
  380. {
  381. "name": "manager/payments",
  382. "path": "/mini/market/manager/payments?keyword=QA1792078816166",
  383. "method": "GET",
  384. "http": 200,
  385. "code": 200,
  386. "expected": 200,
  387. "ok": true
  388. },
  389. {
  390. "name": "manager/payment-chase",
  391. "path": "/mini/market/manager/payment-chase?keyword=QA1792078816166",
  392. "method": "GET",
  393. "http": 200,
  394. "code": 200,
  395. "expected": 200,
  396. "ok": true
  397. },
  398. {
  399. "name": "manager/freights",
  400. "path": "/mini/market/manager/freights?keyword=QA1792078816166",
  401. "method": "GET",
  402. "http": 200,
  403. "code": 200,
  404. "expected": 200,
  405. "ok": true
  406. }
  407. ],
  408. "negative_requests": [
  409. {
  410. "name": "unauthenticated-web",
  411. "path": "/web/admin/presign-orders",
  412. "http": 401,
  413. "code": 401,
  414. "expected": 401,
  415. "message": "Not authenticated",
  416. "ok": true
  417. },
  418. {
  419. "name": "unauthenticated-mobile",
  420. "path": "/mini/market/specialist/presign-orders",
  421. "http": 401,
  422. "code": 401,
  423. "expected": 401,
  424. "message": "Not authenticated",
  425. "ok": true
  426. },
  427. {
  428. "name": "invalid-pagination",
  429. "path": "/web/admin/presign-orders?page=0",
  430. "http": 422,
  431. "code": 422,
  432. "expected": 422,
  433. "message": [
  434. {
  435. "type": "greater_than_equal",
  436. "loc": [
  437. "query",
  438. "page"
  439. ],
  440. "msg": "Input should be greater than or equal to 1",
  441. "input": "0",
  442. "ctx": {
  443. "ge": 1
  444. },
  445. "url": "https://errors.pydantic.dev/2.5/v/greater_than_equal"
  446. }
  447. ],
  448. "ok": true
  449. },
  450. {
  451. "name": "invalid-mobile-pagination",
  452. "path": "/mini/market/manager/payments?pageSize=101",
  453. "http": 422,
  454. "code": 422,
  455. "expected": 422,
  456. "message": [
  457. {
  458. "type": "less_than_equal",
  459. "loc": [
  460. "query",
  461. "pageSize"
  462. ],
  463. "msg": "Input should be less than or equal to 100",
  464. "input": "101",
  465. "ctx": {
  466. "le": 100
  467. },
  468. "url": "https://errors.pydantic.dev/2.5/v/less_than_equal"
  469. }
  470. ],
  471. "ok": true
  472. },
  473. {
  474. "name": "missing-web-presign",
  475. "path": "/web/admin/presign-orders/QA_NOT_FOUND",
  476. "http": 200,
  477. "code": 403,
  478. "expected": 400,
  479. "message": "记录不存在或无权访问",
  480. "ok": true
  481. },
  482. {
  483. "name": "missing-web-protocol",
  484. "path": "/web/admin/collection-protocols/QA_NOT_FOUND",
  485. "http": 200,
  486. "code": 404,
  487. "expected": 404,
  488. "message": "协议单不存在或无权查看",
  489. "ok": true
  490. },
  491. {
  492. "name": "missing-web-freight",
  493. "path": "/web/admin/sample-freights/QA_NOT_FOUND",
  494. "http": 200,
  495. "code": 404,
  496. "expected": 400,
  497. "message": "运费批次不存在",
  498. "ok": true
  499. },
  500. {
  501. "name": "missing-mobile-presign",
  502. "path": "/mini/market/specialist/presign-orders/QA_NOT_FOUND",
  503. "http": 404,
  504. "code": 404,
  505. "expected": 400,
  506. "message": "数据不存在或无权访问",
  507. "ok": true
  508. },
  509. {
  510. "name": "missing-mobile-protocol",
  511. "path": "/mini/market/manager/protocols/QA_NOT_FOUND?source=cell_storage",
  512. "http": 404,
  513. "code": 404,
  514. "expected": 400,
  515. "message": "数据不存在或无权访问",
  516. "ok": true
  517. },
  518. {
  519. "name": "missing-mobile-freight",
  520. "path": "/mini/market/manager/freights/QA_NOT_FOUND",
  521. "http": 404,
  522. "code": 404,
  523. "expected": 400,
  524. "message": "数据不存在或无权访问",
  525. "ok": true
  526. }
  527. ],
  528. "form_persistence": {
  529. "ui-write": {
  530. "errors": [],
  531. "before": "QA_CLEAR_ME",
  532. "updateCode": 200,
  533. "after": "",
  534. "passed": true
  535. },
  536. "ui-protocol-edit": {
  537. "errors": [],
  538. "apiErrors": [],
  539. "before": "QA_CLEAR_PROTOCOL",
  540. "updateCode": 200,
  541. "after": "",
  542. "passed": true
  543. }
  544. },
  545. "mobile_region_switches": 24,
  546. "cleanup": {
  547. "soft_deleted_count": 16,
  548. "tables": [
  549. {
  550. "table": "biz_collection_protocol",
  551. "count": 1
  552. },
  553. {
  554. "table": "biz_customer",
  555. "count": 1
  556. },
  557. {
  558. "table": "biz_presign_order",
  559. "count": 2
  560. },
  561. {
  562. "table": "biz_presign_order_sample_type",
  563. "count": 1
  564. },
  565. {
  566. "table": "biz_presign_transfer",
  567. "count": 1
  568. },
  569. {
  570. "table": "biz_protocol_collection_info",
  571. "count": 1
  572. },
  573. {
  574. "table": "biz_protocol_party_customer",
  575. "count": 1
  576. },
  577. {
  578. "table": "biz_protocol_payment_schedule",
  579. "count": 1
  580. },
  581. {
  582. "table": "biz_protocol_payment_transfer",
  583. "count": 1
  584. },
  585. {
  586. "table": "biz_protocol_sample",
  587. "count": 1
  588. },
  589. {
  590. "table": "biz_protocol_sample_payment",
  591. "count": 1
  592. },
  593. {
  594. "table": "biz_sample_customer_service",
  595. "count": 1
  596. },
  597. {
  598. "table": "biz_sample_freight",
  599. "count": 1
  600. },
  601. {
  602. "table": "biz_sample_freight_item",
  603. "count": 1
  604. },
  605. {
  606. "table": "sys_dict_data",
  607. "count": 1
  608. }
  609. ],
  610. "remaining": [],
  611. "physical_deletes": 0,
  612. "api_checks": [
  613. {
  614. "path": "/web/admin/presign-orders?keyword=QA_STORAGE_20261015_1792078686590",
  615. "code": 200,
  616. "total": 0
  617. },
  618. {
  619. "path": "/web/admin/collection-protocols?keyword=QA_STORAGE_20261015_1792078686590",
  620. "code": 200,
  621. "total": 0
  622. },
  623. {
  624. "path": "/web/admin/sample-payments?keyword=QA1792078816166",
  625. "code": 200,
  626. "total": 0
  627. },
  628. {
  629. "path": "/web/admin/payment-chase?keyword=QA1792078816166",
  630. "code": 200,
  631. "total": 0
  632. },
  633. {
  634. "path": "/web/admin/protocol-sample-collections/list?keyword=QA1792078816166",
  635. "code": 200,
  636. "total": 0
  637. },
  638. {
  639. "path": "/web/admin/sample-freights?keyword=QA1792078816166",
  640. "code": 200,
  641. "total": 0
  642. }
  643. ]
  644. },
  645. "limitations": [
  646. "full repository typecheck has pre-existing out-of-scope errors",
  647. "WeChat physical device, comprehensive real attachment storage and load testing not completed",
  648. "frontend graph JSON shrink safeguard preserved existing JSON"
  649. ],
  650. "financeFollowup": {
  651. "marker": "QA_FINANCE_20261016_1792081469569",
  652. "username": "张敏",
  653. "ids": {
  654. "orderId": "0DECE597D44A4076AF9EB3A2670E117F",
  655. "presignTransferId": "6F40A67CA22A4C91AE1D7755BF6E8E49",
  656. "protocolId": "D31A13388E174EA4A4A926F2A0289C59",
  657. "sampleCode": "QAF1792081494740",
  658. "paymentId": "C29C249E00DB4DC9B005FA9E0A507F18",
  659. "scheduleId": "CE00E945CA9046D8894527C3200A33AC",
  660. "formalTransferId": "10EA5200865B4737A201578F7106223F"
  661. },
  662. "checks": [
  663. {
  664. "path": "/presign-orders",
  665. "method": "POST",
  666. "http": 200,
  667. "code": 200,
  668. "expected": 200,
  669. "passed": true
  670. },
  671. {
  672. "path": "/presign-orders/0DECE597D44A4076AF9EB3A2670E117F/transfers",
  673. "method": "POST",
  674. "http": 200,
  675. "code": 200,
  676. "expected": 200,
  677. "passed": true
  678. },
  679. {
  680. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/submit-receipt-finance",
  681. "method": "POST",
  682. "http": 200,
  683. "code": 200,
  684. "expected": 200,
  685. "passed": true
  686. },
  687. {
  688. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/receipt-reject",
  689. "method": "POST",
  690. "http": 200,
  691. "code": 400,
  692. "expected": 400,
  693. "passed": true
  694. },
  695. {
  696. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/receipt-confirm",
  697. "method": "POST",
  698. "http": 200,
  699. "code": 400,
  700. "expected": 400,
  701. "passed": true
  702. },
  703. {
  704. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/submit-receipt-finance",
  705. "method": "POST",
  706. "http": 200,
  707. "code": 200,
  708. "expected": 200,
  709. "passed": true
  710. },
  711. {
  712. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/receipt-confirm",
  713. "method": "POST",
  714. "http": 200,
  715. "code": 400,
  716. "expected": 400,
  717. "passed": true
  718. },
  719. {
  720. "path": "/presign-transfers/6F40A67CA22A4C91AE1D7755BF6E8E49/receipt-reject",
  721. "method": "POST",
  722. "http": 200,
  723. "code": 400,
  724. "expected": 400,
  725. "passed": true
  726. },
  727. {
  728. "path": "/presign-orders/0DECE597D44A4076AF9EB3A2670E117F",
  729. "method": "GET",
  730. "http": 200,
  731. "code": 200,
  732. "expected": 200,
  733. "passed": true
  734. },
  735. {
  736. "path": "/presign-transfers/receipt-confirmed?keyword=QA_FINANCE_20261016_1792081469569",
  737. "method": "GET",
  738. "http": 200,
  739. "code": 200,
  740. "expected": 200,
  741. "passed": true
  742. },
  743. {
  744. "path": "/presign-transfers/receipt-confirm?keyword=QA_FINANCE_20261016_1792081469569",
  745. "method": "GET",
  746. "http": 200,
  747. "code": 200,
  748. "expected": 200,
  749. "passed": true
  750. },
  751. {
  752. "path": "/presign-orders/0DECE597D44A4076AF9EB3A2670E117F/convert",
  753. "method": "POST",
  754. "http": 200,
  755. "code": 200,
  756. "expected": 200,
  757. "passed": true
  758. },
  759. {
  760. "path": "/collection-protocols/D31A13388E174EA4A4A926F2A0289C59",
  761. "method": "PUT",
  762. "http": 200,
  763. "code": 200,
  764. "expected": 200,
  765. "passed": true
  766. },
  767. {
  768. "path": "/collection-protocols/D31A13388E174EA4A4A926F2A0289C59",
  769. "method": "GET",
  770. "http": 200,
  771. "code": 200,
  772. "expected": 200,
  773. "passed": true
  774. },
  775. {
  776. "path": "/payment-transfers",
  777. "method": "POST",
  778. "http": 200,
  779. "code": 200,
  780. "expected": 200,
  781. "passed": true
  782. },
  783. {
  784. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/submit-receipt-finance",
  785. "method": "POST",
  786. "http": 200,
  787. "code": 200,
  788. "expected": 200,
  789. "passed": true
  790. },
  791. {
  792. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/receipt-reject",
  793. "method": "POST",
  794. "http": 200,
  795. "code": 400,
  796. "expected": 400,
  797. "passed": true
  798. },
  799. {
  800. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/receipt-confirm",
  801. "method": "POST",
  802. "http": 200,
  803. "code": 400,
  804. "expected": 400,
  805. "passed": true
  806. },
  807. {
  808. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/submit-receipt-finance",
  809. "method": "POST",
  810. "http": 200,
  811. "code": 200,
  812. "expected": 200,
  813. "passed": true
  814. },
  815. {
  816. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/receipt-confirm",
  817. "method": "POST",
  818. "http": 200,
  819. "code": 400,
  820. "expected": 400,
  821. "passed": true
  822. },
  823. {
  824. "path": "/payment-transfers/10EA5200865B4737A201578F7106223F/receipt-reject",
  825. "method": "POST",
  826. "http": 200,
  827. "code": 400,
  828. "expected": 400,
  829. "passed": true
  830. },
  831. {
  832. "path": "/payment-transfers/receipt-confirmed?keyword=QA_FINANCE_20261016_1792081469569",
  833. "method": "GET",
  834. "http": 200,
  835. "code": 200,
  836. "expected": 200,
  837. "passed": true
  838. },
  839. {
  840. "path": "/payment-transfers/receipt-confirm?keyword=QA_FINANCE_20261016_1792081469569",
  841. "method": "GET",
  842. "http": 200,
  843. "code": 200,
  844. "expected": 200,
  845. "passed": true
  846. },
  847. {
  848. "path": "/sample-payments/C29C249E00DB4DC9B005FA9E0A507F18",
  849. "method": "GET",
  850. "http": 200,
  851. "code": 200,
  852. "expected": 200,
  853. "passed": true
  854. }
  855. ],
  856. "ui": [
  857. {
  858. "kind": "presign",
  859. "action": "reject",
  860. "transferId": "6F40A67CA22A4C91AE1D7755BF6E8E49",
  861. "code": 200,
  862. "passed": true
  863. },
  864. {
  865. "kind": "presign",
  866. "action": "confirm",
  867. "transferId": "6F40A67CA22A4C91AE1D7755BF6E8E49",
  868. "code": 200,
  869. "passed": true
  870. },
  871. {
  872. "kind": "formal",
  873. "action": "reject",
  874. "transferId": "10EA5200865B4737A201578F7106223F",
  875. "code": 200,
  876. "passed": true
  877. },
  878. {
  879. "kind": "formal",
  880. "action": "confirm",
  881. "transferId": "10EA5200865B4737A201578F7106223F",
  882. "code": 200,
  883. "passed": true
  884. }
  885. ],
  886. "errors": [],
  887. "depositTotal": 12,
  888. "paymentKeys": [
  889. "id",
  890. "collectionProtocolId",
  891. "protocolSampleId",
  892. "sampleCode",
  893. "payMode",
  894. "contractAmount",
  895. "installmentCount",
  896. "installmentIntervalMonths",
  897. "installmentStartDate",
  898. "installmentAdvanceDays",
  899. "installmentRatios",
  900. "lumpSumDeadline",
  901. "remark",
  902. "schedules",
  903. "protocolNo",
  904. "protocolStatus",
  905. "voidType",
  906. "motherName",
  907. "motherPhone",
  908. "progressStatus",
  909. "paidAmount",
  910. "dueRemainAmount",
  911. "clearedScheduleCount",
  912. "activeScheduleCount",
  913. "canConfirm"
  914. ],
  915. "passed": true,
  916. "amountVerification": {
  917. "presignConfirmed": 12,
  918. "formalConfirmed": 30,
  919. "formalRemaining": 70,
  920. "duplicateOperationsDidNotChangeTotals": true
  921. },
  922. "databaseVerification": [
  923. {
  924. "table": "biz_presign_transfer",
  925. "payStatus": "yjf",
  926. "updatedByFinanceUser": true
  927. },
  928. {
  929. "table": "biz_protocol_payment_transfer",
  930. "payStatus": "yjf",
  931. "updatedByFinanceUser": true
  932. }
  933. ],
  934. "cleanup": {
  935. "softDeleted": [
  936. {
  937. "table": "biz_collection_protocol",
  938. "count": 1,
  939. "ids": [
  940. "D31A13388E174EA4A4A926F2A0289C59"
  941. ]
  942. },
  943. {
  944. "table": "biz_presign_order",
  945. "count": 1,
  946. "ids": [
  947. "0DECE597D44A4076AF9EB3A2670E117F"
  948. ]
  949. },
  950. {
  951. "table": "biz_presign_transfer",
  952. "count": 1,
  953. "ids": [
  954. "6F40A67CA22A4C91AE1D7755BF6E8E49"
  955. ]
  956. },
  957. {
  958. "table": "biz_protocol_collection_info",
  959. "count": 1,
  960. "ids": [
  961. "603DA9E1D3B043C7A05B356CBB272411"
  962. ]
  963. },
  964. {
  965. "table": "biz_protocol_party_customer",
  966. "count": 1,
  967. "ids": [
  968. "53C7A581B7FC4D7C95A71E17605C45FB"
  969. ]
  970. },
  971. {
  972. "table": "biz_protocol_payment_schedule",
  973. "count": 1,
  974. "ids": [
  975. "CE00E945CA9046D8894527C3200A33AC"
  976. ]
  977. },
  978. {
  979. "table": "biz_protocol_payment_transfer",
  980. "count": 1,
  981. "ids": [
  982. "10EA5200865B4737A201578F7106223F"
  983. ]
  984. },
  985. {
  986. "table": "biz_protocol_sample",
  987. "count": 1,
  988. "ids": [
  989. "EF0A6721CAD74F029EC79DB9055308F1"
  990. ]
  991. },
  992. {
  993. "table": "biz_protocol_sample_payment",
  994. "count": 1,
  995. "ids": [
  996. "C29C249E00DB4DC9B005FA9E0A507F18"
  997. ]
  998. }
  999. ],
  1000. "remaining": 0,
  1001. "physicalDeletes": 0,
  1002. "api": [
  1003. {
  1004. "path": "/presign-orders",
  1005. "code": 200,
  1006. "total": 0
  1007. },
  1008. {
  1009. "path": "/collection-protocols",
  1010. "code": 200,
  1011. "total": 0
  1012. },
  1013. {
  1014. "path": "/presign-transfers/receipt-confirmed",
  1015. "code": 200,
  1016. "total": 0
  1017. },
  1018. {
  1019. "path": "/payment-transfers/receipt-confirmed",
  1020. "code": 200,
  1021. "total": 0
  1022. },
  1023. {
  1024. "path": "/sample-payments",
  1025. "code": 200,
  1026. "total": 0
  1027. }
  1028. ]
  1029. },
  1030. "sessionLoggedOut": true
  1031. }
  1032. }