122 Commits

Author SHA1 Message Date
2bf33e753f fix: 修复手动入驻未绑定管理员商户问题
All checks were successful
Build and Deploy AdminApi / build-and-deploy (push) Successful in 39s
2026-02-06 14:38:00 +08:00
msumshk
2eb309ccec feat: 使用 PostgreSQL xmin 系统列作为并发控制
All checks were successful
Build and Deploy AdminApi / build-and-deploy (push) Successful in 38s
2026-02-05 21:21:18 +08:00
msumshk
e7e420be32 feat: 添加 Identity 模型同步迁移(xmin并发控制)
All checks were successful
Build and Deploy AdminApi / build-and-deploy (push) Successful in 39s
2026-02-05 21:12:44 +08:00
MSuMshk
f69904e195 feat: 商户冻结/解冻功能及字典缓存重构
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 10:46:32 +08:00
MSuMshk
754dd788ea fix: 商户创建时设置默认经营模式为同一主体
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 15:45:11 +08:00
MSuMshk
be34159cb8 feat: 租户创建时自动创建商户和证照记录
- 扩展 MerchantDocumentType 枚举,新增法人身份证、卫生许可证等类型
- 新增 TenantCreatedEvent 领域事件
- 修改 CreateTenantManuallyCommandHandler 发布租户创建事件
- 新增 TenantCreatedEventConsumer 消费者,自动创建商户和证照
- 实现 Tenant 1:1 Merchant 的业务关系

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 15:30:33 +08:00
MSuMshk
abeb352b04 feat: 租户列表 API 支持按状态过滤
- ListTenantsQuery 添加 Status 可选参数
- ITenantRepository.GetAllAsync 添加 status 参数
- EfTenantRepository 实现状态过滤逻辑
- TenantsController.List 添加 status 查询参数

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:46:40 +08:00
MSuMshk
874bd799e7 fix: 添加 TenantReviewClaim 和 TenantAuditLog 实体的 EF Core 表映射配置
修复 EF Core 使用默认 PascalCase 表名导致的 "relation TenantReviewClaims does not exist" 错误,
将实体映射到正确的 snake_case 表名。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:31:36 +08:00
MSuMshk
6ffcc09c26 feat: 新增租户审核领取和审核日志接口
- 新增 TenantReviewClaim 和 TenantAuditLog 实体
- 新增 TenantAuditAction 枚举
- 新增审核领取相关接口:GET/POST /review/claim, /review/force-claim, /review/release
- 新增审核日志接口:GET /audits
- 更新 ITenantRepository 和 EfTenantRepository
- 更新 TakeoutAppDbContext 添加 DbSet

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:22:03 +08:00
MSuMshk
59bc3005af feat: 完善手动创建租户功能,添加账单明细和支付记录
1. 手动创建租户时自动生成账单明细(LineItemsJson)
2. 账单状态为已支付时自动创建支付记录
3. 租户列表接口返回联系人信息和认证状态
4. 账单详情接口返回支付记录和解析后的账单明细
5. 管理员账号自动复用租户联系人信息

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:32:05 +08:00
MSuMshk
0f900e108d feat(admin): 新增管理员角色、账单、订阅、套餐管理功能
- 新增 AdminRolesController 实现角色 CRUD 和权限管理
- 新增 BillingsController 实现账单查询功能
- 新增 SubscriptionsController 实现订阅管理功能
- 新增 TenantPackagesController 实现套餐管理功能
- 新增租户详情、配额使用、账单列表等查询功能
- 新增 TenantPackage、TenantSubscription 等领域实体
- 新增相关枚举:SubscriptionStatus、TenantPackageType 等
- 更新 appsettings 配置文件
- 更新权限授权策略提供者

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:11:44 +08:00
e15ab4f0be feat: 实现租户列表查询接口
- 获取租户列表:GET /api/admin/v1/tenants
- 用于填充租户下拉选择器

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 08:04:12 +00:00
69a9adfc25 refactor: 收敛租户领域至最小集 2026-01-30 03:18:41 +00:00
83a4eb0831 refactor: 移除租户侧能力 2026-01-30 02:32:01 +00:00
6143943bf0 refactor: 用户管理仅平台管理员 2026-01-30 02:10:32 +00:00
4f8424adb6 refactor: AdminApi 剔除租户侧能力 2026-01-29 23:24:44 +00:00
bb3bb842bc feat: 配送单查询支持tenantId可选过滤 2026-01-29 13:30:49 +00:00
a035334c94 feat: 支付模块支持tenantId可选过滤 2026-01-29 13:11:09 +00:00
63b05da39a feat: 订单商品查询支持tenantId可选过滤 2026-01-29 12:14:43 +00:00
7661c2aea1 fix: 管理后台登录按Portal精确匹配 2026-01-29 11:41:24 +00:00
b90929dfaf feat: Identity库Portal化迁移 2026-01-29 11:18:53 +00:00
b3639ff34b refactor: 管理端去租户过滤并Portal化RBAC菜单 2026-01-29 10:46:49 +00:00
65c4c00b87 refactor: 引入管理端 DbContext 禁用租户过滤 2026-01-29 03:52:11 +00:00
57abfcf07a fix: 修复 DeliveryZoneService 可空警告 2026-01-29 02:42:47 +00:00
467d221022 refactor: 抽离 Docs/BuildingBlocks 子模块 2026-01-29 02:42:38 +00:00
725f89ae24 feat: Add tiered packaging fee support for stores
Introduces tiered packaging fee configuration for stores by adding OrderPackagingFeeMode and PackagingFeeTiers fields to StoreFee. Updates DTOs, validators, handlers, and mapping logic to support both fixed and tiered packaging fee modes. Adds StoreFeeTierHelper for tier normalization and serialization, and includes a database migration to persist the new fields.
2026-01-26 09:26:49 +08:00
36abd83e83 chore: update store delivery zone handlers 2026-01-21 11:27:13 +08:00
8bde1a6440 fix: 门店时段与临时调整跨租户处理 2026-01-20 20:38:05 +08:00
32f5bbbd43 feat(store): 扩展临时时段配置 2026-01-20 18:41:34 +08:00
3385674490 fix: 门店资质日期字段改为date 2026-01-20 13:09:06 +08:00
30e54e2bea fix: 修复门店租户写入与跨租户查看 2026-01-19 20:43:27 +08:00
a042c7ef82 Merge branch 'dev' of https://github.com/msumshk/TakeoutAPI into dev 2026-01-05 19:11:16 +08:00
398c716734 fix:修复注释错误 2026-01-04 21:22:26 +08:00
aa42a635e4 feat: 提交后端其余改动 2026-01-01 07:41:57 +08:00
fc55003d3d 完成门店管理后端接口与任务 2026-01-01 07:26:14 +08:00
dc9f6136d6 feat: 实现字典管理后端 2025-12-30 19:56:24 +08:00
dd91c1010a feat:商户管理 2025-12-29 16:40:27 +08:00
57f4c2d394 fix: 公告模块第一次修复 2025-12-27 18:22:30 +08:00
bc09d9ca2e fix: 权限固定为全局 2025-12-27 16:47:38 +08:00
dd58cc2ed0 fix: 菜单固定为全局 2025-12-27 16:47:15 +08:00
3d6e2f02b4 fix: 升级依赖并适配消息模块 2025-12-27 12:32:54 +08:00
9df54d620d fix: 修复用户角色替换的软删除冲突 2025-12-27 12:32:53 +08:00
2d09a629be feat: 身份操作日志改造为Outbox并修正日志库连接 2025-12-27 12:32:53 +08:00
04444c6554 fix: 修复公告过时警告并补齐用户权限 2025-12-27 12:32:52 +08:00
b2a90cf8af feat: 用户管理后端与日志库迁移 2025-12-27 06:23:03 +08:00
ca632a7c09 refactor: 日志库拆分与清理用户审计 2025-12-26 17:24:10 +08:00
755b61a044 fix: 修复公告模块核心问题并完善功能
主要修复内容:
1. 修复 RowVersion 并发控制
   - 配置 EF Core RowVersion 映射为 bytea 类型
   - 添加 PostgreSQL 触发器自动生成 RowVersion
   - 在更新/发布/撤销操作中添加 RowVersion 校验
   - 移除 Application 层对 EF Core 的直接依赖

