huangzd1997
|
eaf457c6c0
|
task-24: java-modules.ts 改为纯 re-export 聚合器,upload helpers 移至 upload.ts
|
2026-08-31 20:00:45 +08:00 |
|
huangzd1997
|
21c92afa7a
|
task-23: 拆分 image-video / brand / permission / digital-human 模块 API 至 types/modules/,旧文件转 re-export 存根
|
2026-08-31 19:57:38 +08:00 |
|
huangzd1997
|
8f119198fd
|
task-22: 拆分 collect-data 模块 API 至 types/modules/collect-data.ts,java-modules.ts re-export
|
2026-08-31 19:50:53 +08:00 |
|
huangzd1997
|
79e3513056
|
task-21: 拆分 withdraw / patrol-delete 模块 API 至 types/modules/withdraw.ts,java-modules.ts re-export
|
2026-08-31 19:48:49 +08:00 |
|
huangzd1997
|
71b482df6d
|
task-20: 拆分 shop-data-crawl / query-asin 模块 API 至 types/modules/query-asin.ts,java-modules.ts re-export
|
2026-08-31 19:45:59 +08:00 |
|
huangzd1997
|
be02833b11
|
task-19: 拆分 shop-match / product-risk 模块 API 至 types/modules/shop-match.ts,java-modules.ts re-export
- product-risk 15 函数 + shop-match 17 函数 + 全套类型(含 ShopMatch 对 ProductRisk 的 type alias)
- 保留模块的 PatrolDelete/QueryAsin/Withdraw alias 通过 import type 兜底引用
- QueryAsinCountryAsins 内联定义避免跨模块循环依赖
- 10 个测试:双模块 CRUD/preference/match/task 系列/progressBatch 双端/dashboard/skip-asins/download/export compat
|
2026-08-31 19:42:18 +08:00 |
|
huangzd1997
|
173ea3b074
|
task-18: 拆分 price-track 模块 API 至 types/modules/price-track.ts,java-modules.ts re-export
- candidates/preference/matchShops/createTask/tasksBatch/progressBatch/loopRun 系列/skipAsin 系列/dispatchFailed/pendingShopResult/dashboard/history/delete/download 共 23 函数
- price-track 全套类型(含 LoopRun/ExecutionMode/SkipPriceAsin 类型)随模块迁移
- 12 个测试:CRUD/preference/match/create/batch/loopRun/progressBatch/skipAsin 系列/dashboard/download/unwrap/export compat
|
2026-08-31 19:39:00 +08:00 |
|
huangzd1997
|
f8dad27957
|
task-17: 拆分 delete-brand 模块 API 至 types/modules/delete-brand.ts,java-modules.ts re-export
- runDeleteBrand/getDeleteBrandHistory/deleteDeleteBrandHistory/getDeleteBrandTaskDetail/getDeleteBrandTaskDetails/getDeleteBrandTaskDownloadUrl/getDeleteBrandResultDownloadUrl/submitDeleteBrandResult/getDeleteBrandTaskProgress
- delete-brand 全套类型(含 MatchStatus union)随模块迁移;progressBatch 内联缓存+超时实现
- 10 个测试:run URL/超时/history/delete/taskDetail/taskDetails/download×2/submitResult 请求体/progressBatch/export compat
|
2026-08-31 19:37:19 +08:00 |
|
huangzd1997
|
b27a686998
|
task-16: 拆分 appearance-patent 模块 API 至 types/modules/appearance-patent.ts,java-modules.ts re-export
- parseAppearancePatent/getAppearancePatentParsedPayload/getAppearancePatentQueuePayload/getAppearancePatentDashboard/getAppearancePatentHistory/getAppearancePatentTaskProgressBatch/activateAppearancePatentTask/deleteAppearancePatentTask/deleteAppearancePatentHistory/getAppearancePatentResultDownloadUrl
- appearance-patent 全套类型随模块迁移;progressBatch 内联缓存+超时实现
- 9 个测试:parse/parsedPayload/queuePayload/progressBatch/activate/dashboard/history/delete/download/export compat
|
2026-08-31 19:35:59 +08:00 |
|
huangzd1997
|
d7104d35da
|
task-15: 拆分 similar-asin 模块 API 至 types/modules/similar-asin.ts,java-modules.ts re-export
- parseSimilarAsin/getSimilarAsinDashboard/getSimilarAsinHistory/getSimilarAsinTaskProgressBatch/activateSimilarAsinTask/deleteSimilarAsinTask/deleteSimilarAsinHistory/getSimilarAsinResultDownloadUrl
- similar-asin 全套类型随模块迁移;progressBatch 内联缓存+超时实现(与 java-modules 同构)
- 9 个测试:parse URL/payload/默认值/dashboard/history/progressBatch 去重+超时/activate/delete/download/export compat
|
2026-08-31 19:34:56 +08:00 |
|
huangzd1997
|
b93d338eac
|
task-14: 拆分 publish 模块 API 至 types/modules/publish.ts,java-modules.ts re-export
- parsePublish/activatePublishTask/activatePublishFile/getPublishItemsPage/getPublishItemsPageUrl/getPublishTaskProgressBatch/submitPublishTaskResult/getPublishDashboard/getPublishHistory/deletePublishTask
- Publish 全套类型随模块迁移;progressBatch 保留 task_ids 请求体并应用进度超时
- 10 个测试:parse URL/超时/activate/itemsPage 参数/itemsPageUrl/progressBatch 去重+超时/submitResult 请求体/dashboard/delete/export compat
|
2026-08-31 19:33:16 +08:00 |
|
huangzd1997
|
fdbf681292
|
task-13: 拆分 convert 模块 API 至 types/modules/convert.ts,java-modules.ts re-export
- getExcelInfo/runConvert/getConvertHistory/deleteConvertHistory/getConvertResultDownloadUrl/getConvertTemplates/importConvertTemplate/setDefaultConvertTemplate/deleteConvertTemplate
- 模板相关类型 ConvertTemplateVo/ConvertTemplateImportRequest/ExcelInfoVo 随模块迁移
- 9 个测试:URL/method/payload/history/模板系列/签名/export compat/unwrap
|
2026-08-31 19:31:10 +08:00 |
|
huangzd1997
|
a98efb00f7
|
task-12: 拆分 split 模块 API 至 types/modules/split.ts,java-modules.ts re-export
|
2026-08-31 19:29:01 +08:00 |
|
huangzd1997
|
a4ca9d5a19
|
task-11: 拆分 dedupe 模块 API 至 types/modules/dedupe.ts(callJava+buildJavaUrl 化),java-modules.ts 改 re-export 保持旧 import 兼容
|
2026-08-31 19:27:39 +08:00 |
|
huangzd1997
|
22422bc9d2
|
task-10: types/task.ts 共享类型(TaskStatus/ResultFilePhase/PageResult/TaskProgressBatchVo)
|
2026-08-31 19:24:26 +08:00 |
|
huangzd1997
|
9349f8ff33
|
task-9: 进度类请求默认 10s 超时(progressTimeoutMs 可配置覆盖,postTaskProgressBatch 接入)
|
2026-08-31 19:23:13 +08:00 |
|
huangzd1997
|
980e6e91e0
|
task-8: callJava AbortController 透传契约测试(发送前/进行中中止、signal 透传、多调用独立)
|
2026-08-31 19:21:56 +08:00 |
|
huangzd1997
|
35de13f7f1
|
task-7: buildDownloadUrl()/resolveDownloadUrl() 下载 URL 统一构造(user_id 追加与去重、fresh 优先)
|
2026-08-31 19:20:56 +08:00 |
|
huangzd1997
|
1e1f533a24
|
task-6: isTerminalStatus() 终态判定(默认 SUCCESS/FAILED,extras 扩展且归一化,空值非终态)
|
2026-08-31 19:20:17 +08:00 |
|
huangzd1997
|
432b2c52b2
|
task-5: normalizeStatus() 状态归一(大写化、连字符/空格转下划线、空值安全)
|
2026-08-31 19:19:33 +08:00 |
|
huangzd1997
|
9f58350b4a
|
task-4: extractErrorMessage 命名导出并覆盖 error/message/msg 三字段(空白跳过、优先级 error>message>msg)
|
2026-08-31 19:18:57 +08:00 |
|
huangzd1997
|
6e227aa377
|
task-3: callJava() 统一响应解包(JavaApiResponse/Legacy 兼容、success=false 抛错);开启 allowImportingTsExtensions 支持 node --test
|
2026-08-31 19:18:21 +08:00 |
|
huangzd1997
|
f63ab837f5
|
task-2: buildJavaUrl() 统一 URL 构造(query 编码、尾斜杠规范化)
|
2026-08-31 19:16:19 +08:00 |
|
huangzd1997
|
d1870f1382
|
task-1: 新增 API_ENDPOINTS 路径常量表(frontend-api-adapter)
|
2026-08-31 19:15:10 +08:00 |
|
huangzd1997
|
c8cd851b2f
|
feat: 外观专利改直连 LLM(DeepSeek/Gemini)、无效ASIN菜单更名 BRAND_DB、紫鸟店铺索引场景化
Build Backend JAR / build (push) Has been cancelled
- AppearancePatent:Coze 工作流切换为 llm-host 直连模型(title/appearance 双模型、行并发、重试),配置键迁移并保留旧环境变量兜底
- InvalidAsinDataMapper 补充按值+品牌唯一键查询
- ZiniaoShopIndexService 新增店铺分类/索引场景
- V98:无效ASIN菜单 rename 补充 BRAND_DB;docs 架构优化规划
- 配套单测更新
|
2026-08-31 17:04:59 +08:00 |
|
huangzd1997
|
14a41e64f1
|
feat: SimilarASIN 直连 LLM 通道(Gemini/DeepSeek 多模型)替代 Coze 工作流
- SimilarAsinLlmClient/Service:分类、符合性、图片比对三阶段直连 LLM
- PuzzleImageMerger:拼图合并用于图片比对
- direct-llm-enabled 开关 + llm-host/api-key/模型/超时/并发配置(默认开)
- LlmGatewayTlsProbe、SimilarAsinLlmLocalVerify 为本地验证工具
|
2026-08-31 17:02:53 +08:00 |
|
huangzd1997
|
7f4737c800
|
feat: 店铺密码检测任务(后台发起→客户端领取→紫鸟真实登录判定→回传结果)
- 新增 biz_shop_credential_check 表(V99)与 ShopCredentialCheck 全链路
- Controller /api/admin/shop-credential-checks(create/poll/report/latest,X-Internal-Token 鉴权)
- ShopManageService 列表附带 latestCheck(每店铺最近一次检测结果)
- 客户端通过 poll 领取(60s 轮询、原子置 RUNNING),报告 SUCCESS/FAILED/OTP_REQUIRED/NO_NEED_LOGIN/ERROR
|
2026-08-31 17:02:49 +08:00 |
|
huangzd1997
|
26f4bb3f25
|
后台菜单重构:菜单类型分组排序(软件在前/后台在后)、新增同类型末尾排序;任务中心分组移除,视频任务记录归入记录与版本、店铺数据记录归入店铺管理;界面名词优化(菜单权限配置/去重数据汇总/无效ASIN数据/视频任务记录/店铺数据记录/生成记录)
Build Backend JAR / build (push) Has been cancelled
|
2026-08-31 01:48:05 +08:00 |
|
huangzd1997
|
0408c9752e
|
fix: 菜单排序 app 分组优先于 admin,sort_order 按 menuType 作用域解析
Build Backend JAR / build (push) Has been cancelled
- menuComparator 增加 menuType 排序维度(app → admin → 其他)
- resolveSortOrder 查询限定同 menuType,避免跨类型尾部误判
- 抽出 loadRawMenus 保持原始 SQL 与比较器语义一致
|
2026-08-31 01:21:45 +08:00 |
|
huangzd1997
|
483374744a
|
fix: Spring 多构造器类显式 @Autowired 标注 + V95 迁移兼容 MySQL 8.4
Build Backend JAR / build (push) Has been cancelled
- CapacityPlanService / ExternalCallMetricsRecorder / ZiniaoClientImpl:
双构造器(生产 + 测试入口)导致 Spring 6 不自动推断构造器注入,
启动报 'No default constructor found';生产构造器显式加 @Autowired
- V95:shop_key 列 V85 建表时已有,原 ADD COLUMN shop_key 会报
duplicate column;MySQL 8.4 不支持 ADD COLUMN IF NOT EXISTS,改
information_schema 动态 SQL;shop_key 缩到 VARCHAR(255) 以容纳
(shop_key, business_date) 唯一键(1000 在 utf8mb4 下超 3072 字节
索引上限);删除多余行改为单表 DELETE
|
2026-08-31 01:09:19 +08:00 |
|
huangzd1997
|
19ddfb9c5a
|
chore: 移除误入库的本地规划/进度文件 (docs/plans, check_progress.py, progress.json),gitignore 兜底
Build Backend JAR / build (push) Has been cancelled
|
2026-08-31 00:37:31 +08:00 |
|
huangzd1997
|
0f09cbec74
|
chore: 移除误入库的本地规划文档 docs/plans,加入 gitignore
|
2026-08-31 00:21:02 +08:00 |
|
huangzd1997
|
97ed407c32
|
chore: 移除误提交的 vite dev server 日志
Build Backend JAR / build (push) Has been cancelled
|
2026-08-30 23:58:07 +08:00 |
|
huangzd1997
|
4a75f7b96b
|
progress 100
Build Backend JAR / build (push) Has been cancelled
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
c7fb126761
|
progress 99
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
a4607b41fd
|
progress 98
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
a75d8d38bf
|
progress 97
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
07ecaf355e
|
progress 96
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
7c3e5f399a
|
progress 95
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
d705fd7a25
|
progress 94
|
2026-08-30 23:40:35 +08:00 |
|
huangzd1997
|
fc7dfaaa5c
|
progress 93
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
4143fb5fbf
|
progress 92
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
f725c358a1
|
progress 91
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
8ea662dd5a
|
progress 90
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
830a7ccbef
|
progress 89
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
60bcd390a7
|
progress 88
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
b44a1a2cda
|
progress 87
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
ee6541ae25
|
progress 86
|
2026-08-30 23:40:34 +08:00 |
|
huangzd1997
|
e49466ffd3
|
progress 85
|
2026-08-30 23:40:33 +08:00 |
|
huangzd1997
|
8fd574c472
|
progress 84
|
2026-08-30 23:40:33 +08:00 |
|