chore: 初始开源发布
iotlcm-worker-svr:异步执行中枢(RabbitMQ 消费者 + 全量同步编排)。 - Go module:iotlcm-worker-svr → git.5iot.com/iotlcm-public/iotlcm-worker-svr(214 文件) - 凭据与内部标识脱敏:MySQL/Redis 凭据、私网与生产 IP、内网域名、 库名 xiujie_admin → iotlcm、哨兵名占位 - 159 处真实手机号 → 合法 11 位编造号(保留号段与后 4 位,维持互异, 不破坏「校验 MSISDN 格式」等测试断言) - 移除内部资产:CI 触发器、Jenkins 触发测试文档、预演门禁与镜像 digest 记录 - Dockerfile 改用公共基础镜像(golang:1.25-alpine → alpine:3.23), 移除写死的 git 凭据 - README 重写(架构/全量同步模型/配置/已知失败),补 Apache-2.0 LICENSE,LF 行尾 + .gitattributes 已知:3 个测试包在源仓同一提交上同样失败(client/upstream、 service/allocate、service/inbound),属既有缺陷,本仓未引入亦未修复。
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type UpstreamChanConfig struct {
|
||||
Address string `json:"address"`
|
||||
Timeout time.Duration `json:"timeout"`
|
||||
}
|
||||
|
||||
type SimKey struct {
|
||||
ChanKey string `json:"chanKey"`
|
||||
ICCID string `json:"iccid"`
|
||||
IMSI string `json:"imsi"`
|
||||
MSISDN string `json:"msisdn"`
|
||||
}
|
||||
|
||||
type SimBaseReq[T any] struct {
|
||||
SimKeys []*SimKey `json:"simKeys"`
|
||||
ReqData T `json:"reqData"`
|
||||
}
|
||||
|
||||
// SimInputReqNullDate is used by current-month real-time usage calls. The
|
||||
// upstream determines the current month at request time.
|
||||
type SimInputReqNullDate struct{}
|
||||
|
||||
type SimDataUsageInput = SimBaseReq[SimInputReqNullDate]
|
||||
|
||||
type SimDataUsageItem struct {
|
||||
DataUsage float64 `json:"dataUsage"`
|
||||
}
|
||||
|
||||
type SimBaseRes[T any] struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
ErrCode string `json:"errCode"`
|
||||
SimKey *SimKey `json:"simKey"`
|
||||
ResData T `json:"resData"`
|
||||
}
|
||||
|
||||
type SimBasicInfoInput = SimBaseReq[SimInputReqNullDate]
|
||||
|
||||
type SimBasicInfoItem struct {
|
||||
ICCID string `json:"iccid"`
|
||||
IMSI string `json:"imsi"`
|
||||
MSISDN string `json:"msisdn"`
|
||||
ActiveDate string `json:"activeDate"`
|
||||
OpenDate string `json:"openDate"`
|
||||
Remark string `json:"remark"`
|
||||
}
|
||||
|
||||
type SimDataUsageMonthlyInput = SimBaseReq[SimDataUsageMonthlyInputItem]
|
||||
type SimDataUsageMonthlyInputItem struct {
|
||||
QueryDate string `json:"queryDate"`
|
||||
}
|
||||
type SimDataUsageMonthlyOutputItem struct {
|
||||
DeadLine string `json:"deadLine"`
|
||||
DataAmount float64 `json:"dataAmount"`
|
||||
}
|
||||
|
||||
type SimDataUsageDailyInput = SimBaseReq[SimDataUsageDailyInputItem]
|
||||
type SimDataUsageDailyInputItem struct {
|
||||
QueryDate string `json:"queryDate"`
|
||||
}
|
||||
type SimDataUsageDailyOutputItem struct {
|
||||
QueryDate string `json:"queryDate"`
|
||||
DataAmount float64 `json:"dataAmount"`
|
||||
}
|
||||
|
||||
// SimCardStatusInput is the request envelope for carrier status queries.
|
||||
type SimCardStatusInput = SimBaseReq[SimInputReqNullDate]
|
||||
|
||||
// SimImeiInput is the request envelope for terminal IMEI queries.
|
||||
type SimImeiInput = SimBaseReq[SimInputReqNullDate]
|
||||
|
||||
// SimImeiItem is the terminal IMEI returned for one SIM card.
|
||||
//
|
||||
// A carrier may answer successfully yet return an empty value (for example a
|
||||
// card whose device never reported an IMEI, or a template whose upstream
|
||||
// endpoint does not expose IMEI at all). Callers must therefore distinguish
|
||||
// "query succeeded with an empty value" from "query failed".
|
||||
type SimImeiItem struct {
|
||||
Imei string `json:"imei"`
|
||||
}
|
||||
|
||||
// SimCardStatusItem is the carrier status returned for one SIM card.
|
||||
type SimCardStatusItem struct {
|
||||
CardStatus int `json:"cardStatus"`
|
||||
LastChangeDate string `json:"lastChangeDate"`
|
||||
}
|
||||
|
||||
type SimCardStatusChangeInput = SimBaseReq[SimCardStatusChangeInputItem]
|
||||
|
||||
type SimCardStatusChangeInputItem struct {
|
||||
OperType string `json:"operType"`
|
||||
}
|
||||
|
||||
type SimCardStatusChangeOutputItem struct {
|
||||
OrderNum string `json:"orderNum"`
|
||||
}
|
||||
|
||||
type SimCardApnChangeInput = SimBaseReq[SimCardApnChangeInputItem]
|
||||
|
||||
type SimCardApnChangeInputItem struct {
|
||||
OperType string `json:"operType"`
|
||||
ApnName string `json:"apnName"`
|
||||
}
|
||||
|
||||
type SimCardApnChangeOutputItem struct {
|
||||
OrderNum string `json:"orderNum"`
|
||||
}
|
||||
Reference in New Issue
Block a user