msumshk
863c3986b5
perf: build on host for faster incremental compilation
Build and Deploy AdminApi / build-and-deploy (push) Has been cancelled
2026-02-05 17:13:56 +08:00
msumshk
bbd513c789
fix: use local nuget cache for faster docker build
2026-02-05 17:00:28 +08:00
msumshk
b187e94906
fix: add nuget mirror for faster restore in China
2026-02-05 16:22:48 +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
ef7aec1b60
fix: 创建租户时自动创建默认角色并分配给管理员
...
- 在 CreateTenantManuallyCommandHandler 中添加创建 tenant-admin 角色逻辑
- 自动将默认角色分配给租户管理员用户
- 更新 Saga 补偿逻辑,失败时回滚角色和用户角色关系
- 修复 TenantsController 中 4 处 CS8625 可空引用类型警告
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-03 12:51:59 +08:00
MSuMshk
e92b333076
refactor: 精简手动创建租户命令字段
...
- 移除冗余字段:CoverImageUrl、Website、SuspendedAt、SuspensionReason
- 移除冗余字段:ScheduledPackageId、AdditionalDataJson、ReviewedByName、ReviewRemarks、AdminMerchantId
- 更新Handler移除对应字段的处理逻辑
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:43:22 +08:00
MSuMshk
a995d3c64d
refactor: 删除审核接口的 renewMonths 字段
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:14:46 +08:00
MSuMshk
2c90aa6f5c
refactor: 删除旧的 approve/reject 接口,统一使用 /review
...
- 删除 PUT /approve 和 PUT /reject 接口
- 删除 ApproveTenantCommand/Handler
- 删除 RejectTenantCommand/Handler
- 保留统一的 POST /review 接口
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:07:30 +08:00
MSuMshk
a55ebad675
feat: 添加统一的租户审核接口 POST /review
...
- 新增 ReviewTenantCommand 支持 approve/reason/renewMonths/operatingMode
- 新增 ReviewTenantCommandHandler 统一处理通过/驳回逻辑
- 添加 TenantsController.Review 接口
- 审核完成后自动释放领取、记录审核日志
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 21:01:54 +08:00
MSuMshk
cfb20ca0d7
fix: 审核领取显示用户真实姓名而非 ID
...
- ClaimTenantReviewCommandHandler 通过 IIdentityUserRepository 查询用户 DisplayName
- ForceClaimTenantReviewCommandHandler 同步修改
- ReleaseTenantReviewClaimCommandHandler 同步修改
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 20:54:14 +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
a586407e60
feat: 手动创建租户支持可选审核,新增审核通过/驳回接口
...
- CreateTenantManuallyCommand 添加 IsSkipApproval 字段
- 根据 IsSkipApproval 自动设置租户状态和认证状态
- 新增 ApproveTenantCommand/Handler 审核通过逻辑
- 新增 RejectTenantCommand/Handler 审核驳回逻辑
- TenantsController 添加 PUT /approve 和 PUT /reject 接口
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 19:59: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
395ac4da05
feat: 实现克隆租户角色接口
...
- POST /api/admin/v1/tenants/{tenantId}/roles/{roleId}/clone
- 支持复制角色基本信息和权限
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 08:25:12 +00:00
764661f9e3
fix: 租户列表接口添加分页支持
...
- 支持 page 和 pageSize 参数
- 返回 PagedResult<TenantListItemDto>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 08:07:04 +00: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
0bcad8ba7e
feat: 实现租户角色列表查询和删除接口
...
- 获取租户角色列表:GET /api/admin/v1/tenants/{tenantId}/roles
- 删除租户角色:DELETE /api/admin/v1/tenants/{tenantId}/roles/{roleId}
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 07:53:25 +00:00
2dbd004ce0
feat: 实现租户角色管理 API
...
- 创建角色:POST /api/admin/v1/tenants/{tenantId}/roles
- 更新角色:PUT /api/admin/v1/tenants/{tenantId}/roles/{roleId}
- 获取角色权限:GET /api/admin/v1/tenants/{tenantId}/roles/{roleId}/permissions
- 更新角色权限:PUT /api/admin/v1/tenants/{tenantId}/roles/{roleId}/permissions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-30 07:48:35 +00:00
8dff802248
feat: 管理后台登录增加手机号校验
2026-01-30 07:09:35 +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
45d08a79df
refactor: 移除租户角色管理CQRS
2026-01-30 01:18:20 +00:00
b2678a27ba
refactor: 移除租户端控制器
2026-01-30 01:13:43 +00:00
4f8424adb6
refactor: AdminApi 剔除租户侧能力
2026-01-29 23:24:44 +00:00
71e5a9dc29
feat: 门店模块移除租户上下文依赖
2026-01-29 14:27:01 +00:00
010c2b7043
feat: 商品模块移除租户上下文依赖
2026-01-29 14:04:20 +00:00
b5dfb58a8b
refactor: 订单写操作移除租户上下文依赖
2026-01-29 13:56:33 +00:00
4dc5b067eb
feat: 商户模块移除租户上下文依赖
2026-01-29 13:52:36 +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
ea9c20d8a9
refactor: 移除 Gateway 子模块挂载
2026-01-29 06:18:46 +00:00
1543d3f611
refactor: 抽离 Gateway 子模块
2026-01-29 05:42:32 +00:00
be0282af9f
refactor: 移除租户头校验并后置租户解析
2026-01-29 05:22:09 +00:00
d7821fa1af
refactor: 移除租户兼容并统一路由租户
2026-01-29 04:53:37 +00:00
65c4c00b87
refactor: 引入管理端 DbContext 禁用租户过滤
2026-01-29 03:52:11 +00:00
f7e21db88a
refactor: 移除租户端 API 项目
2026-01-29 03:28:29 +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
187534ecca
fix: 允许平台账号跨租户更新门店
2026-01-21 17:21:30 +08:00