Files

69 lines
3.2 KiB
Go

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
}