Files
iotlcm/server/internal/model/t_sim_diagnose.go
T
MiFaZhan 59eb34976a chore: 初始开源发布
iotlcm-admin-svr:管理后台服务。

- Go module:iotlcm → git.5iot.com/iotlcm-public/iotlcm-admin-svr(729 文件)
- 凭据与地址脱敏:JWT signingKey(含代码里的 MustGet 默认值)、
  MySQL DSN、Redis 口令、告警邮件发件人邮箱全部改为占位;
  私网 IP → 文档地址段;库名 xiujie_admin → iotlcm
- 真实手机号/邮箱 → 合法 11 位编造号 / example.com
- 移除内部资产:CI 触发器、过时 DDL(sql/db_iotlcm.sql)、
  私有依赖 go get 行、明文 registry 登录口令
- 启动 banner 统一 IOTLCM 方块字 + 社区惯例署名
- Dockerfile 改用公共基础镜像
- 拼错的 RADEME.md → README.md,README 重写
- 需要真实数据库的用例改为可用 IOTLCM_TEST_WITH_DB=1 显式启用
- 补 Apache-2.0 LICENSE,LF 行尾 + .gitattributes

数据库 schema 不随本仓发布(生产 DDL 已过时),README 已说明。
2026-10-23 14:48:30 +08:00

114 lines
7.8 KiB
Go

