1e88f08247
fix: 指引菜单 PermissionCode 与轨迹一致使用 Order/Channel
...
便于 RBAC 权限过滤与角色菜单展示。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 15:34:49 +08:00
ce53385590
feat: 订单与渠道新手指引 RBAC 菜单种子
...
补充 /order/guide、/channel/guide 菜单项,便于侧边栏展示与动态路由下发。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 15:28:55 +08:00
27e7ade388
feat: 销售产品对客说明字段与保存接口
...
支持 CustomerGuideMarkdown 存储、迁移脚本及 customer-guide/save API,完善销售产品详情输出。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 15:17:36 +08:00
3818ce7876
feat: RBAC用户扩展、专属顾问接口及仓库字段清理
...
接管用户 API 支持电话/工号/微信号/微信二维码,新增客户专属顾问查询,并移除仓库客服电话与微信相关字段。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 11:23:54 +08:00
d8752959e7
feat(order): 强化小包下单规则并暴露预报失败原因
...
客户单号必填且同客户唯一,运单号统一 NE 前缀自动生成;模板导入不再接受跟踪号/运单号;列表与导出返回预报失败原因字段。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 09:44:12 +08:00
7d5bc2408f
fix(order): 批量导入回写订单 ID 并增强 Excel 表头映射匹配
...
导入行成功后写入 batch job 的 orderId/serviceNo;预报失败时尽量关联草稿订单。Excel 读取与行映射支持表头归一化,兼容带括号说明的列名。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 18:34:59 +08:00
fc22d9c6c6
feat(order): 优化标准模板 Excel 生成并支持保存映射时选择标准模板
...
标准模板仅保留中文表头、必填标黄与枚举下拉;导入起始行改为第2行;保存自定义映射时可指定 standardTemplateKey。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:23:19 +08:00
9ab112a36e
feat(order): 下单模板映射与 Excel 批量导入小包创建
...
新增专线小包标准模板生成、自定义列映射 API,并将 /order/upload 改为按映射解析 Excel 后走 CreateParcelCoreAsync;列表查询时自动补齐标准模板种子数据。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 16:42:22 +08:00
7ab6b6fb51
refactor(order): 移除链路演练功能
...
删除模拟签收 API 与 RBAC 菜单/权限种子,E2E 测试回退至待上网状态。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 12:41:59 +08:00
c918faec97
feat(order): 订单链路演练签收 API、E2E 测试与批量任务 SQL 修复
...
补充链路演练模拟签收接口、E2E 主数据/菜单种子与测试项目,并修复批量任务列表 SqlSugar 查询及表结构注释脚本。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 11:32:45 +08:00
4f3bbd17bc
feat(order): 订单批量任务 RabbitMQ 异步处理与治理 API
...
引入批量 Job 表、RabbitMQ 队列与消费者,支持导入/小包创建及我的订单批量操作异步化,并提供任务列表、重试失败、取消 pending 与 DLX 监控接口及测试。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 09:52:22 +08:00
dd5c82e523
feat(order): 支持订单详情手动添加费用项
...
新增 OrderFeeAddInput 并在 OrderEdit 服务中实现费用追加逻辑,配合前端订单详情抽屉添加费用能力。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 12:36:18 +08:00
74151b0738
feat(customer): 列表返回 Id 并支持管理员代登客户门户
...
补充客户分页 Id 字段与 customer-oms-login 接口,修复管理端删除/免密登录;公告通知增加接收人候选项与客户接收类型。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 18:35:46 +08:00
90f6c25b04
feat(order): 问题件/理赔件标记、通知投递与自动触发
...
新增 mark-problematic/mark-claimed/handle-status 接口,异常事件审计表与占位符渲染;inApp/email 通知及下单/入库/出库自动触发运行时。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:46:52 +08:00
9359c9cb5b
fix(channel): 修复 inApp 通知方式被 Normalize 误过滤
...
统一映射为 canonical code inApp,并修正站内信显示名匹配。
2026-07-06 15:39:22 +08:00
0c763f9707
fix(channel): 修复问题模板重复校验 SQL 语法错误
...
避免 SqlSugar 翻译闭包 null 比较,改用分支与布尔标志构建查询条件。
2026-07-06 15:28:01 +08:00
4f5390ccb1
fix(channel): 问题模板表补充 ConcurrencyStamp 列
...
与 AggregateRoot 实体对齐,修复 list 接口 Unknown column 报错。
2026-07-06 15:21:43 +08:00
d49573fe9a
feat(channel): 新增问题模板 CRUD 与 options API
...
支持按组织与问题类型维护通知模板,含建表脚本与仓储层唯一性校验。
2026-07-06 14:58:37 +08:00
cde0ccb6b0
feat: 新增工作台与实时监控统计 API
...
- GET /order/workplace-stats 与 /order/workplace-trend 供工作台使用
- GET /monitor/overview 供实时监控页订单/客户/轨迹统计
- 扩展订单仓储聚合查询,status-counts 同步应用数据权限
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 18:24:48 +08:00
991ad49255
fix(微信): 加固 GET 验签,直接输出 echostr 原文
...
- 从 Query 读取 signature/timestamp/nonce/echostr 并记录失败原因
- 验签通过后 WriteAsync 写回 echostr,避免 JSON 包装
- 补充生产 Token 验签集成测试
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 13:43:42 +08:00
da1227d8aa
feat(微信): 消息推送支持明文 XML/JSON 验签与回包
...
- POST /apiwechat/verification 恢复消息回调,支持 JSON/XML 明文包体
- SHA1 验签通过后 GET 原样返回 echostr,POST 无回复时返回 success
- 补充官方验签示例与 JSON/XML 推送集成测试
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:52:43 +08:00
6c2e095196
fix(微信): 验签接口仅保留 GET 并原样返回 echostr
...
- /apiwechat/verification 移除 HEAD/POST,仅保留 GET 验签
- 验签通过后从 Query 原样返回 echostr 纯文本
- 扫码回调测试改走 /wechat/mp/{appId}
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:30:42 +08:00
0a5bd75618
feat: 新增财务应收应付接口并补充 Swagger 接口名称
...
- 新增 Finance 模块应收应付分页查询及订单费用联查
- 为 DataPerm、Xhs 等缺失接口补充中文 summary 接口名称
- 优化微信公众号验签 Swagger 命名并补充路由集成测试
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 12:15:15 +08:00
11520d014b
fix(数据权限): 修复 DataScopeContext 缓存 JSON 反序列化失败
...
将 IReadOnlySet/IReadOnlyList 改为 HashSet/List 等可序列化类型;缓存读取失败时自动重建。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:47:29 +08:00
5f1f16c9ad
fix(数据权限): 组织树递归查询使用 ParentId 而非 PId
...
修复 get-effective-by-user 展开下级组织时报 Unknown column c.PId。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 16:44:46 +08:00
0bf909dc2b
feat(rbac): 新增内部用户列表接口,排除纯客户账号
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 12:19:14 +08:00
ad367998d2
fix(数据权限): 修复 GUID 种子/SqlQuery 映射并补充诊断修复 SQL
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 11:58:24 +08:00
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
02cb06b86c
feat(wechat): 完善扫码登录缓存账号信息与轮询状态接口
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 15:51:59 +08:00
bf81f00c91
fix(wechat): 注册失败时返回中文错误并校验 RBAC 账号
...
避免 user 表重复写入抛出英文 DbUpdateException;注册前检查 RBAC 登录账号/邮箱是否已占用。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 15:08:24 +08:00
4d93a9b50d
fix(wechat): 注册 OAuth/绑定 API 未注册导致 404
...
将 WeChatCustomerService 纳入动态 API 映射,暴露 /wechat/oauth/user-info 等 H5 接口。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 14:51:47 +08:00
76ff60e793
fix(wechat): 验签接口支持 HEAD 并避免配置异常返回非 200
...
微信后台/探活对 HEAD 会收到 405;读取 wechat_mp 配置异常时改为 HTTP 200 + error,与 WMS 行为一致。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 12:15:25 +08:00
7257bf869e
fix(wechat): 创建二维码 POST 改用 StringContent 避免微信 412
...
PostAsJsonAsync 可能走 chunked 传输缺少 Content-Length,微信网关直接返回 HTTP 412 空响应。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 11:49:12 +08:00
8ef9a43f76
feat(wechat): 将 access_token 持久化到 t_system_other_config
...
改用数据库存储 token 并支持 AppId/Secret 变更时自动清空,替代内存缓存并增加无效 token 重试。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 11:03:36 +08:00
5c6c4f6e48
feat(wechat): 公众号配置改从 t_system_other_config 读取,支持后台其他配置维护
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:18:43 +08:00
d168a21e96
fix(wechat): 公众号验签接口始终返回 HTTP 200,避免 BusinessException 导致非 200
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 15:25:20 +08:00
1b8a5af807
配置微信公众号本地开发参数:补充 AppId 与 Token,支持 apiwechat/verification 验签联调。
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 13:50:31 +08:00
50c6fd8ac8
fix(xhs): reject offline agent for analysis and normalize browse task results
...
Validate agent is online before starting analysis tasks; normalize list_feeds JSON when persisting task reports.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 12:36:28 +08:00
f7be966adc
fix(xhs): task/report 与 task/cancel 返回 JSON 响应
...
避免 Agent 客户端解析空 body 报「非 JSON 响应」导致任务上报失败。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 11:58:48 +08:00
607e09433b
fix(xhs): 管理员账号使用 customerId=0,取消客户账号限制
...
小红书各服务统一走 ResolveXhsCustomerIdAsync,管理员无需客户上下文即可操作 Agent、拟人设置等接口。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 09:02:18 +08:00
ffaf325563
fix(xhs): repair publish/task list SQL and RBAC menu seeds
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 11:23:37 +08:00
af53c48f7f
feat: 新增小红书模块后端(Agent/任务/发布/分析/技能/AI)及 SQL 种子与 RBAC GUID 修复脚本
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 09:43:09 +08:00
42b41e68c7
fix: 微信回调路由挂到 AuthService 以修复 404
...
Fake 框架未注册 SimpleAdmin.Api.WeChat 下的 ApplicationService,
将 /apiwechat/verification 等公众号验签与消息接口并入 AuthService。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 20:46:49 +08:00
26ccc69dc6
feat: 兼容 WMS 公众号回调路径 /apiwechat/verification
...
支持公众平台配置 oms.nanafa.com/api/apiwechat/verification 的验签与消息推送。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 20:27:07 +08:00
e4894f9627
feat: 批量发送邮件 API(模板、SMTP 配置、发送记录)
...
新增模板/账号持久化、SMTP 测试与单封发送接口,发送成功后写入邮件记录表供前端列表展示。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:56:35 +08:00
1c0dce9956
fix: 查价运费匹配与费用公式展示优化
...
修复卖价明细英文货物类型无法匹配导致 freight 为 0 的问题;查价返回算法算式、其他费用明细及中文货物属性名;运费列仅汇总 freight 费用项。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:25:33 +08:00
07fc7fffe7
feat: resolve createBy/updateBy to RBAC user display names
...
Add OmsRbacUserDisplayNameResolver and use it in customer, order, warehouse, and channel APIs so audit fields return names instead of mapIds.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 19:07:17 +08:00
e875f0c012
feat: price-check by cargo type and warehouse, customer auto-code, track apiCode
...
Support multi cargo-type and warehouse combinations in price check billing. Auto-generate customer codes (W+yyMM+seq) on create/register; require email. Use order DownstreamSupplierCode as track UpsertSmallBag apiCode.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 18:40:10 +08:00
bc0bde72bc
feat(track): return reproducible curl in UpsertSmallBag result
...
Expose CurlCommand in SmallBagTrackUpsertResult so track sync dialog can show the exact curl used for the request.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 13:00:11 +08:00
3046f26837
fix(track): forward Authorization Bearer to UpsertSmallBag
...
Track gateway requires the logged-in user JWT in addition to appKey/timestamp/sign headers. Capture token before async enqueue so background sync still works.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 12:53:28 +08:00