diff --git a/internal/model/dto/client_asset_dto.go b/internal/model/dto/client_asset_dto.go index 1f7d1ac..e60aecc 100644 --- a/internal/model/dto/client_asset_dto.go +++ b/internal/model/dto/client_asset_dto.go @@ -26,6 +26,7 @@ type AssetInfoResponse struct { StatusName string `json:"status_name" description:"状态名称(中文)"` RealNameStatus int `json:"real_name_status" description:"实名状态(0:未实名, 1:已实名)"` RealNameStatusName string `json:"real_name_status_name" description:"实名状态名称(中文)"` + RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"` CarrierName string `json:"carrier_name" description:"运营商名称"` Generation string `json:"generation" description:"世代"` WalletBalance int64 `json:"wallet_balance" description:"钱包余额(分)"` diff --git a/internal/model/dto/client_realname_device_dto.go b/internal/model/dto/client_realname_device_dto.go index b779bfe..4e75946 100644 --- a/internal/model/dto/client_realname_device_dto.go +++ b/internal/model/dto/client_realname_device_dto.go @@ -45,6 +45,7 @@ type DeviceCardItem struct { RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)"` SlotPosition int `json:"slot_position" description:"插槽位置"` IsActive bool `json:"is_active" description:"是否当前激活卡"` + RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"` } // DeviceCardListResponse F1 设备卡列表响应 diff --git a/internal/model/dto/device_import_dto.go b/internal/model/dto/device_import_dto.go index 9da0c2f..5ee127a 100644 --- a/internal/model/dto/device_import_dto.go +++ b/internal/model/dto/device_import_dto.go @@ -3,8 +3,9 @@ package dto import "time" type ImportDeviceRequest struct { - BatchNo string `json:"batch_no" validate:"omitempty,max=100" maxLength:"100" description:"批次号"` - FileKey string `json:"file_key" validate:"required,min=1,max=500" required:"true" minLength:"1" maxLength:"500" description:"对象存储文件路径(通过 /storage/upload-url 获取)"` + BatchNo string `json:"batch_no" validate:"omitempty,max=100" maxLength:"100" description:"批次号"` + FileKey string `json:"file_key" validate:"required,min=1,max=500" required:"true" minLength:"1" maxLength:"500" description:"对象存储文件路径(通过 /storage/upload-url 获取)"` + RealnamePolicy string `json:"realname_policy" validate:"omitempty,oneof=none before_order after_order" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名),默认 none"` } type ImportDeviceResponse struct { @@ -23,21 +24,22 @@ type ListDeviceImportTaskRequest struct { } type DeviceImportTaskResponse struct { - ID uint `json:"id" description:"任务ID"` - TaskNo string `json:"task_no" description:"任务编号"` - Status int `json:"status" description:"任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)"` - StatusText string `json:"status_text" description:"任务状态文本"` - BatchNo string `json:"batch_no,omitempty" description:"批次号"` - FileName string `json:"file_name,omitempty" description:"文件名"` - TotalCount int `json:"total_count" description:"总数"` - SuccessCount int `json:"success_count" description:"成功数"` - SkipCount int `json:"skip_count" description:"跳过数"` - FailCount int `json:"fail_count" description:"失败数"` - WarningCount int `json:"warning_count" description:"警告数(部分成功的设备数量)"` - StartedAt *time.Time `json:"started_at,omitempty" description:"开始处理时间"` - CompletedAt *time.Time `json:"completed_at,omitempty" description:"完成时间"` - ErrorMessage string `json:"error_message,omitempty" description:"错误信息"` - CreatedAt time.Time `json:"created_at" description:"创建时间"` + ID uint `json:"id" description:"任务ID"` + TaskNo string `json:"task_no" description:"任务编号"` + Status int `json:"status" description:"任务状态 (1:待处理, 2:处理中, 3:已完成, 4:失败)"` + StatusText string `json:"status_text" description:"任务状态文本"` + BatchNo string `json:"batch_no,omitempty" description:"批次号"` + RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"` + FileName string `json:"file_name,omitempty" description:"文件名"` + TotalCount int `json:"total_count" description:"总数"` + SuccessCount int `json:"success_count" description:"成功数"` + SkipCount int `json:"skip_count" description:"跳过数"` + FailCount int `json:"fail_count" description:"失败数"` + WarningCount int `json:"warning_count" description:"警告数(部分成功的设备数量)"` + StartedAt *time.Time `json:"started_at,omitempty" description:"开始处理时间"` + CompletedAt *time.Time `json:"completed_at,omitempty" description:"完成时间"` + ErrorMessage string `json:"error_message,omitempty" description:"错误信息"` + CreatedAt time.Time `json:"created_at" description:"创建时间"` } type ListDeviceImportTaskResponse struct {