feat(业务用户组): AUG26-003 业务用户组与店铺负责人分组导入
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 1h43m42s

- 迁移 000221:新增 tb_business_user_group、tb_business_user_group_member、tb_shop_business_owner_import_task,成员一账号一行由部分唯一索引保证,店铺所属组按当前负责人实时推导,不回填历史分组。
- 用户组 CRUD、成员改组/清空归属、店铺批量交接(原子失败不部分写入)。
- 店铺负责人 CSV 导入任务:逐行独立事务、逐行明细、任务级与行级失败分离。
- 读侧推导与筛选:未分组、业务线、停用组可筛出并带停用标记。
- 补齐操作审计动作与资源、openapi 清单、发布门禁巡检表清单。
- 归档 add-shop-salesperson-groups 变更并同步 openspec/specs/business-user-group,补齐 AUG26-003 验证证据链。
This commit is contained in:
2026-09-14 16:51:44 +08:00
parent 957a235585
commit c7f9e005af
56 changed files with 4166 additions and 344 deletions

View File

@@ -482,6 +482,20 @@ const (
AuditActionIntegrationAttemptStarted = "integration.attempt_started"
// AuditActionIntegrationInboundReceived 表示入站回调处理前已记录的审计事实。
AuditActionIntegrationInboundReceived = "integration.inbound_received"
// AuditActionBusinessUserGroupCreated 表示创建业务用户组。
AuditActionBusinessUserGroupCreated = "business_user_group.create"
// AuditActionBusinessUserGroupUpdated 表示更新业务用户组名称、业务线、排序或备注。
AuditActionBusinessUserGroupUpdated = "business_user_group.update"
// AuditActionBusinessUserGroupEnabled 表示启用业务用户组。
AuditActionBusinessUserGroupEnabled = "business_user_group.enable"
// AuditActionBusinessUserGroupDisabled 表示停用业务用户组。
AuditActionBusinessUserGroupDisabled = "business_user_group.disable"
// AuditActionBusinessUserGroupDeleted 表示删除无成员业务用户组。
AuditActionBusinessUserGroupDeleted = "business_user_group.delete"
// AuditActionBusinessUserGroupMembersUpdated 表示批量设置或清空平台用户的业务用户组归属。
AuditActionBusinessUserGroupMembersUpdated = "business_user_group.update_members"
// AuditActionShopBusinessOwnerBatchUpdated 表示勾选店铺批量设置或清空平台业务员归属。
AuditActionShopBusinessOwnerBatchUpdated = "shop.batch_update_business_owner"
// AuditActionIotCardImportTaskCreated 表示创建 IoT 卡导入任务。
AuditActionIotCardImportTaskCreated = "iot_card_import_task.create"
// AuditActionIotCardImportTaskCompleted 表示 IoT 卡导入任务完成。
@@ -494,6 +508,12 @@ const (
AuditActionAssetPackageBatchOrderTaskCreated = "asset_package_batch_order_task.create"
// AuditActionAssetPackageBatchOrderTaskCompleted 表示资产套餐批量订购任务完成。
AuditActionAssetPackageBatchOrderTaskCompleted = "asset_package_batch_order_task.complete"
// AuditActionShopBusinessOwnerImportTaskCreated 表示创建店铺负责人 CSV 导入任务。
AuditActionShopBusinessOwnerImportTaskCreated = "shop_business_owner_import_task.create"
// AuditActionShopBusinessOwnerImportTaskCompleted 表示店铺负责人 CSV 导入任务完成。
AuditActionShopBusinessOwnerImportTaskCompleted = "shop_business_owner_import_task.complete"
// AuditActionShopBusinessOwnerImported 表示导入单行实际变更了店铺负责人归属。
AuditActionShopBusinessOwnerImported = "shop.import_business_owner"
// AuditActionOrderPackageInvalidateTaskCreated 表示创建订单套餐批量失效任务。
AuditActionOrderPackageInvalidateTaskCreated = "order_package_invalidate_task.create"
// AuditActionOrderPackageInvalidateTaskCompleted 表示订单套餐批量失效任务完成。
@@ -637,6 +657,12 @@ const (
AuditResourceDeviceImportTask = "device_import_task"
// AuditResourceAssetPackageBatchOrderTask 表示资产套餐批量订购任务资源。
AuditResourceAssetPackageBatchOrderTask = "asset_package_batch_order_task"
// AuditResourceShopBusinessOwnerImportTask 表示店铺负责人 CSV 导入任务资源。
AuditResourceShopBusinessOwnerImportTask = "shop_business_owner_import_task"
// AuditResourceBusinessUserGroup 表示业务用户组资源。
AuditResourceBusinessUserGroup = "business_user_group"
// AuditResourceShopBusinessOwnerBatch 表示店铺负责人批量交接批次根资源。
AuditResourceShopBusinessOwnerBatch = "shop_business_owner_batch"
// AuditResourceOrderPackageInvalidateTask 表示订单套餐批量失效任务资源。
AuditResourceOrderPackageInvalidateTask = "order_package_invalidate_task"
// AuditResourceExportTask 表示业务导出任务资源。
@@ -779,6 +805,10 @@ const (
AuditResourceRoleApprovalOutbox = "approval_outbox"
// AuditResourceRoleBatchTask 表示批量根事件的任务资源。
AuditResourceRoleBatchTask = "batch_task"
// AuditResourceRoleBusinessUserGroupTarget 表示业务用户组维护的主要目标。
AuditResourceRoleBusinessUserGroupTarget = "business_user_group_target"
// AuditResourceRoleShopBusinessOwnerBatch 表示店铺负责人批量交接的批次根资源。
AuditResourceRoleShopBusinessOwnerBatch = "shop_business_owner_batch"
// AuditResourceRoleRetentionMonth 表示留存清理目标自然月。
AuditResourceRoleRetentionMonth = "retention_month"
// AuditResourceRoleNotificationTarget 表示本次写操作的通知资源。