basePath: / definitions: commands.ApplyContractCommand: properties: certification_id: type: string user_id: type: string required: - certification_id - 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.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.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.CreateUserSecretsCommand: properties: expires_at: type: string user_id: type: string required: - user_id type: object commands.CreateWalletCommand: properties: user_id: type: string required: - user_id type: object commands.EsignCallbackCommand: properties: callback_type: enum: - auth_result - sign_result - flow_status type: string certification_id: type: string headers: additionalProperties: type: string type: object query_params: additionalProperties: type: string type: object raw_data: type: string required: - callback_type - certification_id - raw_data 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.RechargeWalletCommand: properties: amount: type: number user_id: type: string required: - amount - user_id 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.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.SubmitEnterpriseInfoCommand: properties: company_name: maxLength: 100 minLength: 2 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 - legal_person_id - legal_person_name - legal_person_phone - unified_social_code - verification_code 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.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 commands.UpdateWalletCommand: properties: balance: type: number is_active: type: boolean user_id: type: string required: - user_id type: object commands.WalletTransactionCommand: properties: amount: type: number from_user_id: type: string notes: maxLength: 200 type: string to_user_id: type: string user_id: type: string required: - amount - from_user_id - to_user_id - user_id type: object commands.WithdrawWalletCommand: properties: amount: type: number user_id: type: string required: - amount - user_id type: object enums.CertificationStatus: enum: - pending - info_submitted - enterprise_verified - contract_applied - contract_signed - info_rejected - contract_rejected - contract_expired type: string x-enum-comments: StatusContractApplied: 已申请签署合同 StatusContractExpired: 合同签署超时 StatusContractRejected: 合同被拒签 StatusContractSigned: 已签署合同(认证完成) StatusEnterpriseVerified: 已企业认证 StatusInfoRejected: 企业信息被拒绝 StatusInfoSubmitted: 已提交企业信息 StatusPending: 待认证 x-enum-varnames: - StatusPending - StatusInfoSubmitted - StatusEnterpriseVerified - StatusContractApplied - StatusContractSigned - 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-varnames: - FailureReasonEnterpriseNotExists - FailureReasonEnterpriseInfoMismatch - FailureReasonEnterpriseStatusAbnormal - FailureReasonLegalPersonMismatch - FailureReasonEsignVerificationFailed - FailureReasonInvalidDocument - FailureReasonContractRejectedByUser - FailureReasonContractExpired - FailureReasonSignProcessFailed - FailureReasonContractGenFailed - FailureReasonEsignFlowError - FailureReasonSystemError - FailureReasonNetworkError - FailureReasonTimeout - FailureReasonUnknownError responses.CallbackResponse: properties: callback_type: type: string certification_id: type: string message: type: string new_status: $ref: '#/definitions/enums.CertificationStatus' old_status: $ref: '#/definitions/enums.CertificationStatus' processed_at: type: string success: type: boolean type: object 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 responses.CategoryListResponse: properties: items: items: $ref: '#/definitions/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 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.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.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 id: example: 123e4567-e89b-12d3-a456-426614174000 type: string is_certified: example: false type: boolean is_face_verified: example: false type: boolean is_ocr_verified: example: false type: boolean legal_person_id: example: "110101199001011234" type: string legal_person_name: example: 张三 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.ProductInfoResponse: properties: category: allOf: - $ref: '#/definitions/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_visible: type: boolean name: type: string 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 name: 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.RegisterUserResponse: description: 用户注册成功响应 properties: id: example: 123e4567-e89b-12d3-a456-426614174000 type: string phone: example: "13800138000" type: string type: object responses.SubscriptionInfoResponse: properties: api_used: type: integer created_at: type: string id: type: string price: type: number product: allOf: - $ref: '#/definitions/responses.ProductSimpleResponse' description: 关联信息 product_id: type: string updated_at: type: string 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.SubscriptionUsageResponse: properties: api_used: type: integer id: type: string product_id: type: string type: object responses.TransactionResponse: properties: amount: type: number created_at: type: string from_balance: type: number from_user_id: type: string notes: type: string to_balance: type: number to_user_id: type: string transaction_id: type: string 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.UserSecretsResponse: properties: access_id: type: string access_key: type: string created_at: type: string expires_at: type: string id: type: string is_active: type: boolean last_used_at: type: string updated_at: type: string user_id: type: string type: object responses.WalletResponse: properties: balance: type: number created_at: type: string id: type: string is_active: type: boolean updated_at: type: string user_id: type: string type: object responses.WalletStatsResponse: properties: active_wallets: type: integer today_transactions: type: integer today_volume: type: number total_balance: type: number total_wallets: type: integer 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: business_scope: description: 经营范围 type: string company_name: description: 企业基本信息 type: string establishment_date: 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 registered_capital: description: 注册资本 type: string unified_social_code: description: 统一社会信用代码 type: string type: object 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/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/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: status type: string 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: - 产品管理 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 produces: - application/json responses: "200": description: 获取产品详情成功 schema: $ref: '#/definitions/responses.ProductInfoResponse' "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/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: status 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/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/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/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/callbacks: post: consumes: - application/json description: 处理e签宝的企业认证和合同签署回调 parameters: - description: e签宝回调数据 in: body name: request required: true schema: $ref: '#/definitions/commands.EsignCallbackCommand' produces: - application/json responses: "200": description: 回调处理成功 schema: $ref: '#/definitions/responses.CallbackResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 处理e签宝回调 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/finance/secrets: get: consumes: - application/json description: 获取当前用户的API访问密钥信息 produces: - application/json responses: "200": description: 获取用户密钥成功 schema: $ref: '#/definitions/responses.UserSecretsResponse' "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: 为用户创建API访问密钥 parameters: - description: 创建密钥请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateUserSecretsCommand' produces: - application/json responses: "201": description: 用户密钥创建成功 schema: $ref: '#/definitions/responses.UserSecretsResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "401": description: 未认证 schema: additionalProperties: true type: object "409": description: 密钥已存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 创建用户密钥 tags: - 用户密钥管理 /api/v1/finance/secrets/deactivate: post: consumes: - application/json description: 停用用户的API访问密钥 produces: - application/json responses: "200": 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/secrets/regenerate: post: consumes: - application/json description: 重新生成用户的API访问密钥 produces: - application/json responses: "200": description: 访问密钥重新生成成功 schema: $ref: '#/definitions/responses.UserSecretsResponse' "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: 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: - 钱包管理 post: consumes: - application/json description: 为用户创建新的钱包账户 parameters: - description: 创建钱包请求 in: body name: request required: true schema: $ref: '#/definitions/commands.CreateWalletCommand' produces: - application/json responses: "201": description: 钱包创建成功 schema: $ref: '#/definitions/responses.WalletResponse' "400": description: 请求参数错误 schema: additionalProperties: true type: object "409": description: 钱包已存在 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object summary: 创建钱包 tags: - 钱包管理 put: consumes: - application/json description: 更新当前用户的钱包基本信息 parameters: - description: 更新钱包请求 in: body name: request required: true schema: $ref: '#/definitions/commands.UpdateWalletCommand' 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/finance/wallet/recharge: post: consumes: - application/json description: 为钱包进行充值操作 parameters: - description: 充值请求 in: body name: request required: true schema: $ref: '#/definitions/commands.RechargeWalletCommand' produces: - application/json responses: "200": description: 充值成功 schema: $ref: '#/definitions/responses.TransactionResponse' "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/stats: get: consumes: - application/json description: 获取钱包相关的统计数据 produces: - application/json responses: "200": description: 获取钱包统计成功 schema: $ref: '#/definitions/responses.WalletStatsResponse' "401": description: 未认证 schema: additionalProperties: true type: object "500": description: 服务器内部错误 schema: additionalProperties: true type: object security: - Bearer: [] summary: 获取钱包统计 tags: - 钱包管理 /api/v1/finance/wallet/transaction: post: consumes: - application/json description: 执行钱包内部交易操作 parameters: - description: 交易请求 in: body name: request required: true schema: $ref: '#/definitions/commands.WalletTransactionCommand' produces: - application/json responses: "200": description: 交易成功 schema: $ref: '#/definitions/responses.TransactionResponse' "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/withdraw: post: consumes: - application/json description: 从钱包进行提现操作 parameters: - description: 提现请求 in: body name: request required: true schema: $ref: '#/definitions/commands.WithdrawWalletCommand' produces: - application/json responses: "200": description: 提现申请已提交 schema: $ref: '#/definitions/responses.TransactionResponse' "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: 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: 排序字段 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: $ref: '#/definitions/responses.SubscriptionUsageResponse' "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/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: min_price type: number - description: 最高价格 in: query name: max_price type: number - 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.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: 根据产品ID获取产品详细信息 parameters: - description: 产品ID in: path name: id required: true type: string produces: - application/json responses: "200": description: 获取产品详情成功 schema: $ref: '#/definitions/responses.ProductInfoResponse' "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/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/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"