开放接口,修复上游同步不对的问题
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s

This commit is contained in:
2026-05-11 11:20:48 +08:00
parent a9eaf1d697
commit 98ff88d5c3
25 changed files with 1432 additions and 39 deletions

View File

@@ -0,0 +1,119 @@
package dto
import "time"
// AgentOpenAPICardQueryRequest 开放接口单卡查询请求
type AgentOpenAPICardQueryRequest struct {
CardNo string `json:"card_no" query:"card_no" validate:"required,min=1,max=100" required:"true" minLength:"1" maxLength:"100" description:"卡标识(支持 ICCID、虚拟号、MSISDN"`
}
// AgentOpenAPIPackageTrafficItem 开放接口套餐流量项
type AgentOpenAPIPackageTrafficItem struct {
PackageCode string `json:"package_code" description:"套餐编码"`
PackageName string `json:"package_name" description:"套餐名称"`
SeriesName string `json:"series_name" description:"套餐系列名称"`
PackageType string `json:"package_type" description:"套餐类型 (formal:正式套餐, addon:附加套餐)"`
PackageTypeName string `json:"package_type_name" description:"套餐类型名称(中文)"`
TotalFlowMB int64 `json:"total_flow_mb" description:"套餐总流量(MB)"`
UsedFlowMB int64 `json:"used_flow_mb,omitempty" description:"套餐已用流量(MB仅生效套餐返回)"`
RemainingFlowMB int64 `json:"remaining_flow_mb,omitempty" description:"套餐剩余流量(MB仅生效套餐返回)"`
StartAt *time.Time `json:"start_at,omitempty" description:"套餐生效时间"`
ExpiresAt *time.Time `json:"expires_at,omitempty" description:"套餐过期时间"`
ValidDays int `json:"valid_days,omitempty" description:"套餐有效天数(待生效套餐返回)"`
Priority int `json:"priority,omitempty" description:"生效优先级(数字越小优先级越高)"`
}
// AgentOpenAPICardTrafficResponse 开放接口卡流量响应
type AgentOpenAPICardTrafficResponse struct {
CardNo string `json:"card_no" description:"卡标识"`
ActiveRemainingFlowMB int64 `json:"active_remaining_flow_mb" description:"当前生效套餐剩余流量(MB)"`
ActiveTotalFlowMB int64 `json:"active_total_flow_mb" description:"当前生效套餐总流量(MB)"`
ActiveUsedFlowMB int64 `json:"active_used_flow_mb" description:"当前生效套餐已用流量(MB)"`
ActivePackages []AgentOpenAPIPackageTrafficItem `json:"active_packages" description:"当前生效套餐列表"`
PendingPackages []AgentOpenAPIPackageTrafficItem `json:"pending_packages" description:"待生效套餐列表"`
ActiveExpiresAt *time.Time `json:"active_expires_at,omitempty" description:"当前生效套餐最晚过期时间"`
}
// AgentOpenAPICardStatusResponse 开放接口卡状态响应
type AgentOpenAPICardStatusResponse struct {
CardNo string `json:"card_no" description:"卡标识"`
CardStatus string `json:"card_status" description:"卡状态 (normal:正常, stopped:停机)"`
CardStatusName string `json:"card_status_name" description:"卡状态名称(中文)"`
StopReason string `json:"stop_reason" description:"停机原因"`
StopReasonName string `json:"stop_reason_name" description:"停机原因名称(中文)"`
}
// AgentOpenAPIRealnameStatusResponse 开放接口实名状态响应
type AgentOpenAPIRealnameStatusResponse struct {
CardNo string `json:"card_no" description:"卡标识"`
IsRealnamed bool `json:"is_realnamed" description:"是否已实名"`
}
// AgentOpenAPIPackageListRequest 开放接口套餐列表请求
type AgentOpenAPIPackageListRequest struct {
Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"`
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
PackageType *string `json:"package_type" query:"package_type" validate:"omitempty,oneof=formal addon" description:"套餐类型 (formal:正式套餐, addon:附加套餐)"`
SeriesID *uint `json:"series_id" query:"series_id" validate:"omitempty" description:"套餐系列ID"`
PackageName *string `json:"package_name" query:"package_name" validate:"omitempty,max=255" maxLength:"255" description:"套餐名称(模糊搜索)"`
}
// AgentOpenAPIPackageItem 开放接口套餐列表项
type AgentOpenAPIPackageItem struct {
PackageID uint `json:"package_id" description:"套餐ID"`
PackageCode string `json:"package_code" description:"套餐编码"`
PackageName string `json:"package_name" description:"套餐名称"`
SeriesName string `json:"series_name" description:"套餐系列名称"`
PackageType string `json:"package_type" description:"套餐类型 (formal:正式套餐, addon:附加套餐)"`
PackageTypeName string `json:"package_type_name" description:"套餐类型名称(中文)"`
CostPrice int64 `json:"cost_price" description:"成本价(分)"`
RetailPrice int64 `json:"retail_price" description:"生效零售价(分)"`
TotalFlowMB int64 `json:"total_flow_mb" description:"总流量(MB)"`
ValidDays int `json:"valid_days" description:"有效天数"`
}
// AgentOpenAPIWalletBalanceResponse 开放接口预充值钱包余额响应
type AgentOpenAPIWalletBalanceResponse struct {
Balance int64 `json:"balance" description:"钱包余额(分)"`
FrozenBalance int64 `json:"frozen_balance" description:"冻结余额(分)"`
AvailableBalance int64 `json:"available_balance" description:"可用余额(分)"`
Currency string `json:"currency" description:"币种"`
}
// AgentOpenAPIWalletTransactionListRequest 开放接口预充值钱包流水请求
type AgentOpenAPIWalletTransactionListRequest struct {
Page int `json:"page" query:"page" validate:"omitempty,min=1" minimum:"1" description:"页码"`
PageSize int `json:"page_size" query:"page_size" validate:"omitempty,min=1,max=100" minimum:"1" maximum:"100" description:"每页数量"`
TransactionType string `json:"transaction_type" query:"transaction_type" validate:"omitempty,max=50" maxLength:"50" description:"交易类型过滤recharge:充值入账, deduct:套餐扣款, refund:退款)"`
StartDate string `json:"start_date" query:"start_date" validate:"omitempty" description:"开始日期YYYY-MM-DD"`
EndDate string `json:"end_date" query:"end_date" validate:"omitempty" description:"结束日期YYYY-MM-DD"`
}
// AgentOpenAPIWalletPackageOrderRequest 开放接口钱包套餐购买请求
type AgentOpenAPIWalletPackageOrderRequest struct {
CardNos []string `json:"card_nos" validate:"required,min=1,max=100,dive,min=1,max=100" required:"true" minItems:"1" maxItems:"100" description:"卡标识列表(支持 ICCID、虚拟号、MSISDN"`
PackageCode string `json:"package_code" validate:"required,min=1,max=100" required:"true" minLength:"1" maxLength:"100" description:"套餐编码(一次只能购买一个套餐)"`
}
// AgentOpenAPIWalletPackageOrderItem 开放接口钱包套餐购买成功项
type AgentOpenAPIWalletPackageOrderItem struct {
CardNo string `json:"card_no" description:"卡标识"`
OrderNo string `json:"order_no" description:"订单号"`
}
// AgentOpenAPIWalletPackageOrderFailure 开放接口钱包套餐购买失败项
type AgentOpenAPIWalletPackageOrderFailure struct {
CardNo string `json:"card_no" description:"卡标识"`
Code int `json:"code" description:"错误码"`
Message string `json:"message" description:"失败原因"`
}
// AgentOpenAPIWalletPackageOrderResponse 开放接口钱包套餐购买响应
type AgentOpenAPIWalletPackageOrderResponse struct {
BatchNo string `json:"batch_no" description:"批次号"`
PackageCode string `json:"package_code" description:"套餐编码"`
SuccessCount int `json:"success_count" description:"成功数量"`
FailedCount int `json:"failed_count" description:"失败数量"`
Orders []AgentOpenAPIWalletPackageOrderItem `json:"orders" description:"成功订单列表"`
FailedCards []AgentOpenAPIWalletPackageOrderFailure `json:"failed_cards" description:"失败卡列表"`
}