package model
// TSimDiagnoseInfoReq 查询SIM卡诊断信息
type TSimDiagnoseInfoReq struct {
QueryCode string `json:"queryCode" v:"required#查询码不能为空" dc:"查询码:ICCID / MSISDN / IMSI"`
OnlyFlow bool `json:"onlyFlow" dc:"仅刷新实时流量"`
}
// TSimDiagnoseInfoOutput 查询SIM卡诊断信息响应
type TSimDiagnoseInfoOutput struct {
Info *TSimDiagnoseInfoItem `json:"info" dc:"SIM卡基本信息"`
Session *TSimDiagnoseSessionItem `json:"session" dc:"SIM卡会话信息"`
Package *TSimDiagnosePackageItem `json:"package" dc:"SIM卡套餐信息"`
Modules map[string]*TSimDiagnoseModuleItem `json:"modules,omitempty" dc:"诊断模块状态"`
}
// TSimDiagnoseModuleItem 诊断模块状态
type TSimDiagnoseModuleItem struct {
Reason string `json:"reason,omitempty" dc:"模块状态原因"`
Status string `json:"status" dc:"状态:success/error/cached/skipped"`
Message string `json:"message,omitempty" dc:"状态说明"`
Cached bool `json:"cached,omitempty" dc:"是否使用缓存"`
UpdatedAt string `json:"updatedAt,omitempty" dc:"缓存更新时间"`
}
// TSimDiagnoseFlowReq 查询SIM卡使用流量
type TSimDiagnoseFlowReq struct {
QueryCode string `json:"queryCode" v:"required#查询码不能为空" dc:"查询码:ICCID / MSISDN / IMSI"`
QueryType string `json:"queryType" v:"required|in:7d,30d,6M#查询类型不能为空|查询类型只能为7d近7天、30d近30天、6M近6个月" dc:"查询类型:7d近7天 30d近30天 6M近6个月"`
}
// TSimDiagnoseFlowOutput 查询SIM卡使用流量响应
type TSimDiagnoseFlowOutput struct {
Times []string `json:"times" dc:"时间列表"`
Flow []float64 `json:"flow" dc:"流量列表"`
FlowAvailable []bool `json:"flowAvailable" dc:"各时间点是否存在采集记录"`
Unit string `json:"unit" dc:"流量单位:MB / GB"`
}
// TSimDiagnoseInfoItem SIM卡基本信息
type TSimDiagnoseInfoItem struct {
DataServiceSource string `json:"dataServiceSource" dc:"数据服务依据:apn或network_block"`
NetBlockStatus *string `json:"netBlockStatus" dc:"断网状态:0未断网 1已断网"`
NetBlockReason *string `json:"netBlockReason" dc:"断网原因"`
Iccid *string `json:"iccid" dc:"ICCID"`
Imsi *string `json:"imsi" dc:"IMSI"`
Msisdn *string `json:"msisdn" dc:"MSISDN/卡号"`
Status *string `json:"status" dc:"卡状态:0未知 1待激活 2已激活 4已停机 6可测试 7库存 8预销户 9已销户"`
DataStatus *string `json:"dataStatus" dc:"数据状态:0关闭/停用 1开启/启用"`
OnlineStatus *string `json:"onlineStatus" dc:"在线状态:0离线 1在线 2未知"`
OperatingStatus *string `json:"operatingStatus" dc:"终端开关机状态:0关机 1开机"`
DeviceStatus *string `json:"deviceStatus" dc:"设备状态:0异常/不可用 1正常"`
ImeiStatus *string `json:"imeiStatus" dc:"机卡状态:0异常/机卡分离 1正常 2未知"`
RegionLimitStatus *string `json:"regionLimitStatus" dc:"区域限制状态:0终端未超出业务限制的位置区 1终端已超出业务限制的位置区"`
RegionLimitOrderStatus *string `json:"regionLimitOrderStatus" dc:"区域限制订购状态:0已订购 1未订购"`
RegionLimitTriggerStatus *string `json:"regionLimitTriggerStatus" dc:"区域限制触发状态:0已断网 1未断网 2未知"`
RegionLimitType *string `json:"regionLimitType" dc:"区域限制类型"`
RegionLimitArea *string `json:"regionLimitArea" dc:"限制区域"`
HumanLimitStatus *string `json:"humanLimitStatus" dc:"人联网限制状态:0限制 1正常 2未知 3运营商暂不支持"`
RateLimitStatus *string `json:"rateLimitStatus" dc:"达量限速状态:0已触发 1未触发 2未知 3运营商暂不支持"`
RateLimitReason *string `json:"rateLimitReason" dc:"达量限速原因"`
RateLimitDetail *string `json:"rateLimitDetail" dc:"达量限速明细"`
RateLimitApnDetails []TSimDiagnoseRateLimitApnItem `json:"rateLimitApnDetails,omitempty" dc:"APN达量限速明细"`
PackageTotalFlowMb *float64 `json:"packageTotalFlowMb" dc:"套餐总流量MB"`
UsedFlowMb *float64 `json:"usedFlowMb" dc:"已用流量MB"`
RemainFlowMb *float64 `json:"remainFlowMb" dc:"剩余流量MB"`
FlowSyncTime *string `json:"flowSyncTime" dc:"流量同步时间"`
StopReason *string `json:"stopReason" dc:"停机原因"`
FrozenStatus *string `json:"frozenStatus" dc:"冻结状态"`
FrozenReason *string `json:"frozenReason" dc:"冻结原因"`
FrozenOperTime *string `json:"frozenOperTime" dc:"冻结操作时间"`
}
// TSimDiagnoseRateLimitApnItem APN达量限速明细
type TSimDiagnoseRateLimitApnItem struct {
ApnName string `json:"apnName" dc:"APN名称"`
ApnStatus string `json:"apnStatus" dc:"APN状态"`
ModifyTime string `json:"modifyTime" dc:"APN状态变更时间"`
OverUseDetails string `json:"overUseDetails" dc:"超停原因"`
ApnServiceUsageState string `json:"apnServiceUsageState" dc:"APN业务配额状态"`
PccDetails []TSimDiagnoseRateLimitPccItem `json:"pccDetails,omitempty" dc:"PCC白名单策略明细"`
}
// TSimDiagnoseRateLimitPccItem PCC白名单策略明细
type TSimDiagnoseRateLimitPccItem struct {
PccServiceCode string `json:"pccServiceCode" dc:"PCC服务编码"`
PccName string `json:"pccName" dc:"PCC名称"`
PccPolicyStatus string `json:"pccPolicyStatus" dc:"PCC策略状态"`
PccServiceUsageState string `json:"pccServiceUsageState" dc:"PCC业务配额状态"`
ModifyTime string `json:"modifyTime" dc:"变更时间"`
}
// TSimDiagnoseSessionItem SIM卡会话信息
type TSimDiagnoseSessionItem struct {
ApnId *string `json:"apnId" dc:"APN"`
Imei *string `json:"imei" dc:"近30天最新终端使用IMEI"`
Rat *string `json:"rat" dc:"接入方式"`
Ipv4 *string `json:"ipv4" dc:"IPV4"`
Ipv6 *string `json:"ipv6" dc:"IPV6"`
Ipv6Prefix *string `json:"ipv6Prefix" dc:"IPV6前缀"`
Status *string `json:"status" dc:"会话状态:0在线 -1离线 -2未查询到会话"`
CreateTime *string `json:"createTime" dc:"会话创建时间"`
}
// TSimDiagnosePackageItem SIM卡套餐信息
type TSimDiagnosePackageItem struct {
PackageName *string `json:"packageName" dc:"套餐名称"`
PackageType *string `json:"packageType" dc:"套餐类型:1基础套餐 101卡套餐 102池套餐 103单卡加油包 104池卡加油包"`
EffectiveStatus *string `json:"effectiveStatus" dc:"生效状态:0待生效 1生效中 2已过期 3已终止 4已作废"`
PackageTotalFlowMb *float64 `json:"packageTotalFlowMb" dc:"套餐总流量MB"`
DurationMonths *int `json:"durationMonths" dc:"套餐时长(月)"`
ExpectedExpireTime *string `json:"expectedExpireTime" dc:"预计到期时间"`
}