Commit Graph

245 Commits

Author SHA1 Message Date
zzh
654a65aba4 feat: workplace claimed stats and receiver address parse improvements
Add claimed count to workplace stats; refine receiver address parse DTOs/helpers and AI skill seed wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-09 19:06:49 +08:00
zzh
7e442180cd fix: avoid SqlSugar invalid SQL from null/HasValue KB filters
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 16:53:09 +08:00
zzh
95940331ce feat: sync workplace spend stats and consolidate schema scripts into db.sql
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 16:26:22 +08:00
zzh
9a33eb00a5 feat: add knowledge base M1 APIs and workplace spend trend 2026-08-04 13:54:10 +08:00
zzh
b2355104cf feat: 完善揽收单与问题件处理能力
补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 11:49:23 +08:00
zzh
c02cb21049 feat: add pickup-order model and door-pickup linking
Support 1 pickup to N logistics orders with create/pay/schedule APIs, parcel inboundMethod auto-attach, plus allocation-trace and inbound-billing updates already in tree.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 12:22:30 +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
592054f062 feat: extract global AI service and persist sales-product publish AI reports
Move provider/chat APIs from /xhs/ai to /ai, rename t_ai_provider, and require adopted AI analysis on price publish.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 15:56:40 +08:00
d30375ba49 fix:auth 2026-08-01 09:18:02 +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
a55668ec33 feat: 订单列表表头筛选、远程排序与默认90天时间窗护栏
支持 filters[]/whitelist 排序,导出行数与批量 IN 上限,无时间窗时兜底近90天。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 11:25:31 +08:00
zzh
238eb5d817 feat: 新增收件地址 AI 解析接口
支持 /order/receiver/parse-address,供 PC/H5 下单地址解析使用。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 20:09:42 +08:00
zzh
644da097bf feat: add WeChat OAuth login API for H5 one-tap authorize
POST /rbac/auth/wx-oauth-login exchanges code for openid and issues customer token.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 15:56:45 +08:00
zzh
206dc3ef3c feat: ??????????????????????????
?????????????????????????????????? SQL?

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 15:16:55 +08:00
zzh
e0216e9692 feat: 销售产品贸易条款与查价分组展示,并修复用户资料 SQL 空值写入
查价返回 DDP/DDU 与产品分组;用户更新微信二维码时避免 EF 使用 DBNull。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:48:36 +08:00
zzh
f2f4cbf35b fix: 无邮箱注册改用占位邮箱,避免空串撞 uk_user_email
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 18:28:33 +08:00
zzh
0d578059ec fix: treat null/undefined contact strings as empty
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 17:28:37 +08:00
zzh
7fac6da1a4 fix: AI Agent 对话增加 /mcp/agent/chat,避免 OMS 反代漏配 /ai
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 12:41:50 +08:00
zzh
f72356f3f2 fix: 优化 AI Agent 查价/查轨迹提示,避免空回复与误要起运地
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 12:26:32 +08:00
zzh
7c410b1625 feat: 新增轻量 MCP 工具与 AI Agent,并限制 token 滥用
提供查价格/对客说明/查轨迹工具与管理接口;扩展 LLM function calling;按用户 Redis 限流并压缩上下文与工具结果。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 12:03:45 +08:00
zzh
53c986c746 fix: 修复智谱 AI 对话 URL,并合并自动触发预报时机
XhsLlmClient 对 /v4 基址不再错误拼接 /v1;自动触发「预报」归一为「下单」并补充迁移 SQL;下单失败支持存草稿相关入参与计费回滚调整。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 20:54:28 +08:00
zzh
41f4c58e99 Improve draft predeclare billing and structured create-fail payload.
Re-run forecast billing on draft pre-declare, and expose draftSaved/orderId/serviceNo via ErrorCode/Data/details for clearer place-order failure UX.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:30:27 +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
c8d35a8ef5 Add Swagger summaries for Fake.Rbac menu/org/role/permission APIs.
Cover the 29 RBAC endpoints that ship without XML comments so Swagger UI shows Chinese titles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 10:33:48 +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
fffecb5964 Fix downstream forecast: pass auth + cache itfx app secret
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:08:09 +08:00
zzh
28d14034bd fix: exclude domestic pickup products from price check
When destination country has no matching zone, stop using all price zones as fallback; also hide sales products in the domestic pickup group from price-check results and shipping options.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 16:00:58 +08:00
zzh
69d234c705 feat: simplify WeChat register and require contact before order
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 13:07:29 +08:00
zzh
5003cacd79 fix: repair marketing compile errors and harden deploy CI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:51:13 +08:00
zzh
f53571aa48 fix: optimize WeChat scan-login reply copy for H5 and PC
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:03:38 +08:00
zzh
c5fb4c7e58 feat: add employee profile, IDE employee nos, and marketing invite/coupon fixes
Introduce t_employee linked to RBAC users, switch employee numbers to IDE001+, and keep invite bind/newcomer coupon backend changes. Drop retired sql/migrate and seed scripts in favor of db.sql.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 23:18:57 +08:00
zzh
71fbbf54c0 docs: add Chinese XML summaries for Channel/Order/RBAC Swagger APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 11:29:21 +08:00
zzh
944b7f2c80 fix: restore UTF-8 Chinese summaries for marketing swagger names
Replace corrupted ??? XML comments in commission/referral admin APIs so OMS-Marketing operation names render correctly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 11:25:15 +08:00
zzh
60cb2c5e0f fix: document marketing APIs and hide Order batch helpers from Swagger
Add Chinese XML summaries for OMS-Marketing endpoints, and mark OrderService batch worker methods internal to stop OMS-Order swagger generation conflicts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 11:09:55 +08:00
zzh
8f043599ec feat: enrich marketing admin APIs and add seed for customer 9/8
Add referrer-list aggregation, customer-code filters, and idempotent marketing seed data with customer 9 as referrer and 8 as referee.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 10:44:26 +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
e2dca20966 fix: strip audit fields from channel price publish snapshots
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 11:55:21 +08:00
zzh
ecfaad3824 fix: align service channel publish snapshot JSON with preview API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 11:25:35 +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
15785cdf2b feat: enrich publish snapshots with downstream names and use API provider code for track ApiCode
Persist group/app/API provider display names in sales product and service channel rules publish snapshots, and resolve trajectory ApiCode from the service channel API provider code instead of forecast code.
2026-07-23 10:23:56 +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
c2d854b83f fix: 批量任务详情查询不再写库,修复 ConcurrencyStamp 冲突
- MapJobOutputAsync 改为只读聚合,GET /jobs/{id} 不再 UpdateJob
- /jobs/{id}/items 仅校验存在,避免并行查询双写
- 重写 migrate_rename_warehouse_C_to_c.sql,支持 Navicat 与大小写两步改名

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 16:51:13 +08:00
zzh
a1daea6b35 refactor: 仓储表 C_* 改为 c_*,优化专线小包批量模板
- 仓储实体与 db.sql 统一为小写 c_ 前缀,新增 migrate_rename_warehouse_C_to_c.sql
- 专线小包批量模板精简版/标准版双模板,Excel 必填标红与发件地址上传参数

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 16:18:59 +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
ab63920e85 chore: 触发 CI 重新构建发布,部署 OrderTask 合并后的上传接口
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 12:55:08 +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
zzh
fc92e2903b fix: 字典列表分页改用 RepositoryPageHelper 避免 Where 丢失
Fake GetPagedListAsync 带 sorting 时 total 正确但 items 返回全表;dictType 筛选已生效但被该 bug 掩盖。
2026-07-22 11:06:21 +08:00
zzh
793085607a refactor: 字节枚举整型落库并统一发布快照 Status
发布记录 Status 改为 EsSnapshotStatus(TINYINT),计费启用判断改用 EnableStatus;db.sql 与 migrate_enum_int_comments.sql 补全枚举字段注释及旧库迁移。
2026-07-22 10:22:54 +08:00
zzh
dd2abab42b fix: 字典类型项数统计按 trim 后 DictType 分组汇总
避免类型编码首尾空格导致左侧菜单 itemCount 匹配失败。
2026-07-22 09:25:00 +08:00
zzh
5a2d56986a fix: 字典创建支持恢复软删项并完善类型迁移脚本
批量导入时若同类型编码曾被软删,改为恢复并更新而非插入,避免唯一键冲突 500;迁移脚本补全预置类型中文名并支持覆盖 Remark/TypeSort。
2026-07-21 18:49:59 +08:00
zzh
93cf065165 feat: 新增字典类型元数据表与类型备注 API
支持字典类型备注维护及左侧类型列表查询,创建字典项时自动补齐类型元数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 17:48:42 +08:00
zzh
dcf856568e fix: 批量任务系统失败重新抛异常以触发 EventBus 重试
Restore InvalidOperationException on system failures after EventBus refactor; use OrderTaskStatusCodes when syncing import tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 17:38:03 +08:00
zzh
365f9d8a94 fix: 数值枚举从 1 起编并统一 OrderTaskStatus 常量
Reserve 0 as None for byte enums and align customer group labels with dict codes; add OrderTaskStatusCodes for import task status strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 17:37:54 +08:00
32753e7606 简化 2026-07-21 10:45:57 +08:00
98664aad3b fix 2026-07-21 09:12:46 +08:00
d49efcb341 upgrade 2026-07-20 20:48:15 +08:00
a4d6400318 refactor: 订单批量任务改走 Fake.EventBus.RabbitMQ
移除自建消费者与队列拓扑,统一由事件总线发布/消费,并优化下游转发查询与配置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 17:54:29 +08:00
zzh
188aed1ee6 feat: 店铺订单创建物流/代发,并补齐收件人字段与种子数据
- 新增 batch-create-logistics / batch-create-fulfill:按平台行建物流单并回写 LinkedOrderId,代发支持绑定冻结与失败回滚
- ParcelBuilder 支持无 SKU 映射的平台行申报;批量创建可指定 OrderSource=platform
- 库存绑定候选接口支持 orderId=0 草稿选仓
- 店铺订单增加结构化收件人字段(db.sql + 迁移脚本),拉单回填;补充 customer9 店铺/揽收种子与 ConcurrencyStamp 修复脚本

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 22:33:55 +08:00
zzh
2b9c677fa7 perf: 登录单次快照、refresh 去 UserInfo,并失效角色菜单缓存
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:39:29 +08:00
zzh
b0813ea12d fix: 登录 UserInfo 构建改为串行查询,避免 DbContext 并发异常
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:26:47 +08:00
zzh
2188a3ce6e perf: 登录带回 userInfo,并加速 get-current-user
登录/刷令牌返回完整用户信息(含 menus);用户资料与权限并行查询并缓存 3 分钟,减少登录后二次慢请求。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:13:24 +08:00
zzh
e1f40ce36c fix: 显式注册面单 PDF 服务与 ILabelPdfRenderer,修复打印激活失败
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 19:19:44 +08:00
zzh
8929ebc5b3 refactor: 面单字段字典去掉发件人组,单号组按标题字数排序
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 19:10:41 +08:00
zzh
7bc7cdf417 fix: 批量队列消费者串行处理,避免 channel 并发导致消息长期 Unacked
AsyncEventingBasicConsumer + Prefetch>1 时 IModel 非线程安全,并发 Ack 易卡死;改为同队列串行消费并加固 Ack/Nack。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 18:22:26 +08:00
2d229bbedd fix 2026-07-18 17:27:34 +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
9957b79b19 feat: 打印面单扫码核对 lookup(运单/客户单/跟踪号/包裹/SKU)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 12:53:35 +08:00
zzh
fd9f57bac1 feat: SKU/入库预报返回客户信息,库存出入库历史与可用冻结量
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 12:07:07 +08:00
zzh
f4ddd993b9 feat: 管理端列表返回客户名称/编码,并加固绑定与客户会话
订单/包裹/库存/店铺授权/店铺订单列表补充 customerName、customerCode;库存绑定按会话客户解析并兼容可用量;修复客户 mapId 识别与 ConcurrencyStamp 迁移。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:10:53 +08:00
zzh
dc3071c90d feat: 物流单绑定包裹/库存(冻结可用库存)
支持我的订单对已创建物流单绑定仓储资源:新增 t_order_stock_bind 与 stock-bind API,库存/包裹增加 FrozenQty、AvailableQty。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 10:32:44 +08:00
039cbba3d1 feat:fake 2026-07-17 17:43:13 +08:00
zzh
fc823ed24e feat: 工作台统计补充店铺数量与待处理店铺订单,包裹单号前缀改为 ID
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 14:17:00 +08:00
zzh
a9338a4b25 feat: 揽收订单与列表支持管理端按客户筛选
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:41:20 +08:00
zzh
1cf55b2669 fix: 地址簿管理端可查全部,修复 SqlSugar 条件翻译
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:30:30 +08:00
zzh
9a48ec1a63 feat: 店铺订单拉单同步、RTS 与重新获取面单
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:38:06 +08:00
zzh
c2c03f63e3 feat: 店铺平台 OAuth 配置迁入其他配置页
运行时优先读 t_system_other_config,修正管理端客户提示文案,并提供配置种子 SQL。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:03:02 +08:00
zzh
674cbdd011 feat: 店铺真授权跳转与地址类型(发件/退件/收件)
对接 Lazada/Shopee/TikTok/Temu OAuth 与回调落库,移除手工店;地址管理支持按类型默认与揽收校验。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 10:25:13 +08:00
zzh
341a318f0b feat: 客户发件地址与揽收订单,复用小包创建全链路。
新增地址簿 CRUD、pickup/create、订单 orderSource 筛选;附带包裹商品图片上传接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 18:58:48 +08:00
zzh
4b7c396d92 包裹明细增加商品图片 ImageUrl,支持采集落库与列表返回。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 14:32:55 +08:00
zzh
d73c98b44e 修复列表分页丢Where:改用GetListAsync分页,状态筛选生效。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 13:45:08 +08:00
zzh
3d0db418d2 修复列表状态Tab将all误当状态筛选,并完善插件草稿TTL与客户上下文。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 12:46:05 +08:00
zzh
f0d0659750 包裹明细增加 AttributeText 属性字段。
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 20:10:39 +08:00
zzh
d0df7e864c 新增快递到仓 API 与表结构,并支持 SKU 图片上传。
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 20:06:47 +08:00
zzh
600ab37594 统一 OMS DDL 到 db.sql,并新增采集插件草稿 API。
清理 sql/ 增量与种子脚本;E2E 不再依赖种子;PluginBrowserService 对接哪哪发「我的包裹」采集。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 19:44:09 +08:00
zzh
7e90112cbf 完善仓储客户上下文解析(未传客户查全部),并补充库位与确认收货权限种子。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 11:12:41 +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
86a978b557 修复仓储与店铺订单列表 SqlSugar 可空筛选条件 SQL 翻译错误。
列表 predicate 改用 hasWarehouseFilter/hasStoreFilter 等本地变量,避免 ORM 生成非法 SQL。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 17:15:06 +08:00
zzh
c2d7b5c854 修复店铺列表 ExpirationFilter 嵌套三元导致 SqlSugar IIF 翻译失败。
按 expired/within7days/normal 分支构造独立 predicate,与充值等模块写法对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 17:10:31 +08:00
zzh
fb61fbb072 修复仓储/店铺列表 ConcurrencyStamp 缺失与可空客户ID的 SQL 翻译错误。
补迁移脚本为 C_* 与 t_sales_* 表增加 ConcurrencyStamp;列表查询改用 hasCustomerFilter 模式避免 ORM 生成非法 SQL。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 16:48:05 +08:00
zzh
36fb191f94 修复管理端访问仓储与店铺接口时客户ID必填报错。
列表/汇总/详情改用 ResolveListCustomerIdAsync,管理端未传 customerId 时可查询全部数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 16:14:44 +08:00
zzh
8000162f02 docs: 仓储与店铺接口补充 Swagger 中文命名
为 WarehouseService、PlatformStoreService、PlatformStoreOrderService 全部新增接口添加 XML 注释,便于 Swagger 中文展示与前端对接。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 15:46:32 +08:00
zzh
a383ee6f32 feat: 实现仓储模块与平台店铺订单后端能力
新增仓储领域实体、仓储库、WarehouseService 全套接口及数据库迁移脚本;
实现店铺授权、店铺订单服务与库存匹配创建小包单;补充仓储模块 RBAC 权限种子数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 15:19:35 +08:00
zzh
18b53de20c fix: 批量邮件 SMTP 改用 MailKit 修复 SSL 465 连接
替换 System.Net.Mail,正确支持隐式 SSL 与 STARTTLS,解决 Syntax error 测试连接失败。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 11:59:01 +08:00
zzh
8ac7e6487c feat: 优化公告通知接收人过滤与客户删除同步
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 11:22:21 +08:00