183 lines
5.4 KiB
Plaintext
183 lines
5.4 KiB
Plaintext
|
syntax = "v1"
|
|||
|
|
|||
|
info (
|
|||
|
title: "推广服务"
|
|||
|
desc: "推广服务"
|
|||
|
author: "Liangzai"
|
|||
|
email: "2440983361@qq.com"
|
|||
|
version: "v1"
|
|||
|
)
|
|||
|
|
|||
|
@server (
|
|||
|
prefix: api/v1/admin/promotion/link
|
|||
|
group: admin_promotion
|
|||
|
jwt: JwtAuth
|
|||
|
)
|
|||
|
service main {
|
|||
|
@doc "获取推广链接列表"
|
|||
|
@handler GetPromotionLinkList
|
|||
|
get /list (GetPromotionLinkListReq) returns (GetPromotionLinkListResp)
|
|||
|
|
|||
|
@doc "获取推广链接详情"
|
|||
|
@handler GetPromotionLinkDetail
|
|||
|
get /detail/:id (GetPromotionLinkDetailReq) returns (GetPromotionLinkDetailResp)
|
|||
|
|
|||
|
@doc "创建推广链接"
|
|||
|
@handler CreatePromotionLink
|
|||
|
post /create (CreatePromotionLinkReq) returns (CreatePromotionLinkResp)
|
|||
|
|
|||
|
@doc "更新推广链接"
|
|||
|
@handler UpdatePromotionLink
|
|||
|
put /update/:id (UpdatePromotionLinkReq) returns (UpdatePromotionLinkResp)
|
|||
|
|
|||
|
@doc "删除推广链接"
|
|||
|
@handler DeletePromotionLink
|
|||
|
delete /delete/:id (DeletePromotionLinkReq) returns (DeletePromotionLinkResp)
|
|||
|
}
|
|||
|
|
|||
|
type (
|
|||
|
// 列表请求
|
|||
|
GetPromotionLinkListReq {
|
|||
|
Page int64 `form:"page,default=1"` // 页码
|
|||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
|||
|
Name string `form:"name,optional"` // 链接名称
|
|||
|
Url string `form:"url,optional"` // 推广链接URL
|
|||
|
}
|
|||
|
|
|||
|
// 列表响应
|
|||
|
GetPromotionLinkListResp {
|
|||
|
Total int64 `json:"total"` // 总数
|
|||
|
Items []PromotionLinkItem `json:"items"` // 列表
|
|||
|
}
|
|||
|
|
|||
|
// 列表项
|
|||
|
PromotionLinkItem {
|
|||
|
Id int64 `json:"id"` // 链接ID
|
|||
|
Name string `json:"name"` // 链接名称
|
|||
|
Url string `json:"url"` // 推广链接URL
|
|||
|
ClickCount int64 `json:"click_count"` // 点击数
|
|||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
|||
|
PayAmount string `json:"pay_amount"` // 付费金额
|
|||
|
CreateTime string `json:"create_time"` // 创建时间
|
|||
|
LastClickTime string `json:"last_click_time,optional"` // 最后点击时间
|
|||
|
LastPayTime string `json:"last_pay_time,optional"` // 最后付费时间
|
|||
|
}
|
|||
|
|
|||
|
// 详情请求
|
|||
|
GetPromotionLinkDetailReq {
|
|||
|
Id int64 `path:"id"` // 链接ID
|
|||
|
}
|
|||
|
|
|||
|
// 详情响应
|
|||
|
GetPromotionLinkDetailResp {
|
|||
|
Name string `json:"name"` // 链接名称
|
|||
|
Url string `json:"url"` // 推广链接URL
|
|||
|
ClickCount int64 `json:"click_count"` // 点击数
|
|||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
|||
|
PayAmount string `json:"pay_amount"` // 付费金额
|
|||
|
CreateTime string `json:"create_time"` // 创建时间
|
|||
|
UpdateTime string `json:"update_time"` // 更新时间
|
|||
|
LastClickTime string `json:"last_click_time,optional"` // 最后点击时间
|
|||
|
LastPayTime string `json:"last_pay_time,optional"` // 最后付费时间
|
|||
|
}
|
|||
|
|
|||
|
// 创建请求
|
|||
|
CreatePromotionLinkReq {
|
|||
|
Name string `json:"name"` // 链接名称
|
|||
|
}
|
|||
|
|
|||
|
// 创建响应
|
|||
|
CreatePromotionLinkResp {
|
|||
|
Id int64 `json:"id"` // 链接ID
|
|||
|
Url string `json:"url"` // 生成的推广链接URL
|
|||
|
}
|
|||
|
|
|||
|
// 更新请求
|
|||
|
UpdatePromotionLinkReq {
|
|||
|
Id int64 `path:"id"` // 链接ID
|
|||
|
Name *string `json:"name,optional"` // 链接名称
|
|||
|
}
|
|||
|
|
|||
|
// 更新响应
|
|||
|
UpdatePromotionLinkResp {
|
|||
|
Success bool `json:"success"` // 是否成功
|
|||
|
}
|
|||
|
|
|||
|
// 删除请求
|
|||
|
DeletePromotionLinkReq {
|
|||
|
Id int64 `path:"id"` // 链接ID
|
|||
|
}
|
|||
|
|
|||
|
// 删除响应
|
|||
|
DeletePromotionLinkResp {
|
|||
|
Success bool `json:"success"` // 是否成功
|
|||
|
}
|
|||
|
)
|
|||
|
|
|||
|
@server (
|
|||
|
prefix: api/v1/admin/promotion/link
|
|||
|
group: admin_promotion
|
|||
|
)
|
|||
|
service main {
|
|||
|
@doc "记录链接点击"
|
|||
|
@handler RecordLinkClick
|
|||
|
get /record/:path (RecordLinkClickReq) returns (RecordLinkClickResp)
|
|||
|
}
|
|||
|
|
|||
|
type (
|
|||
|
// 记录链接点击请求
|
|||
|
RecordLinkClickReq {
|
|||
|
Path string `path:"path"` // 链接路径
|
|||
|
}
|
|||
|
|
|||
|
// 记录链接点击响应
|
|||
|
RecordLinkClickResp {
|
|||
|
Success bool `json:"success"` // 是否成功
|
|||
|
}
|
|||
|
)
|
|||
|
@server (
|
|||
|
prefix: api/v1/admin/promotion/stats
|
|||
|
group: admin_promotion
|
|||
|
jwt: JwtAuth
|
|||
|
)
|
|||
|
service main {
|
|||
|
@doc "获取推广历史记录"
|
|||
|
@handler GetPromotionStatsHistory
|
|||
|
get /history (GetPromotionStatsHistoryReq) returns ([]PromotionStatsHistoryItem)
|
|||
|
|
|||
|
@doc "获取推广总统计"
|
|||
|
@handler GetPromotionStatsTotal
|
|||
|
get /total (GetPromotionStatsTotalReq) returns (GetPromotionStatsTotalResp)
|
|||
|
}
|
|||
|
|
|||
|
type (
|
|||
|
// 获取推广历史记录请求
|
|||
|
GetPromotionStatsHistoryReq {
|
|||
|
StartDate string `form:"start_date"` // 开始日期,格式:YYYY-MM-DD
|
|||
|
EndDate string `form:"end_date"` // 结束日期,格式:YYYY-MM-DD
|
|||
|
}
|
|||
|
|
|||
|
// 推广历史记录项
|
|||
|
PromotionStatsHistoryItem {
|
|||
|
Id int64 `json:"id"` // 记录ID
|
|||
|
LinkId int64 `json:"link_id"` // 链接ID
|
|||
|
PayAmount float64 `json:"pay_amount"` // 金额
|
|||
|
ClickCount int64 `json:"click_count"` // 点击数
|
|||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
|||
|
StatsDate string `json:"stats_date"` // 统计日期
|
|||
|
}
|
|||
|
|
|||
|
// 获取推广总统计请求
|
|||
|
GetPromotionStatsTotalReq {
|
|||
|
}
|
|||
|
|
|||
|
// 获取推广总统计响应
|
|||
|
GetPromotionStatsTotalResp {
|
|||
|
TodayPayAmount float64 `json:"today_pay_amount"` // 今日金额
|
|||
|
TodayClickCount int64 `json:"today_click_count"` // 今日点击数
|
|||
|
TodayPayCount int64 `json:"today_pay_count"` // 今日付费次数
|
|||
|
TotalPayAmount float64 `json:"total_pay_amount"` // 总金额
|
|||
|
TotalClickCount int64 `json:"total_click_count"` // 总点击数
|
|||
|
TotalPayCount int64 `json:"total_pay_count"` // 总付费次数
|
|||
|
}
|
|||
|
)
|