simCardManage.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package smartHub
  2. import (
  3. "encoding/json"
  4. "fwh-toolbox-server/domain"
  5. "net/url"
  6. "strconv"
  7. "go.uber.org/zap"
  8. )
  9. type SimStatus string
  10. const (
  11. SimStatusTestReady SimStatus = "TEST_READY" // 可测试
  12. SimStatusActivateReady SimStatus = "ACTIVATE_READY" // 可激活
  13. SimStatusActivated SimStatus = "ACTIVATED" // 已激活
  14. SimStatusDeactivated SimStatus = "DEACTIVATED" // 已停用
  15. SimStatusInventory SimStatus = "INVENTORY" // 库存
  16. SimStatusRetired SimStatus = "RETIRED" // 失效
  17. )
  18. // 获取SIM卡详细信息
  19. func QuerySimCardInfo(giccid string) (*domain.SmartHubSimCardInfo, error) {
  20. res, err := smartHttpGet("/global-sims/"+giccid, nil)
  21. if err != nil {
  22. return nil, err
  23. }
  24. var info domain.SmartHubSimCardInfo
  25. if err := json.Unmarshal(res.Body, &info); err != nil {
  26. return nil, err
  27. }
  28. return &info, nil
  29. }
  30. // 批量获取SIM卡详细信息
  31. func QueryBatchSimCardInfo(page uint, size uint) (*domain.SmartHubSimCardInfoList, error) {
  32. // 构造 query 参数
  33. params := url.Values{}
  34. params.Add("page", strconv.FormatUint(uint64(page), 10))
  35. params.Add("size", strconv.FormatUint(uint64(size), 10))
  36. res, err := smartHttpGet("/global-sims", &params)
  37. if err != nil {
  38. return nil, err
  39. }
  40. var infoList domain.SmartHubSimCardInfoList
  41. if err := json.Unmarshal(res.Body, &infoList); err != nil {
  42. zap.L().Error("QueryBatchSimCardInfo Unmarshal failed.", zap.String("body", string(res.Body)), zap.String("err", err.Error()))
  43. return nil, err
  44. }
  45. return &infoList, nil
  46. }