Files
iotlcm/internal/model/sim_card_channel.go
T
MiFaZhan 96b1edff45 chore: 初始开源发布
iotlcm-upstream-chan:运营商上游通道适配服务(统一 /sim/* 协议)。

- 内联原私有依赖:yunze-public → internal/pub/(10 包 18 文件),
  yunze-pb/pb → internal/pb/(9 文件);Consul 注册改用官方
  gogf/gf/contrib/registry/consul/v2(API 兼容)
- Go module:yz-svr → git.5iot.com/iotlcm-public/iotlcm-upstream-chan
- 修复 mingqian 包测试:实现重构后 `adapter.operations` 字段已移除,
  测试断言按当前实现语义重写(不改产品行为)
- 凭据与内部标识脱敏:MySQL/Redis/Consul 凭据、私网与生产 IP、
  内网域名、真实手机号、注释里的真实 token/transid
- 移除内部资产:CI 触发器、生产通道种子 SQL、真实凭据测试资源文档
- Dockerfile 改用公共基础镜像,移除写死的 registry 凭据
- 补 Apache-2.0 LICENSE,重写 README,LF 行尾 + .gitattributes
2026-10-22 16:08:06 +08:00

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
}