feat: 实现客户端核心业务接口(client-core-business-api)
新增客户端资产、钱包、订单、实名、设备管理等核心业务 Handler 与 DTO: - 客户端资产信息查询、套餐列表、套餐历史、资产刷新 - 客户端钱包详情、流水、充值校验、充值订单、充值记录 - 客户端订单创建、列表、详情 - 客户端实名认证链接获取 - 客户端设备卡列表、重启、恢复出厂、WiFi配置、切卡 - 客户端订单服务(含微信/支付宝支付流程) - 强充自动代购异步任务处理 - 数据库迁移 000084:充值记录增加自动代购状态字段
This commit is contained in:
86
internal/model/dto/client_asset_dto.go
Normal file
86
internal/model/dto/client_asset_dto.go
Normal file
@@ -0,0 +1,86 @@
|
||||
package dto
|
||||
|
||||
// ========================================
|
||||
// B1 资产信息
|
||||
// ========================================
|
||||
|
||||
// AssetInfoRequest B1 资产信息请求
|
||||
type AssetInfoRequest struct {
|
||||
Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||
}
|
||||
|
||||
// AssetInfoResponse B1 资产信息响应
|
||||
type AssetInfoResponse struct {
|
||||
AssetType string `json:"asset_type" description:"资产类型 (card:卡, device:设备)"`
|
||||
AssetID uint `json:"asset_id" description:"资产ID"`
|
||||
Identifier string `json:"identifier" description:"资产标识符"`
|
||||
VirtualNo string `json:"virtual_no" description:"虚拟号"`
|
||||
Status int `json:"status" description:"状态 (0:禁用, 1:启用)"`
|
||||
RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)"`
|
||||
CarrierName string `json:"carrier_name" description:"运营商名称"`
|
||||
Generation string `json:"generation" description:"制式"`
|
||||
WalletBalance int64 `json:"wallet_balance" description:"钱包余额(分)"`
|
||||
}
|
||||
|
||||
// ========================================
|
||||
// B2 资产可购套餐列表
|
||||
// ========================================
|
||||
|
||||
// AssetPackageListRequest B2 资产可购套餐列表请求
|
||||
type AssetPackageListRequest struct {
|
||||
Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||
}
|
||||
|
||||
// ClientPackageItem B2 客户端套餐项
|
||||
type ClientPackageItem struct {
|
||||
PackageID uint `json:"package_id" description:"套餐ID"`
|
||||
PackageName string `json:"package_name" description:"套餐名称"`
|
||||
PackageType string `json:"package_type" description:"套餐类型 (formal:正式套餐, addon:加油包)"`
|
||||
RetailPrice int64 `json:"retail_price" description:"零售价(分)"`
|
||||
CostPrice int64 `json:"cost_price" description:"成本价(分)"`
|
||||
ValidityDays int `json:"validity_days" description:"有效天数"`
|
||||
IsAddon bool `json:"is_addon" description:"是否加油包"`
|
||||
DataAllowance int64 `json:"data_allowance" description:"流量额度"`
|
||||
DataUnit string `json:"data_unit" description:"流量单位"`
|
||||
Description string `json:"description" description:"套餐说明"`
|
||||
}
|
||||
|
||||
// AssetPackageListResponse B2 资产可购套餐列表响应
|
||||
type AssetPackageListResponse struct {
|
||||
Packages []ClientPackageItem `json:"packages" description:"套餐列表"`
|
||||
}
|
||||
|
||||
// ========================================
|
||||
// B3 资产套餐历史
|
||||
// ========================================
|
||||
|
||||
// AssetPackageHistoryRequest B3 资产套餐历史请求
|
||||
type AssetPackageHistoryRequest struct {
|
||||
Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||
Page int `json:"page" query:"page" validate:"required,min=1" required:"true" minimum:"1" description:"页码"`
|
||||
PageSize int `json:"page_size" query:"page_size" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每页数量"`
|
||||
}
|
||||
|
||||
// AssetPackageHistoryResponse B3 资产套餐历史响应
|
||||
type AssetPackageHistoryResponse struct {
|
||||
List []AssetPackageResponse `json:"list" description:"套餐历史列表"`
|
||||
Total int64 `json:"total" description:"总数"`
|
||||
Page int `json:"page" description:"页码"`
|
||||
PageSize int `json:"page_size" description:"每页数量"`
|
||||
}
|
||||
|
||||
// ========================================
|
||||
// B4 资产刷新
|
||||
// ========================================
|
||||
|
||||
// AssetRefreshRequest B4 资产刷新请求
|
||||
type AssetRefreshRequest struct {
|
||||
Identifier string `json:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"`
|
||||
}
|
||||
|
||||
// AssetRefreshResponse B4 资产刷新响应
|
||||
type AssetRefreshResponse struct {
|
||||
RefreshType string `json:"refresh_type" description:"刷新类型 (card:卡, device:设备)"`
|
||||
Accepted bool `json:"accepted" description:"是否已受理"`
|
||||
CooldownSeconds int `json:"cooldown_seconds" description:"冷却秒数"`
|
||||
}
|
||||
Reference in New Issue
Block a user