迁移合作订单完整能力,并统一 AppRoleCode 角色权限与首页菜单展示。

新增 CooperationOrder 模块(双 Tab 列表、获客员绑定、主 Tab 扫码)、订单来源/带客单绑定及配套 API 测试;同步引入 roleCode 权限匹配与相关单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-29 13:33:00 +08:00
parent d310d26293
commit 1970572edd
66 changed files with 4247 additions and 201 deletions

View File

@ -60,6 +60,7 @@ enum HomeMenuRouter {
"deposit_order": "押金订单详情",
"deposit_order_shooting_info": "押金拍摄信息",
"withdrawal_audit": "提现审核",
"cooperation_order": "合作订单",
"location_report_history": "定位上报历史",
"photographer_invite": "邀请摄影师",
"invite_record": "邀请记录",
@ -131,6 +132,8 @@ enum HomeMenuRouter {
return .destination(.depositOrders)
case "withdrawal_audit":
return .destination(.withdrawalAudit)
case "cooperation_order":
return .destination(.cooperationOrder)
case "scenic_settlement":
return .destination(.scenicSettlement)
case "scenic_settlement_review":
@ -199,6 +202,7 @@ enum HomeMenuRouter {
"scenic_settlement",
"scenic_settlement_review",
"verification_order",
"cooperation_order",
"photographer_orders",
"/scenic-order-manage",
"photographer_stats",
@ -301,10 +305,15 @@ enum HomeMenuRouter {
/// URI
enum HomePermissionRouteAuditor {
/// URI
static func audit(permissions: [RolePermissionResponse], currentRoleId: Int?) -> HomePermissionRouteAudit {
static func audit(permissions: [RolePermissionResponse], currentRoleCode: String?) -> HomePermissionRouteAudit {
let source: RolePermissionResponse?
if let currentRoleId {
source = permissions.first { $0.role.id == currentRoleId }
if let currentRoleCode, !currentRoleCode.isEmpty {
source = RolePermissionMatching.match(
in: permissions,
roleCode: currentRoleCode,
roleId: nil,
roleName: nil
)
} else {
source = permissions.first
}