实现资产预计最终到期时间

This commit is contained in:
2026-07-23 13:14:43 +09:00
parent 5dacef57fa
commit 8d65b26e96
17 changed files with 570 additions and 32 deletions

View File

@@ -4,6 +4,7 @@ import "time"
// AssetResolveResponse 统一资产解析响应
type AssetResolveResponse struct {
PackageExpiryEstimate
AssetType string `json:"asset_type" description:"资产类型card 或 device"`
AssetID uint `json:"asset_id" description:"资产数据库ID"`
Identifier string `json:"identifier,omitempty" description:"解析时使用的标识符"`

View File

@@ -14,6 +14,7 @@ type AssetInfoRequest struct {
// AssetInfoResponse B1 资产信息响应
// 根据 asset_type 不同,设备专属字段或卡专属字段会分别填充(另一侧为零值/omit
type AssetInfoResponse struct {
PackageExpiryEstimate
// === 登录用户信息 ===
BoundPhone string `json:"bound_phone" description:"当前登录用户绑定的手机号"`

View File

@@ -25,6 +25,7 @@ type ListDeviceRequest struct {
}
type DeviceResponse struct {
PackageExpiryEstimate
ID uint `json:"id" description:"设备ID"`
VirtualNo string `json:"virtual_no" description:"设备虚拟号/别名"`
IMEI string `json:"imei" description:"设备IMEI"`

View File

@@ -29,6 +29,7 @@ type ListStandaloneIotCardRequest struct {
}
type StandaloneIotCardResponse struct {
PackageExpiryEstimate
ID uint `json:"id" description:"卡ID"`
ICCID string `json:"iccid" description:"ICCID"`
VirtualNo string `json:"virtual_no" description:"卡虚拟号(用于客服查找资产)"`

View File

@@ -0,0 +1,12 @@
package dto
import "time"
// PackageExpiryEstimate 资产全部有效主套餐连续使用后的最终到期推算结果。
type PackageExpiryEstimate struct {
EstimatedFinalExpiresAt *time.Time `json:"estimated_final_expires_at" description:"预计套餐到期时间,无法精确推算时为 null"`
DaysUntilFinalExpiry *int `json:"days_until_final_expiry" description:"距预计套餐到期的上海自然日天数,无法精确推算时为 null"`
ExpiryEstimateStatus string `json:"expiry_estimate_status" description:"预计套餐到期推算状态 (exact:可精确推算, waiting_activation:待激活后起算, none:无参与套餐, invalid_data:数据异常)"`
ExpiryEstimateStatusName string `json:"expiry_estimate_status_name" description:"预计套餐到期推算状态名称(中文)"`
IsExpiring bool `json:"is_expiring" description:"是否临期(仅精确推算且剩余 0 至 15 个上海自然日时为 true"`
}