package acceleronix import ( "encoding/json" "fwh-toolbox-server/domain" "go.uber.org/zap" ) type AcceleronixSimCardState int const ( SCS_PreActivation AcceleronixSimCardState = iota + 2 // 2 预激活 SCS_Test // 3 测试 SCS_Silence // 4 沉默 SCS_Standby // 5 待机 SCS_Activated // 6 激活 SCS_Deactivated // 7 停机 SCS_Pause // 8 暂停 SCS_PreCancellation // 9 预注销 SCS_Cancellation // 10 注销 ) type AcceleronixSimCardListRequestBody struct { EnterpriseCode *string `json:"enterpriseCode,omitempty"` // 企业编码 EnterpriseDataPlan *string `json:"enterpriseDataPlan,omitempty"` // 企业资费计划名称 ExpirationTimeEnd *string `json:"expirationTimeEnd,omitempty"` // 支持到期时间区间段查询,这里指截止到期时间 格式:yyyy-MM-dd ExpirationTimeStart *string `json:"expirationTimeStart,omitempty"` // 支持到期时间区间段查询,这里指起始到期时间 格式:yyyy-MM-dd IccidEnd *string `json:"iccidEnd,omitempty"` // 支持ICCID号段查询,这里指ICCID截止号码 IccidStart *string `json:"iccidStart,omitempty"` // 支持ICCID号段查询,这里指ICCID起始号码 Label *string `json:"label,omitempty"` // 标签 PageNum uint `json:"pageNum"` // 页码 默认值:1 PageSize uint `json:"pageSize"` // 每页记录数 默认值:10 最大值:1000 SimState *AcceleronixSimCardState `json:"simState,omitempty"` // 卡状态 AcceleronixSimCardState SimType *string `json:"simType,omitempty"` // 卡类型 } type AcceleronixSimCardListResponse struct { Code int `json:"code"` // 响应码 Data struct { Current int64 `json:"current"` // 当前页码 List []struct { ActivationTime string `json:"activationTime"` // 激活时间 格式:yyyy-MM-ddd Enterprise string `json:"enterprise"` // 归属企业 EnterpriseDataPlan string `json:"enterpriseDataPlan"` // 企业资费计划 ExpirationTime string `json:"expirationTime"` // 到期时间 格式:yyyy-MM-dd Iccid string `json:"iccid"` // ICCID Imei string `json:"imei"` // IMEI Imsi string `json:"imsi"` // IMSI InitialTime string `json:"initialTime"` // 开卡时间 格式:yyyy-MM-dd Label string `json:"label"` // 标签,多个标签时逗号隔开 Msisdn string `json:"msisdn"` // MSISDN NetworkType string `json:"networkType"` // 网络制式 1:ALL 2:Cat-M 3:LTE-M SimId string `json:"simId"` // SIM ID SimState AcceleronixSimCardState `json:"simState"` // 卡状态 AcceleronixSimCardState SimStateChangeReason string `json:"simStateChangeReason"` // 卡状态变更原因 SimType string `json:"simType"` // 卡类型 } `json:"list"` // 数据集合 Pages int64 `json:"pages"` // 总页码 Size int64 `json:"size"` // 每页数量 Total int64 `json:"total"` // 总条数 } `json:"data"` // 响应体 Msg string `json:"msg"` // 响应描述 ReqId string `json:"reqId"` } type AcceleronixBatchDataUsageRequestBody struct { Iccids []string `json:"iccids"` // ICCID 最多支持100张卡批量操作 Month string `json:"month"` // 统计月份,yyyyMM 日期格式化字符串 } type AcceleronixSimCardDataUsageInfo struct { dataUsageDetails []struct{} `json:"dataUsageDetails"` // 流量详细 iccid string `json:"iccid"` // ICCID month string `json:"month"` // 统计月份 格式:yyyyMM outsideRegionDataUsage string `json:"outsideRegionDataUsage"` // 超区流量 单位:MB remainingData string `json:"remainingData"` totalDataAllowance string `json:"totalDataAllowance"` totalDataUsage string `json:"totalDataUsage"` } // 查询SIM卡列表 func QuerySimCardList(page uint, size uint) (*AcceleronixSimCardListResponse, error) { res, err := acceleronixHttpPost("/sim/page", AcceleronixSimCardListRequestBody{ PageNum: page, PageSize: size, }) if err != nil { zap.L().Error("QuerySimCardList failed.", zap.String("err", err.Error())) return nil, err } var resList AcceleronixSimCardListResponse if err := json.Unmarshal(res.Body, &resList); err != nil { return nil, err } return &resList, nil } // 批量获取SIM卡数据用量信息 // month 格式YYYYMM exp.202301 func QueryBatchSimCardDataInfo(iccidList []string, month string) (*domain.SmartHubSimCardInfoList, error) { }