Commit Graph

60 Commits

Author SHA1 Message Date
4418217b01 upgrade 29 2026-10-19 15:08:05 +08:00
d72637e472 优化order/parcel/create 2026-10-16 14:55:37 +08:00
zzh
a30958843b fix: 首次创建轨迹订单无跟踪号时用客户单号占位
All checks were successful
Build and Deploy / deploy (push) Successful in 1m1s
轨迹侧 TrackNo 必填,后续有真实跟踪号再 Upsert 更新。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:14:52 +08:00
551ac09f78 feat:升级框架总线
All checks were successful
Build and Deploy / deploy (push) Successful in 1m6s
2026-10-13 15:20:53 +08:00
zzh
32156dcfe0 fix: 轨迹订单 trackNo 仅取跟踪号,变更后重新 Upsert
All checks were successful
Build and Deploy / deploy (push) Successful in 1m1s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 19:20:09 +08:00
zzh
fa9777bd08 fix: SqlSugar 与 EF Outbox 连接冲突时回落短事务
All checks were successful
Build and Deploy / deploy (push) Successful in 59s
发布集成事件前先挂 Outbox 上下文;连接不匹配时 RequiresNew 写 Outbox,避免预报等按钮报 transaction not associated。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 19:01:15 +08:00
586a6b6834 change 2026-10-10 16:41:28 +08:00
zzh
984799fcde fix: sync-status 忽略价表明细数字 JSON 形态差异
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
LIVE 侧 DeserializeJsonObject 常把客户组价收到 long,历史 Content 里常见 133.0/0.0000;JS 结构相等但 SHA256 不等导致误报待发布。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 19:52:04 +08:00
zzh
bb8c0a906c feat: 卖价/规则发布钉 KPI 分区包,快照只存引用
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
分区明细独立版本化并缓存加载,计费包缺失严格失败;同步态接口不再拉全文。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:42:42 +08:00
zzh
f972a28d79 feat: 落地滚动会员、券发放与邀请分成奖励
All checks were successful
Build and Deploy / deploy (push) Successful in 3m50s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 17:40:24 +08:00
zzh
8d7df40bdf feat: 销售产品独立改代码,分区明细导入保存按规则去重
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 15:37:03 +08:00
zzh
14c42db752 feat: 增加 /file-storage 接口,供附件预览按对象 key 流式读取
All checks were successful
Build and Deploy / deploy (push) Successful in 1m8s
补 normalize-key 与 stream,兼容带或不带 admin 前缀的 COS 路径。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 12:21:06 +08:00
zzh
04dc9ca1ff feat: 分区明细导入模板去掉国家名称,并增加枚举值 Sheet
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
导入模板只保留国家代码;Sheet2 列出匹配维度/方式的编码与名称,导入时按代码补国家名称。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 10:58:23 +08:00
zzh
b748aa4000 fix: 收紧分区 range、进位相接与仅国家估算口径
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
进位区间改为左开右闭且禁止空洞,邮编 range 按数字/字母数字比较,查价仅国家时不再串用别国 zone。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 17:35:18 +08:00
zzh
c91d8ca0e6 test: 补齐 GB/CA 字母数字邮编前缀、精确与闭区间匹配
All checks were successful
Build and Deploy / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 16:30:18 +08:00
zzh
74a71991b2 feat: 统一价格/黑名单/偏远分区匹配,并落库 MatchDim
All checks were successful
Build and Deploy / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 16:12:09 +08:00
zzh
c9084ee5ca fix: 合并 master 后改用 IObjectStorage,对齐 fake oss
All checks were successful
Build and Deploy / deploy (push) Successful in 1m3s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 11:37:27 +08:00
zzh
e5c9364434 feat: 排货规则支持判断条件公式并完善失败溯源
All checks were successful
Build and Deploy / deploy (push) Successful in 1m49s
用 MatchCondition 中文公式筛选可用渠道后再按方案选渠;失败时落完整排货过程(阶段、公式摘要、池汇总),并兼容旧 CustomerIds。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:43:05 +08:00
zzh
6b920cc49d fix: 对齐 createOrderOne 下游预报请求体,productCode 取预报渠道 code
All checks were successful
Build and Deploy / deploy (push) Successful in 1m46s
移除 channelCode 等多余字段,改用专用 ItfxCreateOrderOneBody。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 17:43:30 +08:00
zzh
43fcb4136a feat: SkuImage 存 storage key,包裹 summary,修复批次测试
All checks were successful
Build and Deploy / deploy (push) Successful in 1m48s
避免签名 URL 超长写库;新增包裹状态汇总;OrderBatchJobCoordinator 注入 IFileStorage 后补齐单测。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 12:30:35 +08:00
zzh
cc100d40cf feat: support remote-zone factor matching and all-customer price tier
Split price/remote zone matching in billing and prefer the 全部客户 column for any price tier key.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 18:22:17 +08:00
zzh
c8107cb565 feat: add additional-service billing, conditions, and fee lifecycle hardening
Support optional services and executable billing conditions on sell/buy prices, percent-of-value and percent-of-freight formulas, place-order/inbound payable on chargeable weight, outbound receivable freeze, channel remote areas, billing simulate, and insurance-aware claims.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 18:04:28 +08:00
zzh
17fe638be6 fix: point SmallBag track upsert to ProviderService/Order/UpsertSmallBag
Align OMS TrackCenter client with the renamed UpsertSmallBag endpoint.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 21:13:03 +08:00
zzh
03f11a276f Add order attachment files table and move system labels off Order.
Persist generated/printed/downstream labels in t_order_file, drop Order.LabelUrl generate-status fields, and expose file list/upload/delete APIs with customer read-only systemLabel access.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 16:32:55 +08:00
zzh
e2443ed6f8 fix: restore country+weight price-check estimates for postcode zones.
When rules require postal codes, still quote by same-country snapshot zones as estimated; keep blocking countries not configured at all.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 11:14:12 +08:00
zzh
6f436f795f Fix downstream forecast success detection and persist provider service no.
Treat itfx body code/msg as business result, store full request/response, and write Data.serviceNo/trackNo back to the order.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 10:21:23 +08:00
zzh
89233bc3da feat: add customer marketing module (M1-M6 backend)
Implement referral, points, coupons, commission, member levels, and order integration with migration SQL and background jobs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:42:08 +08:00
zzh
8329bbc3a6 fix: unify publish snapshot API output and normalize legacy price content
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 12:03:47 +08:00
zzh
a4d7c89e44 fix: resolve track ApiCode from product and channel publish snapshots
Read SupplierCode from rules publish snapshots before falling back to live itfx metadata so UpsertSmallBag gets apiCode at order create time.
2026-07-23 10:49:19 +08:00
zzh
6314790598 feat: persist track upsert response in batch job item resultJson
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 09:28:34 +08:00
zzh
1545bc385f feat: ????????????? A0101/A0301/A0701
Fix UpsertSmallBag ApiCode/TrackNo assembly and MQ-disabled direct fallback; append lifecycle tracks on parcel create, inbound, and outbound. Redact channel fields for customer order list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 20:11:25 +08:00
zzh
3d5eaa223a feat: 小包全链路加固、待排货与运单号 IDE 前缀
查价/下单/入库/出库统一校验与计费上下文;待排货状态及可选入库排货;运单号改为 IDE+yyMMddHHmmss;补充迁移 SQL 与测试修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 19:00:55 +08:00
zzh
d791f7b251 fix: 批量任务插入后回填 JobItemId,修复 MQ 消费后仍待处理
InsertItemsAsync 批量插入后按 MessageId 回填自增 Id;消费者支持 JobItemId=0 时按 JobId+MessageId 解析子项。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 15:12:41 +08:00
zzh
bb09a51f4a refactor: 合并 OrderTask 至批量任务,移除 t_order_task 依赖
Excel 导入与任务进度统一走 t_order_batch_job;删除旧实体、仓储与 /order/task/* 接口,上传返回 jobId。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 12:36:57 +08:00
zzh
377cc525d6 feat: 增强批量任务子项反馈与客户单号持久化
统一成功/失败结果快照,补全客户单号与 Excel 行号;系统重试耗尽后标记失败避免子项长期停留在执行中;任务 API 返回 pending/running/cancelled 计数。
2026-07-22 12:00:53 +08:00
32753e7606 简化 2026-07-21 10:45:57 +08:00
a4d6400318 refactor: 订单批量任务改走 Fake.EventBus.RabbitMQ
移除自建消费者与队列拓扑,统一由事件总线发布/消费,并优化下游转发查询与配置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 17:54:29 +08:00
zzh
b679151eb1 feat: Hiprint模板转QuestPDF异步出面单,并接通打印链路
支持模板预览/字段字典、产品绑定 LabelTemplateId、订单 Pending→Ready 生成 PDF,以及 order/print、批量与仓内 printUrl。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:52:39 +08:00
zzh
c36bdb237c 重构客户编号生成规则,并修复店铺订单 summary SQL 翻译错误。
采用年码+月码+序号编码(5/6位,单月最多10000);summary 接口改用 hasStoreFilter 避免 SqlSugar 生成非法 SQL。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 17:54:29 +08:00
zzh
4f3bbd17bc feat(order): 订单批量任务 RabbitMQ 异步处理与治理 API
引入批量 Job 表、RabbitMQ 队列与消费者,支持导入/小包创建及我的订单批量操作异步化,并提供任务列表、重试失败、取消 pending 与 DLX 监控接口及测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 09:52:22 +08:00
zzh
c442833d9c feat(数据权限): 实现 P1 后端 API、有效范围合并与订单列表集成
- 新增 DataPerm 模块(配置 CRUD、模板、字段脱敏、变更/访问日志 API)及 SQL 脚本
- 订单列表/导出接入 EffectiveScopeBuilder 五维数据权限过滤
- 修复集成测试 JSON 反序列化与 RBAC 用户名解析;新增 DataPerm API 集成测试

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 10:27:37 +08:00
zzh
1c0dce9956 fix: 查价运费匹配与费用公式展示优化
修复卖价明细英文货物类型无法匹配导致 freight 为 0 的问题;查价返回算法算式、其他费用明细及中文货物属性名;运费列仅汇总 freight 费用项。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:25:33 +08:00
zzh
e642f089ba fix(track): UpsertSmallBag auth params in query, align sign helper
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 12:18:57 +08:00
zzh
545f0825f8 feat(order): 规则快照下游元数据、订单绑定字段与系统其他配置
排货发布 enrich Providers 并确认渠道时写入 t_order 下游四字段;接入 itfx 元数据客户端;系统其他配置与小包轨迹 DB 配置;手动轨迹 UpsertSmallBag 接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 11:31:15 +08:00
zzh
e7fd69b644 feat(order): 排货确认渠道与应付计费,出入库计费对齐设计
- 预报/入库后按排货规则选服务渠道并写入渠道买价应付费用

- 排货发布快照 Providers 去除 CreateTime/UpdateTime

- 出库扫描扩展 OutboundRecord 字段与 ApplyShipBillingByWaybillAsync

- 服务渠道买价发布预览;按 ChargingStage 删除应付费用

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 16:44:04 +08:00
zzh
5e26de6ff3 feat: remove ChargingTime and bill receivables by weight stage
Drop sell/buy price charging-time config; write receivable fees after forecast or receive chargeable weight, hook inbound billing, fix order list status filter, and add DB migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 16:24:53 +08:00
zzh
91ba6d5d59 fix: 计重进位快照兼容与 KPI 分区明细 Excel 导入
- 发布规则快照反序列化合并 StartValue/EndValue 至 Start/End
- 小包创建进位时快照区间无效则降级读 t_weight_rounding_info
- 新增 KPI 分区明细导入模板下载与 Excel 批量导入接口
- 补充快照进位与导入相关单元测试

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 15:29:17 +08:00
zzh
7827b4803e feat: slim rules/price publish snapshots with PostcodeRange (left,right]
Use slim DTOs without audit timestamps; migrate legacy LeftPostcode/RightPostcode on read.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 14:10:34 +08:00
zzh
d8a98fbbc8 feat: 规则发布预览接口并抽取快照组装逻辑
新增 GET publish/preview 返回含黑名单/偏远/计重/进位明细的完整 rules 快照,便于核对 Content。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 13:48:07 +08:00
zzh
2c69e8e5b8 feat: 规则快照固化计重/分区规则并修正卖价公式
规则发布写入黑名单、偏远、计重规则与进位明细;查价/下单优先读快照。修正 unit/total/continue 算价及续单价相邻档位总价基数。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 12:57:34 +08:00