basePath: / definitions: commands.AddPackageItemCommand: properties: product_id: type: string required: - product_id type: object commands.ApiCallCommand: properties: data: type: string options: $ref: '#/definitions/commands.ApiCallOptions' required: - data type: object commands.ApiCallOptions: properties: is_debug: description: 是否为调试调用 type: boolean json: description: 是否返回JSON格式 type: boolean type: object commands.ApplyContractCommand: properties: user_id: type: string required: - user_id type: object commands.BatchUpdateSubscriptionPricesCommand: properties: discount: maximum: 10 minimum: 0.1 type: number scope: enum: - undiscounted - all type: string user_id: type: string required: - discount - scope - user_id type: object commands.ChangePasswordCommand: description: 修改用户密码请求参数 properties: code: example: "123456" type: string confirm_new_password: example: NewPassword123 type: string new_password: example: NewPassword123 type: string old_password: example: OldPassword123 maxLength: 128 minLength: 6 type: string required: - code - confirm_new_password - new_password - old_password type: object commands.CreateAlipayRechargeCommand: properties: amount: description: 充值金额 type: string platform: description: 支付平台:app/h5/pc enum: - app - h5 - pc type: string required: - amount - platform type: object commands.CreateArticleCommand: properties: category_id: type: string content: type: string cover_image: type: string is_featured: type: boolean summary: type: string tag_ids: items: type: string type: array title: type: string required: - content - title type: object commands.CreateCategoryCommand: properties: code: type: string description: maxLength: 200 type: string is_enabled: type: boolean is_visible: type: boolean name: maxLength: 50 minLength: 2 type: string sort: maximum: 9999 minimum: 0 type: integer required: - code - name type: object commands.CreateDocumentationCommand: properties: basic_info: type: string error_codes: type: string product_id: type: string request_method: type: string request_params: type: string request_url: type: string response_example: type: string response_fields: type: string required: - basic_info - product_id - request_method - request_params - request_url type: object commands.CreateProductCommand: properties: category_id: type: string code: type: string content: maxLength: 5000 type: string description: maxLength: 500 type: string is_enabled: type: boolean is_package: type: boolean is_visible: type: boolean name: maxLength: 100 minLength: 2 type: string price: minimum: 0 type: number seo_description: maxLength: 200 type: string seo_keywords: maxLength: 200 type: string seo_title: description: SEO信息 maxLength: 100 type: string required: - category_id - code - name type: object commands.DecryptCommand: properties: encrypted_data: type: string secret_key: type: string required: - encrypted_data - secret_key type: object commands.EncryptCommand: properties: data: additionalProperties: true type: object secret_key: type: string required: - data - secret_key type: object commands.LoginWithPasswordCommand: description: 使用密码进行用户登录请求参数 properties: password: example: Password123 maxLength: 128 minLength: 6 type: string phone: example: "13800138000" type: string required: - password - phone type: object commands.LoginWithSMSCommand: description: 使用短信验证码进行用户登录请求参数 properties: code: example: "123456" type: string phone: example: "13800138000" type: string required: - code - phone type: object commands.PackageItemData: properties: product_id: type: string sort_order: minimum: 0 type: integer required: - product_id - sort_order type: object commands.RegisterUserCommand: description: 用户注册请求参数 properties: code: example: "123456" type: string confirm_password: example: Password123 type: string password: example: Password123 type: string phone: example: "13800138000" type: string required: - code - confirm_password - password - phone type: object commands.ReorderPackageItemsCommand: properties: item_ids: items: type: string type: array required: - item_ids type: object commands.ResetPasswordCommand: description: 重置用户密码请求参数(忘记密码时使用) properties: code: example: "123456" type: string confirm_new_password: example: NewPassword123 type: string new_password: example: NewPassword123 type: string phone: example: "13800138000" type: string required: - code - confirm_new_password - new_password - phone type: object commands.SendCodeCommand: description: 发送短信验证码请求参数 properties: phone: example: "13800138000" type: string scene: enum: - register - login - change_password - reset_password - bind - unbind - certification example: register type: string required: - phone - scene type: object commands.SetFeaturedCommand: properties: is_featured: type: boolean required: - is_featured type: object commands.SubmitEnterpriseInfoCommand: properties: company_name: maxLength: 100 minLength: 2 type: string enterprise_address: type: string legal_person_id: type: string legal_person_name: maxLength: 20 minLength: 2 type: string legal_person_phone: type: string unified_social_code: type: string verification_code: type: string required: - company_name - enterprise_address - legal_person_id - legal_person_name - legal_person_phone - unified_social_code - verification_code type: object commands.UpdateArticleCommand: properties: category_id: type: string content: type: string cover_image: type: string is_featured: type: boolean summary: type: string tag_ids: items: type: string type: array title: type: string type: object commands.UpdateCategoryCommand: properties: code: type: string description: maxLength: 200 type: string is_enabled: type: boolean is_visible: type: boolean name: maxLength: 50 minLength: 2 type: string sort: maximum: 9999 minimum: 0 type: integer required: - code - name type: object commands.UpdatePackageItemCommand: properties: sort_order: minimum: 0 type: integer required: - sort_order type: object commands.UpdatePackageItemsCommand: properties: items: items: $ref: '#/definitions/commands.PackageItemData' type: array required: - items type: object commands.UpdateProductCommand: properties: category_id: type: string code: type: string content: maxLength: 5000 type: string description: maxLength: 500 type: string is_enabled: type: boolean is_package: type: boolean is_visible: type: boolean name: maxLength: 100 minLength: 2 type: string price: minimum: 0 type: number seo_description: maxLength: 200 type: string seo_keywords: maxLength: 200 type: string seo_title: description: SEO信息 maxLength: 100 type: string required: - category_id - code - name type: object commands.UpdateSubscriptionPriceCommand: properties: price: minimum: 0 type: number type: object dto.ApiCallListResponse: properties: items: items: $ref: '#/definitions/dto.ApiCallRecordResponse' type: array page: type: integer size: type: integer total: type: integer type: object dto.ApiCallRecordResponse: properties: access_id: type: string client_ip: type: string company_name: type: string cost: type: string created_at: type: string end_at: type: string error_msg: type: string error_type: type: string id: type: string product_id: type: string product_name: type: string start_at: type: string status: type: string transaction_id: type: string translated_error_msg: type: string updated_at: type: string user: $ref: '#/definitions/dto.UserSimpleResponse' user_id: type: string type: object dto.ApiCallResponse: properties: code: type: integer data: type: string message: type: string transaction_id: type: string type: object dto.AvailableAmountResponse: properties: available_amount: description: 可开票金额 type: number pending_applications: description: 待处理申请金额 type: number total_gifted: description: 总赠送金额 type: number total_invoiced: description: 已开票金额 type: number total_recharged: description: 总充值金额 type: number type: object dto.EncryptResponse: properties: encrypted_data: type: string type: object dto.InvoiceApplicationResponse: properties: amount: type: number created_at: type: string id: type: string invoice_info: $ref: '#/definitions/value_objects.InvoiceInfo' invoice_type: $ref: '#/definitions/value_objects.InvoiceType' status: $ref: '#/definitions/entities.ApplicationStatus' user_id: type: string type: object dto.InvoiceInfoResponse: properties: bank_account: description: 用户可编辑 type: string bank_name: description: 用户可编辑 type: string company_address: description: 用户可编辑 type: string company_name: description: 从企业认证信息获取,只读 type: string company_name_read_only: description: 字段权限标识 type: boolean company_phone: description: 用户可编辑 type: string is_complete: type: boolean missing_fields: items: type: string type: array receiving_email: description: 用户可编辑 type: string taxpayer_id: description: 从企业认证信息获取,只读 type: string taxpayer_id_read_only: description: 纳税人识别号是否只读 type: boolean type: object dto.InvoiceRecordResponse: properties: amount: type: number bank_account: description: 银行账号 type: string bank_name: description: 开户银行 type: string company_address: description: 企业地址 type: string company_name: description: 开票信息(快照数据) type: string company_phone: description: 企业电话 type: string created_at: type: string file_name: description: 文件信息 type: string file_size: type: integer file_url: type: string id: type: string invoice_type: $ref: '#/definitions/value_objects.InvoiceType' processed_at: description: 时间信息 type: string receiving_email: description: 接收邮箱 type: string reject_reason: description: 拒绝原因 type: string status: $ref: '#/definitions/entities.ApplicationStatus' taxpayer_id: description: 纳税人识别号 type: string user_id: type: string type: object dto.InvoiceRecordsResponse: properties: page: type: integer page_size: type: integer records: items: $ref: '#/definitions/dto.InvoiceRecordResponse' type: array total: type: integer total_pages: type: integer type: object dto.PendingApplicationResponse: properties: amount: type: number bank_account: type: string bank_name: type: string company_address: type: string company_name: type: string company_phone: type: string created_at: type: string file_name: type: string file_size: type: integer file_url: type: string id: type: string invoice_type: $ref: '#/definitions/value_objects.InvoiceType' processed_at: type: string receiving_email: type: string reject_reason: type: string status: $ref: '#/definitions/entities.ApplicationStatus' taxpayer_id: type: string user_id: type: string type: object dto.PendingApplicationsResponse: properties: applications: items: $ref: '#/definitions/dto.PendingApplicationResponse' type: array page: type: integer page_size: type: integer total: type: integer total_pages: type: integer type: object dto.UserSimpleResponse: properties: company_name: type: string id: type: string phone: type: string type: object entities.ApplicationStatus: enum: - pending - completed - rejected type: string x-enum-comments: ApplicationStatusCompleted: 已完成(已上传发票) ApplicationStatusPending: 待处理 ApplicationStatusRejected: 已拒绝 x-enum-descriptions: - 待处理 - 已完成(已上传发票) - 已拒绝 x-enum-varnames: - ApplicationStatusPending - ApplicationStatusCompleted - ApplicationStatusRejected enums.CertificationStatus: enum: - pending - info_submitted - enterprise_verified - contract_applied - contract_signed - completed - info_rejected - contract_rejected - contract_expired type: string x-enum-comments: StatusCompleted: 认证完成 StatusContractApplied: 已申请签署合同 StatusContractExpired: 合同签署超时 StatusContractRejected: 合同被拒签 StatusContractSigned: 已签署合同 StatusEnterpriseVerified: 已企业认证 StatusInfoRejected: 企业信息被拒绝 StatusInfoSubmitted: 已提交企业信息 StatusPending: 待认证 x-enum-descriptions: - 待认证 - 已提交企业信息 - 已企业认证 - 已申请签署合同 - 已签署合同 - 认证完成 - 企业信息被拒绝 - 合同被拒签 - 合同签署超时 x-enum-varnames: - StatusPending - StatusInfoSubmitted - StatusEnterpriseVerified - StatusContractApplied - StatusContractSigned - StatusCompleted - StatusInfoRejected - StatusContractRejected - StatusContractExpired enums.FailureReason: enum: - enterprise_not_exists - enterprise_info_mismatch - enterprise_status_abnormal - legal_person_mismatch - esign_verification_failed - invalid_document - contract_rejected_by_user - contract_expired - sign_process_failed - contract_gen_failed - esign_flow_error - system_error - network_error - timeout - unknown_error type: string x-enum-comments: FailureReasonContractExpired: 合同签署超时 FailureReasonContractGenFailed: 合同生成失败 FailureReasonContractRejectedByUser: 用户拒绝签署 FailureReasonEnterpriseInfoMismatch: 企业信息不匹配 FailureReasonEnterpriseNotExists: 企业不存在 FailureReasonEnterpriseStatusAbnormal: 企业状态异常 FailureReasonEsignFlowError: e签宝流程错误 FailureReasonEsignVerificationFailed: e签宝验证失败 FailureReasonInvalidDocument: 证件信息无效 FailureReasonLegalPersonMismatch: 法定代表人信息不匹配 FailureReasonNetworkError: 网络错误 FailureReasonSignProcessFailed: 签署流程失败 FailureReasonSystemError: 系统错误 FailureReasonTimeout: 操作超时 FailureReasonUnknownError: 未知错误 x-enum-descriptions: - 企业不存在 - 企业信息不匹配 - 企业状态异常 - 法定代表人信息不匹配 - e签宝验证失败 - 证件信息无效 - 用户拒绝签署 - 合同签署超时 - 签署流程失败 - 合同生成失败 - e签宝流程错误 - 系统错误 - 网络错误 - 操作超时 - 未知错误 x-enum-varnames: - FailureReasonEnterpriseNotExists - FailureReasonEnterpriseInfoMismatch - FailureReasonEnterpriseStatusAbnormal - FailureReasonLegalPersonMismatch - FailureReasonEsignVerificationFailed - FailureReasonInvalidDocument - FailureReasonContractRejectedByUser - FailureReasonContractExpired - FailureReasonSignProcessFailed - FailureReasonContractGenFailed - FailureReasonEsignFlowError - FailureReasonSystemError - FailureReasonNetworkError - FailureReasonTimeout - FailureReasonUnknownError finance.ApplyInvoiceRequest: properties: amount: description: 开票金额 type: string invoice_type: description: 发票类型:general/special type: string required: - amount - invoice_type type: object finance.RejectInvoiceRequest: properties: reason: description: 拒绝原因 type: string required: - reason type: object finance.UpdateInvoiceInfoRequest: properties: bank_account: description: 银行账户 type: string bank_name: description: 银行名称 type: string company_address: description: 公司地址 type: string company_name: description: 公司名称(从企业认证信息获取,用户不可修改) type: string company_phone: description: 企业注册电话 type: string receiving_email: description: 发票接收邮箱 type: string taxpayer_id: description: 纳税人识别号(从企业认证信息获取,用户不可修改) type: string required: - receiving_email type: object interfaces.APIResponse: properties: data: {} errors: {} message: type: string meta: additionalProperties: true type: object pagination: $ref: '#/definitions/interfaces.PaginationMeta' request_id: type: string success: type: boolean timestamp: type: integer type: object interfaces.PaginationMeta: properties: has_next: type: boolean has_prev: type: boolean page: type: integer page_size: type: integer total: type: integer total_pages: type: integer type: object queries.ConfirmAuthCommand: type: object queries.ConfirmSignCommand: type: object responses.AlipayOrderStatusResponse: properties: amount: description: 订单金额 type: number can_retry: description: 是否可以重试 type: boolean created_at: description: 创建时间 type: string error_code: description: 错误码 type: string error_message: description: 错误信息 type: string is_processing: description: 是否处理中 type: boolean notify_time: description: 异步通知时间 type: string out_trade_no: description: 商户订单号 type: string platform: description: 支付平台 type: string return_time: description: 同步返回时间 type: string status: description: 订单状态 type: string subject: description: 订单标题 type: string trade_no: description: 支付宝交易号 type: string updated_at: description: 更新时间 type: string type: object responses.AlipayRechargeBonusRuleResponse: properties: bonus_amount: type: number recharge_amount: type: number type: object responses.AlipayRechargeOrderResponse: properties: amount: description: 充值金额 type: number out_trade_no: description: 商户订单号 type: string pay_url: description: 支付链接 type: string platform: description: 支付平台 type: string subject: description: 订单标题 type: string type: object responses.ArticleInfoResponse: properties: category: $ref: '#/definitions/tyapi-server_internal_application_article_dto_responses.CategoryInfoResponse' category_id: type: string content: type: string cover_image: type: string created_at: type: string id: type: string is_featured: type: boolean published_at: type: string status: type: string summary: type: string tags: items: $ref: '#/definitions/responses.TagInfoResponse' type: array title: type: string updated_at: type: string view_count: type: integer type: object responses.ArticleListResponse: properties: items: items: $ref: '#/definitions/responses.ArticleInfoResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.ArticleStatsResponse: properties: archived_articles: type: integer draft_articles: type: integer published_articles: type: integer total_articles: type: integer total_views: type: integer type: object responses.CategoryListResponse: properties: items: items: $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.CategorySimpleResponse: properties: code: type: string id: type: string name: type: string type: object responses.CertificationListResponse: properties: items: items: $ref: '#/definitions/responses.CertificationResponse' type: array page: type: integer page_size: type: integer total: type: integer total_pages: type: integer type: object responses.CertificationResponse: properties: available_actions: items: type: string type: array can_retry: type: boolean completed_at: type: string contract_applied_at: type: string contract_info: allOf: - $ref: '#/definitions/value_objects.ContractInfo' description: 合同信息 contract_signed_at: type: string created_at: description: 时间戳 type: string enterprise_info: allOf: - $ref: '#/definitions/value_objects.EnterpriseInfo' description: 企业信息 enterprise_verified_at: type: string failure_message: type: string failure_reason: allOf: - $ref: '#/definitions/enums.FailureReason' description: 失败信息 failure_reason_name: type: string id: type: string info_submitted_at: type: string is_completed: description: 业务状态 type: boolean is_failed: type: boolean is_user_action_required: type: boolean metadata: additionalProperties: true description: 元数据 type: object next_action: description: 用户操作提示 type: string progress: type: integer retry_count: type: integer status: $ref: '#/definitions/enums.CertificationStatus' status_name: type: string updated_at: type: string user_id: type: string type: object responses.ConfirmAuthResponse: properties: reason: type: string status: $ref: '#/definitions/enums.CertificationStatus' type: object responses.ConfirmSignResponse: properties: reason: type: string status: $ref: '#/definitions/enums.CertificationStatus' type: object responses.ContractInfoItem: properties: contract_file_url: type: string contract_name: type: string contract_type: description: 合同类型代码 type: string contract_type_name: description: 合同类型中文名称 type: string created_at: type: string id: type: string type: object responses.ContractSignUrlResponse: properties: certification_id: type: string contract_sign_url: type: string contract_url: type: string expire_at: type: string message: type: string next_action: type: string type: object responses.DocumentationResponse: properties: basic_info: type: string created_at: type: string error_codes: type: string id: type: string product_id: type: string request_method: type: string request_params: type: string request_url: type: string response_example: type: string response_fields: type: string updated_at: type: string version: type: string type: object responses.EnterpriseInfoItem: properties: company_name: type: string contracts: description: 合同信息 items: $ref: '#/definitions/responses.ContractInfoItem' type: array created_at: type: string enterprise_address: type: string id: type: string legal_person_name: type: string legal_person_phone: type: string unified_social_code: type: string type: object responses.EnterpriseInfoResponse: description: 企业信息响应 properties: certified_at: example: "2024-01-01T00:00:00Z" type: string company_name: example: 示例企业有限公司 type: string created_at: example: "2024-01-01T00:00:00Z" type: string enterprise_address: example: 北京市朝阳区xxx街道xxx号 type: string id: example: 123e4567-e89b-12d3-a456-426614174000 type: string legal_person_id: example: "110101199001011234" type: string legal_person_name: example: 张三 type: string legal_person_phone: example: "13800138000" type: string unified_social_code: example: 91110000123456789X type: string updated_at: example: "2024-01-01T00:00:00Z" type: string type: object responses.LoginUserResponse: description: 用户登录成功响应 properties: access_token: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... type: string expires_in: example: 86400 type: integer login_method: example: password type: string token_type: example: Bearer type: string user: $ref: '#/definitions/responses.UserProfileResponse' type: object responses.PackageItemResponse: properties: id: type: string price: type: number product_code: type: string product_id: type: string product_name: type: string sort_order: type: integer type: object responses.ProductAdminInfoResponse: properties: category: allOf: - $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' description: 关联信息 category_id: type: string code: type: string content: type: string created_at: type: string description: type: string documentation: allOf: - $ref: '#/definitions/responses.DocumentationResponse' description: 文档信息 id: type: string is_enabled: type: boolean is_package: type: boolean is_visible: type: boolean name: type: string old_id: type: string package_items: description: 组合包信息 items: $ref: '#/definitions/responses.PackageItemResponse' type: array price: type: number seo_description: type: string seo_keywords: type: string seo_title: description: SEO信息 type: string updated_at: type: string type: object responses.ProductAdminListResponse: properties: items: items: $ref: '#/definitions/responses.ProductAdminInfoResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.ProductApiConfigResponse: properties: created_at: type: string id: type: string product_id: type: string request_params: items: $ref: '#/definitions/responses.RequestParamResponse' type: array response_example: additionalProperties: true type: object response_fields: items: $ref: '#/definitions/responses.ResponseFieldResponse' type: array updated_at: type: string type: object responses.ProductInfoResponse: properties: category: allOf: - $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' description: 关联信息 category_id: type: string code: type: string content: type: string created_at: type: string description: type: string id: type: string is_enabled: type: boolean is_package: type: boolean is_subscribed: type: boolean name: type: string old_id: type: string package_items: description: 组合包信息 items: $ref: '#/definitions/responses.PackageItemResponse' type: array price: type: number seo_description: type: string seo_keywords: type: string seo_title: description: SEO信息 type: string updated_at: type: string type: object responses.ProductInfoWithDocumentResponse: properties: category: allOf: - $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' description: 关联信息 category_id: type: string code: type: string content: type: string created_at: type: string description: type: string documentation: $ref: '#/definitions/responses.DocumentationResponse' id: type: string is_enabled: type: boolean is_package: type: boolean is_subscribed: type: boolean name: type: string old_id: type: string package_items: description: 组合包信息 items: $ref: '#/definitions/responses.PackageItemResponse' type: array price: type: number seo_description: type: string seo_keywords: type: string seo_title: description: SEO信息 type: string updated_at: type: string type: object responses.ProductListResponse: properties: items: items: $ref: '#/definitions/responses.ProductInfoResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.ProductSimpleResponse: properties: category: $ref: '#/definitions/responses.CategorySimpleResponse' code: type: string description: type: string id: type: string is_package: type: boolean is_subscribed: type: boolean name: type: string old_id: type: string price: type: number type: object responses.ProductStatsResponse: properties: enabled_products: type: integer package_products: type: integer total_products: type: integer visible_products: type: integer type: object responses.RechargeConfigResponse: properties: alipay_recharge_bonus: items: $ref: '#/definitions/responses.AlipayRechargeBonusRuleResponse' type: array max_amount: description: 最高充值金额 type: string min_amount: description: 最低充值金额 type: string type: object responses.RechargeRecordListResponse: properties: items: items: $ref: '#/definitions/responses.RechargeRecordResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.RechargeRecordResponse: properties: alipay_order_id: type: string amount: type: number company_name: type: string created_at: type: string id: type: string notes: type: string operator_id: type: string recharge_type: type: string status: type: string transfer_order_id: type: string updated_at: type: string user: $ref: '#/definitions/tyapi-server_internal_application_finance_dto_responses.UserSimpleResponse' user_id: type: string type: object responses.RegisterUserResponse: description: 用户注册成功响应 properties: id: example: 123e4567-e89b-12d3-a456-426614174000 type: string phone: example: "13800138000" type: string type: object responses.RequestParamResponse: properties: description: type: string example: type: string field: type: string name: type: string required: type: boolean type: type: string validation: type: string type: object responses.ResponseFieldResponse: properties: description: type: string example: type: string name: type: string path: type: string required: type: boolean type: type: string type: object responses.SubscriptionInfoResponse: properties: api_used: type: integer created_at: type: string id: type: string price: type: number product: $ref: '#/definitions/responses.ProductSimpleResponse' product_id: type: string updated_at: type: string user: allOf: - $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.UserSimpleResponse' description: 关联信息 user_id: type: string type: object responses.SubscriptionListResponse: properties: items: items: $ref: '#/definitions/responses.SubscriptionInfoResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.SubscriptionStatsResponse: properties: total_revenue: type: number total_subscriptions: type: integer type: object responses.TagInfoResponse: properties: color: type: string created_at: type: string id: type: string name: type: string type: object responses.UserDetailResponse: properties: created_at: type: string enterprise_info: allOf: - $ref: '#/definitions/responses.EnterpriseInfoItem' description: 企业信息 id: type: string is_active: type: boolean is_certified: type: boolean last_login_at: type: string login_count: type: integer phone: type: string updated_at: type: string user_type: type: string username: type: string wallet_balance: description: 钱包信息 type: string type: object responses.UserListItem: properties: created_at: type: string enterprise_info: allOf: - $ref: '#/definitions/responses.EnterpriseInfoItem' description: 企业信息 id: type: string is_active: type: boolean is_certified: type: boolean last_login_at: type: string login_count: type: integer phone: type: string updated_at: type: string user_type: type: string username: type: string wallet_balance: description: 钱包信息 type: string type: object responses.UserListResponse: properties: items: items: $ref: '#/definitions/responses.UserListItem' type: array page: type: integer size: type: integer total: type: integer type: object responses.UserProfileResponse: description: 用户基本信息 properties: created_at: example: "2024-01-01T00:00:00Z" type: string enterprise_info: $ref: '#/definitions/responses.EnterpriseInfoResponse' id: example: 123e4567-e89b-12d3-a456-426614174000 type: string is_active: example: true type: boolean is_certified: example: false type: boolean last_login_at: example: "2024-01-01T00:00:00Z" type: string login_count: example: 10 type: integer permissions: example: - '[''user:read''' - '''user:write'']' items: type: string type: array phone: example: "13800138000" type: string updated_at: example: "2024-01-01T00:00:00Z" type: string user_type: example: user type: string username: example: admin type: string type: object responses.UserStatsResponse: properties: active_users: type: integer certified_users: type: integer total_users: type: integer type: object responses.WalletResponse: properties: balance: type: number balance_status: description: normal, low, arrears type: string created_at: type: string id: type: string is_active: type: boolean is_arrears: description: 是否欠费 type: boolean is_low_balance: description: 是否余额较低 type: boolean updated_at: type: string user_id: type: string type: object responses.WalletTransactionListResponse: properties: items: items: $ref: '#/definitions/responses.WalletTransactionResponse' type: array page: type: integer size: type: integer total: type: integer type: object responses.WalletTransactionResponse: properties: amount: type: number api_call_id: type: string company_name: type: string created_at: type: string id: type: string product_id: type: string product_name: type: string transaction_id: type: string updated_at: type: string user: $ref: '#/definitions/tyapi-server_internal_application_finance_dto_responses.UserSimpleResponse' user_id: type: string type: object tyapi-server_internal_application_article_dto_responses.CategoryInfoResponse: properties: created_at: type: string description: type: string id: type: string is_active: type: boolean name: type: string sort_order: type: integer type: object tyapi-server_internal_application_finance_dto_responses.UserSimpleResponse: properties: company_name: type: string id: type: string phone: type: string type: object tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse: properties: code: type: string created_at: type: string description: type: string id: type: string is_enabled: type: boolean is_visible: type: boolean name: type: string sort: type: integer updated_at: type: string type: object tyapi-server_internal_application_product_dto_responses.UserSimpleResponse: properties: company_name: type: string id: type: string phone: type: string type: object value_objects.ContractInfo: properties: contract_file_id: description: 合同基本信息 type: string contract_sign_url: description: 合同签署链接 type: string contract_title: description: 合同元数据 type: string contract_url: description: 合同文件访问链接 type: string contract_version: description: 合同版本 type: string esign_flow_id: description: e签宝签署流程ID type: string expires_at: description: 签署链接过期时间 type: string generated_at: description: 时间信息 type: string metadata: additionalProperties: true description: 附加信息 type: object sign_flow_created_at: description: 签署流程创建时间 type: string sign_progress: description: 签署进度 type: integer signed_at: description: 签署完成时间 type: string signer_account: description: 签署相关信息 type: string signer_name: description: 签署人姓名 type: string status: description: 状态信息 type: string template_id: description: 模板ID type: string transactor_id_card_num: description: 经办人身份证号 type: string transactor_name: description: 经办人姓名 type: string transactor_phone: description: 经办人手机号 type: string type: object value_objects.EnterpriseInfo: properties: company_name: description: 企业基本信息 type: string enterprise_address: description: 企业地址(新增) type: string legal_person_id: description: 法定代表人身份证号 type: string legal_person_name: description: 法定代表人信息 type: string legal_person_phone: description: 法定代表人手机号 type: string registered_address: description: 企业详细信息 type: string unified_social_code: description: 统一社会信用代码 type: string type: object value_objects.InvoiceInfo: properties: bank_account: description: 基本开户账号 type: string bank_name: description: 基本开户银行 type: string company_address: description: 企业注册地址 type: string company_name: description: 公司名称 type: string company_phone: description: 企业注册电话 type: string receiving_email: description: 发票接收邮箱 type: string taxpayer_id: description: 纳税人识别号 type: string type: object value_objects.InvoiceType: enum: - general - special type: string x-enum-comments: InvoiceTypeGeneral: 增值税普通发票 (普票) InvoiceTypeSpecial: 增值税专用发票 (专票) x-enum-descriptions: - 增值税普通发票 (普票) - 增值税专用发票 (专票) x-enum-varnames: - InvoiceTypeGeneral - InvoiceTypeSpecial host: localhost:8080 info: contact: email: support@example.com name: API Support url: https://github.com/your-org/tyapi-server-gin description: |- 基于DDD和Clean Architecture的企业级后端API服务 采用Gin框架构建,支持用户管理、JWT认证、事件驱动等功能 license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: TYAPI Server API version: "1.0" paths: /api/v1/:api_name: post: consumes: - application/json description: 统一API调用入口,参数加密传输 parameters: - description: API调用请求 in: body name: request required: true schema: $ref: '#/definitions/commands.ApiCallCommand' produces: - application/json responses: "200": description: 调用成功 schema: $ref: '#/definitions/dto.ApiCallResponse' "400": description: 请求参数错误 schema: $ref: '#/definitions/dto.ApiCallResponse' "401": description: 未授权 schema: $ref: '#/definitions/dto.ApiCallResponse' "429": description: 请求过于频繁 schema: $ref: '#/definitions/dto.ApiCallResponse' "500": description: 服务器内部错误 schema: $ref: '#/definitions/dto.ApiCallResponse' summary: API调用 tags: - API调用 /api/v1/admin/api-calls: get: consumes: - application/json description: 管理员获取API调用记录,支持筛选和分页 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 用户ID in: query name: user_id type: string - description: 交易ID in: query name: transaction_id type: string - description: 产品名称 in: query name: product_name type: string - description: 状态 in: query name: status type: string - description: 开始时间 format: date-time in: query name: start_time type: string - description: 结束时间 format: date-time in: query name: end_time type: string - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取API调用记录成功 schema: $ref: '#/definitions/dto.ApiCallListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取管理端API调用记录 tags: - API管理 /api/v1/admin/invoices/{application_id}/approve: post: consumes: - multipart/form-data description: 管理员通过发票申请并上传发票文件 parameters: - description: 申请ID in: path name: application_id required: true type: string - description: 发票文件 in: formData name: file required: true type: file - description: 管理员备注 in: formData name: admin_notes type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/interfaces.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 通过发票申请 tags: - 管理员-发票管理 /api/v1/admin/invoices/{application_id}/download: get: description: 管理员下载指定发票的文件 parameters: - description: 申请ID in: path name: application_id required: true type: string produces: - application/octet-stream responses: "200": description: OK schema: type: file "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 管理员下载发票文件 tags: - 管理员-发票管理 /api/v1/admin/invoices/{application_id}/reject: post: consumes: - application/json description: 管理员拒绝发票申请 parameters: - description: 申请ID in: path name: application_id required: true type: string - description: 拒绝申请请求 in: body name: request required: true schema: $ref: '#/definitions/finance.RejectInvoiceRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/interfaces.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 拒绝发票申请 tags: - 管理员-发票管理 /api/v1/admin/invoices/pending: get: description: 管理员获取发票申请列表,支持状态和时间范围筛选 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 状态筛选:pending/completed/rejected in: query name: status type: string - description: '开始时间 (格式: 2006-01-02 15:04:05)' in: query name: start_time type: string - description: '结束时间 (格式: 2006-01-02 15:04:05)' in: query name: end_time type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/interfaces.APIResponse' - properties: data: $ref: '#/definitions/dto.PendingApplicationsResponse' type: object "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 获取发票申请列表 tags: - 管理员-发票管理 /api/v1/admin/product-categories: get: consumes: - application/json description: 管理员获取产品分类列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer produces: - application/json responses: "200": description: 获取分类列表成功 schema: $ref: '#/definitions/responses.CategoryListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取分类列表 tags: - 分类管理 post: consumes: - application/json description: 管理员创建新产品分类 parameters: - description: 创建分类请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateCategoryCommand' produces: - application/json responses: "201": description: 分类创建成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建分类 tags: - 分类管理 /api/v1/admin/product-categories/{id}: delete: consumes: - application/json description: 管理员删除产品分类 parameters: - description: 分类ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 分类删除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 分类不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除分类 tags: - 分类管理 get: consumes: - application/json description: 管理员获取分类详细信息 parameters: - description: 分类ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取分类详情成功 schema: $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 分类不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取分类详情 tags: - 分类管理 put: consumes: - application/json description: 管理员更新产品分类信息 parameters: - description: 分类ID in: path name: id required: true type: string - description: 更新分类请求 in: body name: request required: true schema: $ref: '#/definitions/commands.UpdateCategoryCommand' produces: - application/json responses: "200": description: 分类更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 分类不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新分类 tags: - 分类管理 /api/v1/admin/products: get: consumes: - application/json description: 管理员获取产品列表,支持筛选和分页,包含所有产品(包括隐藏的) parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: keyword type: string - description: 分类ID in: query name: category_id type: string - description: 是否启用 in: query name: is_enabled type: boolean - description: 是否可见 in: query name: is_visible type: boolean - description: 是否组合包 in: query name: is_package type: boolean - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取产品列表成功 schema: $ref: '#/definitions/responses.ProductAdminListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取产品列表 tags: - 产品管理 post: consumes: - application/json description: 管理员创建新产品 parameters: - description: 创建产品请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateProductCommand' produces: - application/json responses: "201": description: 产品创建成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建产品 tags: - 产品管理 /api/v1/admin/products/{id}: delete: consumes: - application/json description: 管理员删除产品 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 产品删除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除产品 tags: - 产品管理 get: consumes: - application/json description: 管理员获取产品详细信息 parameters: - description: 产品ID in: path name: id required: true type: string - description: 是否包含文档信息 in: query name: with_document type: boolean produces: - application/json responses: "200": description: 获取产品详情成功 schema: $ref: '#/definitions/responses.ProductAdminInfoResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取产品详情 tags: - 产品管理 put: consumes: - application/json description: 管理员更新产品信息 parameters: - description: 产品ID in: path name: id required: true type: string - description: 更新产品请求 in: body name: request required: true schema: $ref: '#/definitions/commands.UpdateProductCommand' produces: - application/json responses: "200": description: 产品更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新产品 tags: - 产品管理 /api/v1/admin/products/{id}/api-config: delete: consumes: - application/json description: 管理员删除产品的API配置 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: API配置删除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品或API配置不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除产品API配置 tags: - 产品管理 get: consumes: - application/json description: 管理员获取产品的API配置信息,如果不存在则返回空配置 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取API配置成功 schema: $ref: '#/definitions/responses.ProductApiConfigResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取产品API配置 tags: - 产品管理 post: consumes: - application/json description: 管理员为产品创建API配置 parameters: - description: 产品ID in: path name: id required: true type: string - description: API配置信息 in: body name: request required: true schema: $ref: '#/definitions/responses.ProductApiConfigResponse' produces: - application/json responses: "201": description: API配置创建成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "409": description: API配置已存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建产品API配置 tags: - 产品管理 put: consumes: - application/json description: 管理员更新产品的API配置 parameters: - description: 产品ID in: path name: id required: true type: string - description: API配置信息 in: body name: request required: true schema: $ref: '#/definitions/responses.ProductApiConfigResponse' produces: - application/json responses: "200": description: API配置更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品或配置不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新产品API配置 tags: - 产品管理 /api/v1/admin/products/{id}/documentation: delete: consumes: - application/json description: 管理员删除产品的文档 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 文档删除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品或文档不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除产品文档 tags: - 产品管理 get: consumes: - application/json description: 管理员获取产品的文档信息 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取文档成功 schema: $ref: '#/definitions/responses.DocumentationResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品或文档不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取产品文档 tags: - 产品管理 post: consumes: - application/json description: 管理员创建或更新产品的文档信息,如果文档不存在则创建,存在则更新 parameters: - description: 产品ID in: path name: id required: true type: string - description: 文档信息 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateDocumentationCommand' produces: - application/json responses: "200": description: 文档操作成功 schema: $ref: '#/definitions/responses.DocumentationResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建或更新产品文档 tags: - 产品管理 /api/v1/admin/products/{id}/package-items: post: consumes: - application/json description: 管理员向组合包添加子产品 parameters: - description: 组合包ID in: path name: id required: true type: string - description: 添加子产品命令 in: body name: command required: true schema: $ref: '#/definitions/commands.AddPackageItemCommand' produces: - application/json responses: "200": description: 添加成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 添加组合包子产品 tags: - 产品管理 /api/v1/admin/products/{id}/package-items/{item_id}: delete: consumes: - application/json description: 管理员从组合包移除子产品 parameters: - description: 组合包ID in: path name: id required: true type: string - description: 子产品项目ID in: path name: item_id required: true type: string produces: - application/json responses: "200": description: 移除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 移除组合包子产品 tags: - 产品管理 put: consumes: - application/json description: 管理员更新组合包子产品信息 parameters: - description: 组合包ID in: path name: id required: true type: string - description: 子产品项目ID in: path name: item_id required: true type: string - description: 更新子产品命令 in: body name: command required: true schema: $ref: '#/definitions/commands.UpdatePackageItemCommand' produces: - application/json responses: "200": description: 更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新组合包子产品 tags: - 产品管理 /api/v1/admin/products/{id}/package-items/batch: put: consumes: - application/json description: 管理员批量更新组合包子产品配置 parameters: - description: 组合包ID in: path name: id required: true type: string - description: 批量更新命令 in: body name: command required: true schema: $ref: '#/definitions/commands.UpdatePackageItemsCommand' produces: - application/json responses: "200": description: 更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 批量更新组合包子产品 tags: - 产品管理 /api/v1/admin/products/{id}/package-items/reorder: put: consumes: - application/json description: 管理员重新排序组合包子产品 parameters: - description: 组合包ID in: path name: id required: true type: string - description: 重新排序命令 in: body name: command required: true schema: $ref: '#/definitions/commands.ReorderPackageItemsCommand' produces: - application/json responses: "200": description: 排序成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 重新排序组合包子产品 tags: - 产品管理 /api/v1/admin/products/available: get: consumes: - application/json description: 管理员获取可选作组合包子产品的产品列表 parameters: - description: 排除的组合包ID in: query name: exclude_package_id type: string - description: 搜索关键词 in: query name: keyword type: string - description: 分类ID in: query name: category_id type: string - default: 1 description: 页码 in: query name: page type: integer - default: 20 description: 每页数量 in: query name: page_size type: integer produces: - application/json responses: "200": description: 获取可选产品列表成功 schema: $ref: '#/definitions/responses.ProductListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取可选子产品列表 tags: - 产品管理 /api/v1/admin/recharge-records: get: consumes: - application/json description: 管理员获取充值记录,支持筛选和分页 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 用户ID in: query name: user_id type: string - description: 充值类型 enum: - alipay - transfer - gift in: query name: recharge_type type: string - description: 状态 enum: - pending - success - failed in: query name: status type: string - description: 最小金额 in: query name: min_amount type: string - description: 最大金额 in: query name: max_amount type: string - description: 开始时间 format: date-time in: query name: start_time type: string - description: 结束时间 format: date-time in: query name: end_time type: string - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取充值记录成功 schema: $ref: '#/definitions/responses.RechargeRecordListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取管理端充值记录 tags: - 财务管理 /api/v1/admin/subscriptions: get: consumes: - application/json description: 管理员获取订阅列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: keyword type: string - description: 企业名称 in: query name: company_name type: string - description: 产品名称 in: query name: product_name type: string - description: 订阅开始时间 format: date-time in: query name: start_time type: string - description: 订阅结束时间 format: date-time in: query name: end_time type: string - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取订阅列表成功 schema: $ref: '#/definitions/responses.SubscriptionListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取订阅列表 tags: - 订阅管理 /api/v1/admin/subscriptions/{id}/price: put: consumes: - application/json description: 管理员修改用户订阅价格 parameters: - description: 订阅ID in: path name: id required: true type: string - description: 更新订阅价格请求 in: body name: request required: true schema: $ref: '#/definitions/commands.UpdateSubscriptionPriceCommand' produces: - application/json responses: "200": description: 订阅价格更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 订阅不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新订阅价格 tags: - 订阅管理 /api/v1/admin/subscriptions/batch-update-prices: post: consumes: - application/json description: 管理员一键调整用户所有订阅的价格 parameters: - description: 批量改价请求 in: body name: request required: true schema: $ref: '#/definitions/commands.BatchUpdateSubscriptionPricesCommand' produces: - application/json responses: "200": description: 一键改价成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 一键改价 tags: - 订阅管理 /api/v1/admin/subscriptions/stats: get: consumes: - application/json description: 管理员获取订阅统计信息 produces: - application/json responses: "200": description: 获取订阅统计成功 schema: $ref: '#/definitions/responses.SubscriptionStatsResponse' "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取订阅统计 tags: - 订阅管理 /api/v1/admin/wallet-transactions: get: consumes: - application/json description: 管理员获取消费记录,支持筛选和分页 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 用户ID in: query name: user_id type: string - description: 交易ID in: query name: transaction_id type: string - description: 产品名称 in: query name: product_name type: string - description: 最小金额 in: query name: min_amount type: string - description: 最大金额 in: query name: max_amount type: string - description: 开始时间 format: date-time in: query name: start_time type: string - description: 结束时间 format: date-time in: query name: end_time type: string - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取消费记录成功 schema: $ref: '#/definitions/responses.WalletTransactionListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取管理端消费记录 tags: - 财务管理 /api/v1/articles: get: consumes: - application/json description: 分页获取文章列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 文章状态 in: query name: status type: string - description: 分类ID in: query name: category_id type: string - description: 作者ID in: query name: author_id type: string - description: 是否推荐 in: query name: is_featured type: boolean - description: 排序字段 in: query name: order_by type: string - description: 排序方向 in: query name: order_dir type: string produces: - application/json responses: "200": description: 获取文章列表成功 schema: $ref: '#/definitions/responses.ArticleListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取文章列表 tags: - 文章管理 post: consumes: - application/json description: 创建新的文章 parameters: - description: 创建文章请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateArticleCommand' produces: - application/json responses: "201": description: 文章创建成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建文章 tags: - 文章管理 /api/v1/articles/{id}: delete: consumes: - application/json description: 删除指定文章 parameters: - description: 文章ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 文章删除成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除文章 tags: - 文章管理 get: consumes: - application/json description: 根据ID获取文章详情 parameters: - description: 文章ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取文章详情成功 schema: $ref: '#/definitions/responses.ArticleInfoResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取文章详情 tags: - 文章管理 put: consumes: - application/json description: 更新文章信息 parameters: - description: 文章ID in: path name: id required: true type: string - description: 更新文章请求 in: body name: request required: true schema: $ref: '#/definitions/commands.UpdateArticleCommand' produces: - application/json responses: "200": description: 文章更新成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 更新文章 tags: - 文章管理 /api/v1/articles/{id}/archive: post: consumes: - application/json description: 将已发布文章归档 parameters: - description: 文章ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 文章归档成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 归档文章 tags: - 文章管理 /api/v1/articles/{id}/featured: put: consumes: - application/json description: 设置文章的推荐状态 parameters: - description: 文章ID in: path name: id required: true type: string - description: 设置推荐状态请求 in: body name: request required: true schema: $ref: '#/definitions/commands.SetFeaturedCommand' produces: - application/json responses: "200": description: 设置推荐状态成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 设置推荐状态 tags: - 文章管理 /api/v1/articles/{id}/publish: post: consumes: - application/json description: 将草稿文章发布 parameters: - description: 文章ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 文章发布成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 文章不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 发布文章 tags: - 文章管理 /api/v1/articles/search: get: consumes: - application/json description: 根据关键词搜索文章 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: keyword required: true type: string - description: 分类ID in: query name: category_id type: string - description: 作者ID in: query name: author_id type: string - description: 文章状态 in: query name: status type: string - description: 排序字段 in: query name: order_by type: string - description: 排序方向 in: query name: order_dir type: string produces: - application/json responses: "200": description: 搜索文章成功 schema: $ref: '#/definitions/responses.ArticleListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 搜索文章 tags: - 文章管理 /api/v1/articles/stats: get: consumes: - application/json description: 获取文章相关统计数据 produces: - application/json responses: "200": description: 获取统计成功 schema: $ref: '#/definitions/responses.ArticleStatsResponse' "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取文章统计 tags: - 文章管理 /api/v1/categories: get: consumes: - application/json description: 获取产品分类列表,支持筛选 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 是否启用 in: query name: is_enabled type: boolean - description: 是否可见 in: query name: is_visible type: boolean produces: - application/json responses: "200": description: 获取分类列表成功 schema: $ref: '#/definitions/responses.CategoryListResponse' "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取分类列表 tags: - 数据大厅 /api/v1/categories/{id}: get: consumes: - application/json description: 根据分类ID获取分类详细信息 parameters: - description: 分类ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取分类详情成功 schema: $ref: '#/definitions/tyapi-server_internal_application_product_dto_responses.CategoryInfoResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "404": description: 分类不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取分类详情 tags: - 数据大厅 /api/v1/certifications: get: consumes: - application/json description: 管理员获取认证申请列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string - description: 认证状态 in: query name: status type: string - description: 用户ID in: query name: user_id type: string - description: 公司名称 in: query name: company_name type: string - description: 法人姓名 in: query name: legal_person_name type: string - description: 搜索关键词 in: query name: search_keyword type: string produces: - application/json responses: "200": description: 获取认证列表成功 schema: $ref: '#/definitions/responses.CertificationListResponse' "401": description: 未认证 schema: additionalProperties: true type: object "403": description: 权限不足 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取认证列表 tags: - 认证管理 /api/v1/certifications/apply-contract: post: consumes: - application/json description: 申请企业认证合同签署 parameters: - description: 申请合同请求 in: body name: request required: true schema: $ref: '#/definitions/commands.ApplyContractCommand' produces: - application/json responses: "200": description: 合同申请成功 schema: $ref: '#/definitions/responses.ContractSignUrlResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 认证记录不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 申请合同签署 tags: - 认证管理 /api/v1/certifications/confirm-auth: post: consumes: - application/json description: 前端轮询确认企业认证是否完成 parameters: - description: 确认状态请求 in: body name: request required: true schema: $ref: '#/definitions/queries.ConfirmAuthCommand' produces: - application/json responses: "200": description: 状态确认成功 schema: $ref: '#/definitions/responses.ConfirmAuthResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 认证记录不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 前端确认认证状态 tags: - 认证管理 /api/v1/certifications/confirm-sign: post: consumes: - application/json description: 前端轮询确认合同签署是否完成 parameters: - description: 确认状态请求 in: body name: request required: true schema: $ref: '#/definitions/queries.ConfirmSignCommand' produces: - application/json responses: "200": description: 状态确认成功 schema: $ref: '#/definitions/responses.ConfirmSignResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 认证记录不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 前端确认签署状态 tags: - 认证管理 /api/v1/certifications/details: get: consumes: - application/json description: 根据认证ID获取认证详情 produces: - application/json responses: "200": description: 获取认证详情成功 schema: $ref: '#/definitions/responses.CertificationResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 认证记录不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取认证详情 tags: - 认证管理 /api/v1/certifications/enterprise-info: post: consumes: - application/json description: 提交企业认证所需的企业信息 parameters: - description: 提交企业信息请求 in: body name: request required: true schema: $ref: '#/definitions/commands.SubmitEnterpriseInfoCommand' produces: - application/json responses: "200": description: 企业信息提交成功 schema: $ref: '#/definitions/responses.CertificationResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 认证记录不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 提交企业信息 tags: - 认证管理 /api/v1/certifications/esign/callback: post: consumes: - application/json description: 处理e签宝的异步回调通知 produces: - text/plain responses: "200": description: success schema: type: string "400": description: fail schema: type: string summary: 处理e签宝回调 tags: - 认证管理 /api/v1/debug/event-system: post: consumes: - application/json description: 调试事件系统,用于测试事件触发和处理 produces: - application/json responses: "200": description: 调试成功 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 调试事件系统 tags: - 系统调试 /api/v1/decrypt: post: consumes: - application/json description: 使用密钥解密加密的数据 parameters: - description: 解密请求 in: body name: request required: true schema: $ref: '#/definitions/commands.DecryptCommand' produces: - application/json responses: "200": description: 解密成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未授权 schema: additionalProperties: true type: object "500": description: 解密失败 schema: additionalProperties: true type: object security: - Bearer: [] summary: 解密参数 tags: - API调试 /api/v1/encrypt: post: consumes: - application/json description: 用于前端调试时加密API调用参数 parameters: - description: 加密请求 in: body name: request required: true schema: $ref: '#/definitions/commands.EncryptCommand' produces: - application/json responses: "200": description: 加密成功 schema: $ref: '#/definitions/dto.EncryptResponse' "400": description: 请求参数错误 schema: $ref: '#/definitions/dto.EncryptResponse' "401": description: 未授权 schema: $ref: '#/definitions/dto.EncryptResponse' summary: 加密参数 tags: - API调试 /api/v1/finance/alipay/callback: post: consumes: - application/x-www-form-urlencoded description: 处理支付宝异步支付通知 produces: - text/plain responses: "200": description: success schema: type: string "400": description: fail schema: type: string summary: 支付宝支付回调 tags: - 支付管理 /api/v1/finance/alipay/return: get: consumes: - application/x-www-form-urlencoded description: 处理支付宝同步支付通知,跳转到前端成功页面 produces: - text/html responses: "200": description: 支付成功页面 schema: type: string "400": description: 支付失败页面 schema: type: string summary: 支付宝同步回调 tags: - 支付管理 /api/v1/finance/wallet: get: consumes: - application/json description: 获取当前用户的钱包详细信息 produces: - application/json responses: "200": description: 获取钱包信息成功 schema: $ref: '#/definitions/responses.WalletResponse' "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 钱包不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取钱包信息 tags: - 钱包管理 /api/v1/finance/wallet/alipay-order-status: get: consumes: - application/json description: 获取支付宝订单的当前状态,用于轮询查询 parameters: - description: 商户订单号 in: query name: out_trade_no required: true type: string produces: - application/json responses: "200": description: 获取订单状态成功 schema: $ref: '#/definitions/responses.AlipayOrderStatusResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 订单不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取支付宝订单状态 tags: - 钱包管理 /api/v1/finance/wallet/alipay-recharge: post: consumes: - application/json description: 创建支付宝充值订单并返回支付链接 parameters: - description: 充值请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateAlipayRechargeCommand' produces: - application/json responses: "200": description: 创建充值订单成功 schema: $ref: '#/definitions/responses.AlipayRechargeOrderResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建支付宝充值订单 tags: - 钱包管理 /api/v1/finance/wallet/recharge-config: get: consumes: - application/json description: 获取当前环境的充值配置信息(最低充值金额、最高充值金额等) produces: - application/json responses: "200": description: 获取充值配置成功 schema: $ref: '#/definitions/responses.RechargeConfigResponse' "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取充值配置 tags: - 钱包管理 /api/v1/finance/wallet/transactions: get: consumes: - application/json description: 获取当前用户的钱包交易记录列表,支持分页和筛选 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: '开始时间 (格式: 2006-01-02 15:04:05)' in: query name: start_time type: string - description: '结束时间 (格式: 2006-01-02 15:04:05)' in: query name: end_time type: string - description: 交易ID in: query name: transaction_id type: string - description: 产品名称 in: query name: product_name type: string - description: 最小金额 in: query name: min_amount type: string - description: 最大金额 in: query name: max_amount type: string produces: - application/json responses: "200": description: 获取成功 schema: $ref: '#/definitions/responses.WalletTransactionListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取用户钱包交易记录 tags: - 钱包管理 /api/v1/form-config/{api_code}: get: consumes: - application/json description: 获取指定API的表单配置,用于前端动态生成表单 parameters: - description: API代码 in: path name: api_code required: true type: string produces: - application/json responses: "200": description: 获取成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未授权 schema: additionalProperties: true type: object "404": description: API接口不存在 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取表单配置 tags: - API调试 /api/v1/invoices/{application_id}/download: get: description: 下载指定发票的文件 parameters: - description: 申请ID in: path name: application_id required: true type: string produces: - application/octet-stream responses: "200": description: OK schema: type: file "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 下载发票文件 tags: - 发票管理 /api/v1/invoices/apply: post: consumes: - application/json description: 用户申请开票 parameters: - description: 申请开票请求 in: body name: request required: true schema: $ref: '#/definitions/finance.ApplyInvoiceRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/interfaces.APIResponse' - properties: data: $ref: '#/definitions/dto.InvoiceApplicationResponse' type: object "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 申请开票 tags: - 发票管理 /api/v1/invoices/available-amount: get: description: 获取用户当前可开票的金额 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/interfaces.APIResponse' - properties: data: $ref: '#/definitions/dto.AvailableAmountResponse' type: object "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 获取可开票金额 tags: - 发票管理 /api/v1/invoices/info: get: description: 获取用户的发票信息 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/interfaces.APIResponse' - properties: data: $ref: '#/definitions/dto.InvoiceInfoResponse' type: object "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 获取用户发票信息 tags: - 发票管理 put: consumes: - application/json description: 更新用户的发票信息 parameters: - description: 更新发票信息请求 in: body name: request required: true schema: $ref: '#/definitions/finance.UpdateInvoiceInfoRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/interfaces.APIResponse' "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 更新用户发票信息 tags: - 发票管理 /api/v1/invoices/records: get: description: 获取用户的开票记录列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 状态筛选 in: query name: status type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/interfaces.APIResponse' - properties: data: $ref: '#/definitions/dto.InvoiceRecordsResponse' type: object "400": description: Bad Request schema: $ref: '#/definitions/interfaces.APIResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/interfaces.APIResponse' summary: 获取用户开票记录 tags: - 发票管理 /api/v1/my/api-calls: get: consumes: - application/json description: 获取当前用户的API调用记录列表,支持分页和筛选 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: '开始时间 (格式: 2006-01-02 15:04:05)' in: query name: start_time type: string - description: '结束时间 (格式: 2006-01-02 15:04:05)' in: query name: end_time type: string - description: 交易ID in: query name: transaction_id type: string - description: 产品名称 in: query name: product_name type: string - description: 状态 (pending/success/failed) in: query name: status type: string produces: - application/json responses: "200": description: 获取成功 schema: $ref: '#/definitions/dto.ApiCallListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取用户API调用记录 tags: - API管理 /api/v1/my/subscriptions: get: consumes: - application/json description: 获取当前用户的订阅列表 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: keyword type: string - description: 产品名称 in: query name: product_name type: string - description: 订阅开始时间 format: date-time in: query name: start_time type: string - description: 订阅结束时间 format: date-time in: query name: end_time type: string - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取订阅列表成功 schema: $ref: '#/definitions/responses.SubscriptionListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取我的订阅列表 tags: - 我的订阅 /api/v1/my/subscriptions/{id}: get: consumes: - application/json description: 获取指定订阅的详细信息 parameters: - description: 订阅ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取订阅详情成功 schema: $ref: '#/definitions/responses.SubscriptionInfoResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 订阅不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取我的订阅详情 tags: - 我的订阅 /api/v1/my/subscriptions/{id}/usage: get: consumes: - application/json description: 获取指定订阅的使用情况统计 parameters: - description: 订阅ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取使用情况成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 订阅不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取我的订阅使用情况 tags: - 我的订阅 /api/v1/my/subscriptions/stats: get: consumes: - application/json description: 获取当前用户的订阅统计信息 produces: - application/json responses: "200": description: 获取订阅统计成功 schema: $ref: '#/definitions/responses.SubscriptionStatsResponse' "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取我的订阅统计 tags: - 我的订阅 /api/v1/my/whitelist/{ip}: delete: consumes: - application/json description: 从当前用户的白名单中删除指定IP地址 parameters: - description: IP地址 in: path name: ip required: true type: string produces: - application/json responses: "200": description: 删除白名单IP成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 删除白名单IP tags: - API管理 /api/v1/products: get: consumes: - application/json description: 分页获取可用的产品列表,支持筛选,默认只返回可见的产品 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: keyword type: string - description: 分类ID in: query name: category_id type: string - description: 是否启用 in: query name: is_enabled type: boolean - description: 是否可见 in: query name: is_visible type: boolean - description: 是否组合包 in: query name: is_package type: boolean - description: 是否已订阅(需要认证) in: query name: is_subscribed type: boolean - description: 排序字段 in: query name: sort_by type: string - description: 排序方向 enum: - asc - desc in: query name: sort_order type: string produces: - application/json responses: "200": description: 获取产品列表成功 schema: $ref: '#/definitions/responses.ProductListResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取产品列表 tags: - 数据大厅 /api/v1/products/{id}: get: consumes: - application/json description: 获取产品详细信息,用户端只能查看可见的产品 parameters: - description: 产品ID in: path name: id required: true type: string - description: 是否包含文档信息 in: query name: with_document type: boolean produces: - application/json responses: "200": description: 获取产品详情成功 schema: $ref: '#/definitions/responses.ProductInfoWithDocumentResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "404": description: 产品不存在或不可见 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取产品详情 tags: - 数据大厅 /api/v1/products/{id}/api-config: get: consumes: - application/json description: 根据产品ID获取API配置信息 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取成功 schema: $ref: '#/definitions/responses.ProductApiConfigResponse' "400": description: 请求参数错误 schema: $ref: '#/definitions/interfaces.APIResponse' "404": description: 配置不存在 schema: $ref: '#/definitions/interfaces.APIResponse' summary: 获取产品API配置 tags: - 产品API配置 /api/v1/products/{id}/documentation: get: consumes: - application/json description: 获取指定产品的文档信息 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取产品文档成功 schema: $ref: '#/definitions/responses.DocumentationResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取产品文档 tags: - 数据大厅 /api/v1/products/{id}/subscribe: post: consumes: - application/json description: 用户订阅指定产品 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 订阅成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 产品不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 订阅产品 tags: - 数据大厅 /api/v1/products/code/{product_code}/api-config: get: consumes: - application/json description: 根据产品代码获取API配置信息 parameters: - description: 产品代码 in: path name: product_code required: true type: string produces: - application/json responses: "200": description: 获取成功 schema: $ref: '#/definitions/responses.ProductApiConfigResponse' "400": description: 请求参数错误 schema: $ref: '#/definitions/interfaces.APIResponse' "404": description: 配置不存在 schema: $ref: '#/definitions/interfaces.APIResponse' summary: 根据产品代码获取API配置 tags: - 产品API配置 /api/v1/products/stats: get: consumes: - application/json description: 获取产品相关的统计信息 produces: - application/json responses: "200": description: 获取统计信息成功 schema: $ref: '#/definitions/responses.ProductStatsResponse' "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 获取产品统计 tags: - 数据大厅 /api/v1/users/admin/{user_id}: get: consumes: - application/json description: 管理员获取指定用户的详细信息 parameters: - description: 用户ID in: path name: user_id required: true type: string produces: - application/json responses: "200": description: 用户详情 schema: $ref: '#/definitions/responses.UserDetailResponse' "401": description: 未认证 schema: additionalProperties: true type: object "403": description: 权限不足 schema: additionalProperties: true type: object "404": description: 用户不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 管理员获取用户详情 tags: - 用户管理 /api/v1/users/admin/list: get: consumes: - application/json description: 管理员查看用户列表,支持分页和筛选 parameters: - default: 1 description: 页码 in: query name: page type: integer - default: 10 description: 每页数量 in: query name: page_size type: integer - description: 手机号筛选 in: query name: phone type: string - description: 用户类型筛选 enum: - user - admin in: query name: user_type type: string - description: 是否激活筛选 in: query name: is_active type: boolean - description: 是否已认证筛选 in: query name: is_certified type: boolean - description: 企业名称筛选 in: query name: company_name type: string - description: 开始日期 format: date in: query name: start_date type: string - description: 结束日期 format: date in: query name: end_date type: string produces: - application/json responses: "200": description: 用户列表 schema: $ref: '#/definitions/responses.UserListResponse' "401": description: 未认证 schema: additionalProperties: true type: object "403": description: 权限不足 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 管理员查看用户列表 tags: - 用户管理 /api/v1/users/admin/stats: get: consumes: - application/json description: 管理员获取用户相关的统计信息 produces: - application/json responses: "200": description: 用户统计信息 schema: $ref: '#/definitions/responses.UserStatsResponse' "401": description: 未认证 schema: additionalProperties: true type: object "403": description: 权限不足 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取用户统计信息 tags: - 用户管理 /api/v1/users/login-password: post: consumes: - application/json description: 使用手机号和密码进行用户登录,返回JWT令牌 parameters: - description: 密码登录请求 in: body name: request required: true schema: $ref: '#/definitions/commands.LoginWithPasswordCommand' produces: - application/json responses: "200": description: 登录成功 schema: $ref: '#/definitions/responses.LoginUserResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 用户名或密码错误 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 用户密码登录 tags: - 用户认证 /api/v1/users/login-sms: post: consumes: - application/json description: 使用手机号和短信验证码进行用户登录,返回JWT令牌 parameters: - description: 短信登录请求 in: body name: request required: true schema: $ref: '#/definitions/commands.LoginWithSMSCommand' produces: - application/json responses: "200": description: 登录成功 schema: $ref: '#/definitions/responses.LoginUserResponse' "400": description: 请求参数错误或验证码无效 schema: additionalProperties: true type: object "401": description: 认证失败 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 用户短信验证码登录 tags: - 用户认证 /api/v1/users/me: get: consumes: - application/json description: 根据JWT令牌获取当前登录用户的详细信息 produces: - application/json responses: "200": description: 用户信息 schema: $ref: '#/definitions/responses.UserProfileResponse' "401": description: 未认证 schema: additionalProperties: true type: object "404": description: 用户不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取当前用户信息 tags: - 用户管理 /api/v1/users/me/password: put: consumes: - application/json description: 使用旧密码、新密码确认和验证码修改当前用户的密码 parameters: - description: 修改密码请求 in: body name: request required: true schema: $ref: '#/definitions/commands.ChangePasswordCommand' produces: - application/json responses: "200": description: 密码修改成功 schema: additionalProperties: true type: object "400": description: 请求参数错误或验证码无效 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 修改密码 tags: - 用户管理 /api/v1/users/register: post: consumes: - application/json description: 使用手机号、密码和验证码进行用户注册,需要确认密码 parameters: - description: 用户注册请求 in: body name: request required: true schema: $ref: '#/definitions/commands.RegisterUserCommand' produces: - application/json responses: "201": description: 注册成功 schema: $ref: '#/definitions/responses.RegisterUserResponse' "400": description: 请求参数错误或验证码无效 schema: additionalProperties: true type: object "409": description: 手机号已存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 用户注册 tags: - 用户认证 /api/v1/users/reset-password: post: consumes: - application/json description: 使用手机号、验证码和新密码重置用户密码(忘记密码时使用) parameters: - description: 重置密码请求 in: body name: request required: true schema: $ref: '#/definitions/commands.ResetPasswordCommand' produces: - application/json responses: "200": description: 密码重置成功 schema: additionalProperties: true type: object "400": description: 请求参数错误或验证码无效 schema: additionalProperties: true type: object "404": description: 用户不存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 重置密码 tags: - 用户认证 /api/v1/users/send-code: post: consumes: - application/json description: 向指定手机号发送验证码,支持注册、登录、修改密码等场景 parameters: - description: 发送验证码请求 in: body name: request required: true schema: $ref: '#/definitions/commands.SendCodeCommand' produces: - application/json responses: "200": description: 验证码发送成功 schema: additionalProperties: true type: object "400": description: 请求参数错误 schema: additionalProperties: true type: object "429": description: 请求频率限制 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 发送短信验证码 tags: - 用户认证 securityDefinitions: Bearer: description: Type "Bearer" followed by a space and JWT token. in: header name: Authorization type: apiKey swagger: "2.0"