diff --git a/internal/model/dto/asset_dto.go b/internal/model/dto/asset_dto.go index 2cec837..1a538d3 100644 --- a/internal/model/dto/asset_dto.go +++ b/internal/model/dto/asset_dto.go @@ -15,7 +15,7 @@ type AssetResolveResponse struct { ShopName string `json:"shop_name,omitempty" description:"所属店铺名称"` SeriesID *uint `json:"series_id,omitempty" description:"套餐系列ID"` SeriesName string `json:"series_name,omitempty" description:"套餐系列名称"` - ActivatedAt *time.Time `json:"activated_at,omitempty" description:"激活时间"` + ActivatedAt *time.Time `json:"activated_at,omitempty" description:"激活时间(未来准备移除,请勿依赖)"` CreatedAt time.Time `json:"created_at" description:"创建时间"` UpdatedAt time.Time `json:"updated_at" description:"更新时间"` // 状态聚合字段 diff --git a/internal/model/dto/device_dto.go b/internal/model/dto/device_dto.go index dc8c5be..02eb880 100644 --- a/internal/model/dto/device_dto.go +++ b/internal/model/dto/device_dto.go @@ -72,18 +72,20 @@ type ListDeviceCardsRequest struct { } type DeviceCardBindingResponse struct { - ID uint `json:"id" description:"绑定记录ID"` - SlotPosition int `json:"slot_position" description:"插槽位置 (1-4)"` - IotCardID uint `json:"iot_card_id" description:"IoT卡ID"` - ICCID string `json:"iccid" description:"ICCID"` - MSISDN string `json:"msisdn" description:"接入号"` - CarrierName string `json:"carrier_name" description:"运营商名称"` - Status int `json:"status" description:"卡状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)"` - StatusName string `json:"status_name" description:"卡状态名称(中文)"` - BindTime *time.Time `json:"bind_time" description:"绑定时间"` - IsCurrent bool `json:"is_current" description:"是否为当前使用的卡"` - RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"` - NetworkStatus int `json:"network_status" description:"网络状态:0停机 1开机(asset_type=card时有效)"` + ID uint `json:"id" description:"绑定记录ID"` + SlotPosition int `json:"slot_position" description:"插槽位置 (1-4)"` + IotCardID uint `json:"iot_card_id" description:"IoT卡ID"` + ICCID string `json:"iccid" description:"ICCID"` + MSISDN string `json:"msisdn" description:"接入号"` + CarrierName string `json:"carrier_name" description:"运营商名称"` + Status int `json:"status" description:"卡状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)"` + StatusName string `json:"status_name" description:"卡状态名称(中文)"` + RealNameStatus int `json:"real_name_status" description:"实名状态 (0:未实名, 1:已实名)"` + RealNameStatusName string `json:"real_name_status_name" description:"实名状态名称(中文)"` + BindTime *time.Time `json:"bind_time" description:"绑定时间"` + IsCurrent bool `json:"is_current" description:"是否为当前使用的卡"` + RealnamePolicy string `json:"realname_policy" description:"实名认证策略 (none:无需实名, before_order:先实名后充值/购买, after_order:先充值/购买后实名)"` + NetworkStatus int `json:"network_status" description:"网络状态:0停机 1开机(asset_type=card时有效)"` } type ListDeviceCardsResponse struct { diff --git a/internal/service/device/binding.go b/internal/service/device/binding.go index be53136..6b1eb21 100644 --- a/internal/service/device/binding.go +++ b/internal/service/device/binding.go @@ -52,18 +52,20 @@ func (s *Service) ListBindings(ctx context.Context, deviceID uint) (*dto.ListDev } resp := &dto.DeviceCardBindingResponse{ - ID: binding.ID, - SlotPosition: binding.SlotPosition, - IotCardID: binding.IotCardID, - ICCID: card.ICCID, - MSISDN: card.MSISDN, - CarrierName: card.CarrierName, - Status: card.Status, - StatusName: constants.GetIotCardStatusName(card.Status), - BindTime: binding.BindTime, - IsCurrent: binding.IsCurrent, - RealnamePolicy: card.RealnamePolicy, - NetworkStatus: card.NetworkStatus, + ID: binding.ID, + SlotPosition: binding.SlotPosition, + IotCardID: binding.IotCardID, + ICCID: card.ICCID, + MSISDN: card.MSISDN, + CarrierName: card.CarrierName, + Status: card.Status, + StatusName: constants.GetIotCardStatusName(card.Status), + RealNameStatus: card.RealNameStatus, + RealNameStatusName: constants.GetRealNameStatusName(card.RealNameStatus), + BindTime: binding.BindTime, + IsCurrent: binding.IsCurrent, + RealnamePolicy: card.RealnamePolicy, + NetworkStatus: card.NetworkStatus, } responses = append(responses, resp) }