No Branch/Tag Specified
main
fix/352-syb-source-created
fix/348-reveal-swipe
feat/340-syb-excluded-products
fix/351-inner-code-apply-selection
fix/350-match-layout
fix/350-inner-code-matching
feat/349-batch-return-use
feat/347-batch-return-cancel
feat/345-yeeke-reship
fix/346-root-serves-spa
fix/344-inner-code-stall-match
fix/343-syb-writeback-session
feat/339-syb-page-size
feat/338-return-match
feat/337-yeeke-admin-ui
feat/336-yeeke-return-sync
fix/335-bottom-submit-node
fix/334-spec-probe-top-swipe
fix/333-purchaser-device-owner
fix/331-spec-panel-recognition
fix/330-syb-writeback-session
feat/327-syb-writeback-filter
feat/326-order-information
fix/325-order-result
feat/316-chrome-order-backfill
fix/307-backfill-entry
feat/305-syb-order-writeback
feat/306-order-paid-amount
release/283
fix/283-purchase-mapping-consistency
fix/230-horizontal-spec-selection
feat/263-spec-rematch
fix/262-purchase-handoff
fix/260-261-purchase-readiness
fix/259-partial-collection-link
feat/258-one-click-replace
fix/257-color-normalized-match
fix/256-collection-single-dimension
fix/255-current-page-reidentify
feat/253-one-click-link
fix/254-match-loading
fix/251-syb-spec-candidates
feat/250-continuous-collection
fix/249-local-purchase-diagnostics
fix/248-bottom-submit
fix/247-short-address-panel
fix/246-address-return-panel
fix/245-purchase-failure-diagnostics
fix/244-selected-card-duplicates
fix/243-spec-entry-recovery
feat/242-agent-order-backfill
feat/241-order-backfill-endpoint
fix/239-syb-partial-sync
fix/238-spec-panel-preswipe
feat/237-client-api-keys
feat/236-purchaser-syb-sync
fix/235-syb-pagination-overlap
release/234-integrated
fix/229-address-entry-dedup
fix/228-selection-proof-panel-transition
fix/227-address-panel-return
fix/226-reopen-pdd-on-manual-retry
fix/225-in-place-purchase-retry
fix/224-final-spec-revalidation
fix/223-probed-confirmed-mapping
chore/221-devharness-sync
feat/218-purchase-result-bubble
fix/217-agent-retry-current-spec
fix/216-syb-spec-role-order
feat/215-mandatory-live-spec-probe
feat/214-verified-purchase-actions
fix/212-syb-sync-shop-snapshot
feat/211-spec-entry-ready-wait
feat/210-order-result-payment-transition
feat/209-pdd-bottom-spec-entry
feat/200-ai-match-result-purchase-ready
feat/199-job-execution-logs
feat/198-syb-ai-parse
feat/195-scheduled-spec-auto-match
fix/197-ai-write-timeout
feat/190-syb-inline-correction
fix/193-address-entry-reveal
feat/194-one-click-spec-match
fix/192-order-result-scroll
No results found.
Labels
No items
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: OPC/goauto#353
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
来源与当前事实(2026-09-30)
用户提出:SYB 商品页目前店铺只能选一个,希望能同时选择多个店铺。来源为本次对话的脱敏摘要;未授权实施或发布。
代码核对基线:main
bf06b2d及 #352 分支(#352 尚未合并)。web/src/views/goauto/syb-products/index.vue当前以el-autocomplete保存单个query.shopName,可选择或自由输入;listSybProducts只发送一个shopName。Serversybimport.List对此参数做shop_name LIKE %关键词%,与日期、订单号、解析状态、处理阶段及采购类型组合。店铺候选仅首次拉取listSybShops(page=1,pageSize=200),超过 200 个时不完整;已停用店铺仍可出现在候选中。#74 确认了原单店铺名称包含查询语义。Gitea MCP 本会话不可用,依仓库规则回退已配置 Gitea API 建单;无凭据输出。
目标与非目标
建议方案(待设计审核)
shopNames多值查询参数(使用重复参数键/数组编码,不用逗号拼接店铺名称),去空、去重、限定合理数量与单项长度,使用参数化shop_name IN (...)精确匹配。保留原shopName的单关键词包含查询作为旧客户端兼容;新 Web 多选只发送shopNames。两者同时提供时拒绝歧义或明确优先级,并写入共享 API 契约。sybimport/service.go,串行整合,不并行合并冲突。设计证据与门禁
现有单行筛选栏与 Element Plus 多选组件为复用依据。实施前提交一张轻量标注截图/低保真图,涵盖未选、单选、多选折叠、搜索无结果、加载/失败、停用店铺及窄屏状态;记录审核链接/版本/确认人/时间/覆盖范围。用户确认交互与模糊查询保留方式后方可写生产代码。本单无新独立页面,不要求完整 QuantUX 原型。
验收与验证
shopName模糊查询接口保持可用;多值非法/过量输入返回明确 422,不产生拼接 SQL;候选列表超过 200 条仍可找到后面的店铺。交付单元、风险与文档
Web + Server + 共享 API 契约;无 Android/DB。无高风险数据操作,发布线上仍须单独授权。接口参数与店铺筛选业务规则属于长期事实:实施后先更新线上 Wiki,回读 revision,再按仓库流程同步镜像和检查;建单阶段不更新 Wiki。工单保持待设计确认,之后实施、验证、提交、推送并待验收。