2. 修复 API 路由和校验问题
   - 添加平台公告列表路由的版本化别名
   - 租户公告接口添加 X-Tenant-Id 必填校验,返回 400
   - 生效时间校验返回 422 而非 500
   - 修复 FluentValidation 异常命名冲突

3. 实现关键词搜索功能
   - 在查询参数中添加 keyword 字段
   - 使用 PostgreSQL ILIKE 实现大小写不敏感搜索
   - 支持标题和内容字段的模糊匹配

4. 数据库迁移
   - 新增 RowVersion 触发器迁移文件
   - 回填现有公告记录的 RowVersion
2025-12-26 09:16:07 +08:00
857f776447 feat: 实现完整的多租户公告管理系统
核心功能:
- 公告状态机(草稿/已发布/已撤销)支持发布、撤销和重新发布
- 发布者范围区分平台级和租户级公告
- 目标受众定向推送(全部租户/指定角色/指定用户)
- 平台管理、租户管理和应用端查询API
- 已读/未读管理和未读统计

技术实现:
- CQRS+DDD架构,清晰的领域边界和事件驱动
- 查询性能优化:数据库端排序和限制,估算策略减少内存占用
- 并发控制:修复RowVersion配置(IsRowVersion→IsConcurrencyToken)
- 完整的FluentValidation验证器和输入保护

测试验证:
- 36个测试全部通过(27单元+9集成)
- 性能测试达标(1000条数据<5秒)
- 代码质量评级A(优秀)

文档:
- 完整的ADR、API文档和迁移指南
- 交付报告和技术债务记录
2025-12-20 19:57:09 +08:00
00eb357e6e fix: 平台订阅管理支持跨租户查询 2025-12-18 23:58:24 +08:00
30f44b6009 修复:Admin租户配额查询返回空数据(忽略全局租户过滤) 2025-12-18 20:56:50 +08:00