Files
jnc-server/app/main/api/desc/front/agent.api
2025-12-27 18:12:05 +08:00

274 lines
9.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "v1"
info (
title: "代理服务(简化版)"
desc: "新代理系统接口 - 系统简化后移除团队、返佣、升级、提现、实名、邀请码功能"
version: "v1"
)
// ============================================
// 公开接口(无需认证)
// ============================================
@server (
prefix: api/v1/agent
group: agent
)
service main {
// 获取推广链接数据
@handler GetLinkData
get /link (GetLinkDataReq) returns (GetLinkDataResp)
}
@server (
prefix: api/v1/agent
group: agent
middleware: AuthInterceptor
)
service main {
// 申请成为代理(系统简化:无需邀请码)
@handler ApplyForAgent
post /apply (AgentApplyReq) returns (AgentApplyResp)
}
// ============================================
// 需要登录的接口
// ============================================
@server (
prefix: api/v1/agent
group: agent
jwt: JwtAuth
middleware: UserAuthInterceptor
)
service main {
// 查看代理信息(简化版)
@handler GetAgentInfo
get /info returns (AgentInfoResp)
// 获取代理仪表板数据(简化版)
@handler GetAgentDashboard
get /dashboard returns (AgentDashboardResp)
// 生成推广链接
@handler GeneratingLink
post /generating_link (AgentGeneratingLinkReq) returns (AgentGeneratingLinkResp)
// 获取产品配置
@handler GetAgentProductConfig
get /product_config returns (AgentProductConfigResp)
// 获取收益信息(简化版)
@handler GetRevenueInfo
get /revenue returns (GetRevenueInfoResp)
// 获取佣金记录
@handler GetCommissionList
get /commission/list (GetCommissionListReq) returns (GetCommissionListResp)
// 获取推广查询报告列表
@handler GetPromotionQueryList
get /promotion/query/list (GetPromotionQueryListReq) returns (GetPromotionQueryListResp)
// 创建提现申请
@handler CreateWithdraw
post /withdraw/create (CreateWithdrawReq) returns (CreateWithdrawResp)
// 获取提现记录列表
@handler GetWithdrawList
get /withdraw/list (GetWithdrawListReq) returns (GetWithdrawListResp)
}
// ============================================
// 短链重定向接口公开访问不需要认证和api前缀
// ============================================
@server (
group: agent
)
service main {
// 短链重定向
@handler ShortLinkRedirect
get /s/:shortCode returns (ShortLinkRedirectResp)
}
// ============================================
// 类型定义
// ============================================
type (
// 获取推广链接数据
GetLinkDataReq {
LinkIdentifier string `form:"link_identifier"` // 推广链接标识
}
GetLinkDataResp {
AgentId string `json:"agent_id"` // 代理ID
ProductId string `json:"product_id"` // 产品ID
SetPrice float64 `json:"set_price"` // 代理设定价格
ActualBasePrice float64 `json:"actual_base_price"` // 实际底价
ProductName string `json:"product_name"` // 产品名称
ProductEn string `json:"product_en"` // 产品英文标识
SellPrice float64 `json:"sell_price"` // 销售价格(使用代理设定价格)
Description string `json:"description"` // 产品描述
Features []Feature `json:"features"` // 产品功能列表
}
// 申请成为代理
AgentApplyReq {
Region string `json:"region,optional"`
Mobile string `json:"mobile"`
Code string `json:"code"`
Referrer string `json:"referrer"`
AgentCode int64 `json:"agent_code,optional"`
}
AgentApplyResp {
AccessToken string `json:"accessToken"`
AccessExpire int64 `json:"accessExpire"`
RefreshAfter int64 `json:"refreshAfter"`
AgentCode int64 `json:"agent_code"`
}
// 代理信息(简化版)
AgentInfoResp {
AgentId string `json:"agent_id"`
Region string `json:"region"`
Mobile string `json:"mobile"`
WechatId string `json:"wechat_id"`
AgentCode int64 `json:"agent_code"`
}
// 代理仪表板数据(简化版)
AgentDashboardResp {
Statistics DashboardStatistics `json:"statistics"` // 统计数据
PromotionLink string `json:"promotion_link"` // 推广链接
Product DashboardProduct `json:"product"` // 产品信息
}
DashboardStatistics {
TodayOrders int64 `json:"today_orders"` // 今日订单数
TodayEarnings string `json:"today_earnings"` // 今日佣金
MonthEarnings string `json:"month_earnings"` // 本月佣金
TotalOrders int64 `json:"total_orders"` // 总订单数
TotalEarnings string `json:"total_earnings"` // 总佣金
CommissionRate string `json:"commission_rate"` // 佣金率
CurrentBalance string `json:"current_balance"` // 当前余额
FrozenBalance string `json:"frozen_balance"` // 冻结余额
}
DashboardProduct {
Name string `json:"name"` // 产品名称
Price string `json:"price"` // 价格
Description string `json:"description"` // 描述
}
// 生成推广链接
AgentGeneratingLinkReq {
ProductId string `json:"product_id"` // 产品ID
SetPrice float64 `json:"set_price"` // 设定价格
TargetPath string `json:"target_path,optional"` // 目标地址(可选,默认为推广报告页面)
}
AgentGeneratingLinkResp {
LinkIdentifier string `json:"link_identifier"` // 推广链接标识
FullLink string `json:"full_link"` // 完整短链URL
}
// 产品配置
AgentProductConfigResp {
List []ProductConfigItem `json:"list"`
}
ProductConfigItem {
ProductId string `json:"product_id"` // 产品ID
ProductName string `json:"product_name"` // 产品名称
ProductEn string `json:"product_en"` // 产品英文标识
ActualBasePrice float64 `json:"actual_base_price"` // 实际底价
PriceRangeMin float64 `json:"price_range_min"` // 最低价格
PriceRangeMax float64 `json:"price_range_max"` // 最高价格
PriceThreshold float64 `json:"price_threshold"` // 提价标准阈值
PriceFeeRate float64 `json:"price_fee_rate"` // 提价手续费比例
}
// 收益信息(简化版)
GetRevenueInfoResp {
Balance float64 `json:"balance"` // 可用余额
TotalEarnings float64 `json:"total_earnings"` // 累计收益
CommissionTotal float64 `json:"commission_total"` // 佣金累计总收益
CommissionToday float64 `json:"commission_today"` // 佣金今日收益
CommissionMonth float64 `json:"commission_month"` // 佣金本月收益
}
// 佣金记录
GetCommissionListReq {
Page int64 `form:"page"` // 页码
PageSize int64 `form:"page_size"` // 每页数量
}
GetCommissionListResp {
Total int64 `json:"total"` // 总数
List []CommissionItem `json:"list"` // 列表
}
CommissionItem {
Id string `json:"id"` // 记录ID
OrderId string `json:"order_id"` // 订单ID
OrderNo string `json:"order_no"` // 订单号
ProductName string `json:"product_name"` // 产品名称
Amount float64 `json:"amount"` // 佣金金额
Status int64 `json:"status"` // 状态1=已发放2=已冻结3=已取消
CreateTime string `json:"create_time"` // 创建时间
}
// 推广查询列表
GetPromotionQueryListReq {
Page int64 `form:"page"` // 页码
PageSize int64 `form:"page_size"` // 每页数量
}
GetPromotionQueryListResp {
Total int64 `json:"total"` // 总数
List []PromotionQueryItem `json:"list"` // 列表
}
PromotionQueryItem {
Id string `json:"id"` // 查询ID
OrderId string `json:"order_id"` // 订单ID
OrderNo string `json:"order_no"` // 订单号
ProductName string `json:"product_name"` // 产品名称
OrderAmount float64 `json:"order_amount"` // 订单金额
Amount float64 `json:"amount"` // 推广收益
QueryName string `json:"query_name"` // 查询人姓名
QueryMobile string `json:"query_mobile"` // 查询人手机号
CreateTime string `json:"create_time"` // 创建时间
QueryState string `json:"query_state"` // 查询状态
}
// 短链重定向
ShortLinkRedirectResp {}
// ============================================
// 提现相关
// ============================================
// 创建提现申请
CreateWithdrawReq {
WithdrawAmount float64 `json:"withdraw_amount"` // 提现金额
AccountName string `json:"account_name"` // 收款人姓名
BankCardNumber string `json:"bank_card_number"` // 银行卡号
BankBranch string `json:"bank_branch,optional"` // 开户支行(可选)
}
CreateWithdrawResp {
WithdrawId string `json:"withdraw_id"` // 提现记录ID
}
// 获取提现记录列表
GetWithdrawListReq {
Page int64 `form:"page"` // 页码
PageSize int64 `form:"page_size"` // 每页数量
}
GetWithdrawListResp {
Total int64 `json:"total"` // 总数
List []WithdrawItem `json:"list"` // 列表
}
WithdrawItem {
Id string `json:"id"` // 记录ID
WithdrawAmount string `json:"withdraw_amount"` // 提现金额
TaxAmount string `json:"tax_amount"` // 税费金额
ActualAmount string `json:"actual_amount"` // 实际到账金额
AccountName string `json:"account_name"` // 收款人姓名
BankCardNumber string `json:"bank_card_number"` // 银行卡号(脱敏)
Status int64 `json:"status"` // 状态0=待审核1=已通过2=已拒绝
AuditRemark string `json:"audit_remark"` // 审核备注
CreateTime string `json:"create_time"` // 创建时间
AuditTime string `json:"audit_time"` // 审核时间
}
)