package beans import ( "github.com/gogf/gf/v2/os/gtime" ) // ModuleAssetId 模块资产ID映射(key-value结构) // Key: 服务名,Value: 资产ID var ModuleAssetId = map[string]int64{ "assets": 1, // 资产模块 "cid": 2, // 广告模块 "customerService": 3, // AI客服模块 } // 模块类型(值从ModuleAssetId map获取) var ( TenantModuleAssets = ModuleAssetId["assets"] // 资产模块 TenantModuleAd = ModuleAssetId["cid"] // 广告模块 TenantModuleAICs = ModuleAssetId["customerService"] // AI客服模块 ) type TenantModuleType string const ( TenantModuleTypePlatform TenantModuleType = "platform" TenantModuleTypePrivate TenantModuleType = "private" TenantModuleTypeSupplier TenantModuleType = "supplier" TenantModuleTypeSmallShop TenantModuleType = "small_shop" ) // TenantModuleTypeKV 租户类型 type TenantModuleTypeKV struct { Key string Value string } // TenantModuleTypesAssets 资产模块租户类型 var TenantModuleTypesAssets = []TenantModuleTypeKV{ {Key: string(TenantModuleTypePrivate), Value: "私域租户"}, {Key: string(TenantModuleTypeSupplier), Value: "供应商"}, {Key: string(TenantModuleTypeSmallShop), Value: "电商小店"}, } // TenantModuleTypesAd 广告模块租户类型(待定) var TenantModuleTypesAd []TenantModuleTypeKV // TenantModuleTypesAICs AI客服模块租户类型(待定) var TenantModuleTypesAICs []TenantModuleTypeKV // GetTenantModuleTypes 获取模块的租户类型列表 func GetTenantModuleTypes(module int64) []TenantModuleTypeKV { switch module { case TenantModuleAssets: return TenantModuleTypesAssets case TenantModuleAd: return TenantModuleTypesAd case TenantModuleAICs: return TenantModuleTypesAICs default: return []TenantModuleTypeKV{} } } type ModuleTenantCheckReq struct { ModuleKey string `p:"moduleKey" v:"required#模块Key不能为空"` TenantId uint64 `p:"tenantId" v:"required#租户ID不能为空"` } // ModuleTenantCheckRes 调用admin-go设置模块租户关系的响应 type ModuleTenantCheckRes struct { Status bool `json:"status"` CertificationStatus bool `json:"certificationStatus"` Message string `json:"message"` // 状态描述 } // ModuleTenant 模块租户关系实体(引用自admin-go) type ModuleTenant struct { ExpireAt *gtime.Time `json:"expireAt" description:"到期时间"` TenantModuleType TenantModuleType `json:"tenantModuleType" description:"租户模块类型"` CertificationStatus int `json:"certificationStatus" description:"认证状态"` }