package model import ( "context" "git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model/entity" "github.com/gogf/gf/v2/os/gtime" ) type SimChannelConfigItemCache struct { Template *entity.TSimChannelTemplate Channel *entity.TSimChannels IsNormal *int // global_yes_or_no: 0=yes, 1=no; NULL is not eligible. Version string } // CanCreateInstance gates creation and replacement, not use of an existing instance. func (c *SimChannelConfigItemCache) CanCreateInstance() bool { return c != nil && c.Channel != nil && c.IsNormal != nil && *c.IsNormal == 0 } type SimCardTempI interface { NewTemp(ctx context.Context, channelConfig *SimChannelConfigItemCache) SimCardChannelI } // SimCardModelFactory creates a channel implementation from a template and // channel configuration when no concrete temp_key registration exists. type SimCardModelFactory func(context.Context, *SimChannelConfigItemCache) SimCardChannelI // 接口定义 type SimCardChannelI interface { QuerySimBasicInfo(ctx context.Context, input *SimBasicInfoInput) (SimBasicInfoOutput, error) QuerySimSession(ctx context.Context, input *SimSessionInput) (SimSessionOutput, error) QuerySimCardStatus(ctx context.Context, input *SimCardStatusInput) (SimCardStatusOutput, error) QuerySimStopReason(ctx context.Context, input *SimStopReasonInput) (SimStopReasonOutput, error) QuerySimFrozenState(ctx context.Context, input *SimFrozenStateInput) (SimFrozenStateOutput, error) QuerySimCardBindStatus(ctx context.Context, input *SimCardBindStatusInput) (SimCardBindStatusOutput, error) QuerySimDeviceStatus(ctx context.Context, input *SimDeviceStatusInput) (SimDeviceStatusOutput, error) QuerySimRegionLimitStatus(ctx context.Context, input *SimRegionLimitStatusInput) (SimRegionLimitStatusOutput, error) QuerySimImei(ctx context.Context, input *SimImeiInput) (SimImeiOutput, error) QuerySimDataUsage(ctx context.Context, input *SimDataUsageInput) (SimDataUsageOutput, error) QuerySimDataDiagnosis(ctx context.Context, input *SimDataDiagnosisInput) (SimDataDiagnosisOutput, error) QuerySimDataUsageMonthly(ctx context.Context, input *SimDataUsageMonthlyInput) (SimDataUsageMonthlyOutput, error) QuerySimDataUsageDaily(ctx context.Context, input *SimDataUsageDailyInput) (SimDataUsageDailyOutput, error) QuerySimApnInfo(ctx context.Context, input *SimApnInfoInput) (SimApnInfoOutput, error) ChangeSimStatus(ctx context.Context, input *SimCardStatusChangeInput) (SimCardStatusChangeOutput, error) ChangeSimApnFunction(ctx context.Context, input *SimCardOperateChangeApnInput) (SimCardOperateChangeApnOutput, error) } type SimCardBatchQueryI interface { QuerySimCardStatusBatch(ctx context.Context, input *SimCardStatusInput) (SimCardStatusOutput, error) QuerySimDataUsageMonthlyBatch(ctx context.Context, input *SimDataUsageMonthlyInput) (SimDataUsageMonthlyOutput, error) QuerySimDataUsageDailyBatch(ctx context.Context, input *SimDataUsageDailyInput) (SimDataUsageDailyOutput, error) } type SimCardChannelCache struct { Instance SimCardChannelI Version string } type UpdateAccessTokenInput struct { ChanKey string AccessToken string AccessTokenCreated *gtime.Time AccessTokenExpire *gtime.Time RefreshToken string RefreshTokenExpire *gtime.Time }