simCardDomain.go 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package domain
  2. import (
  3. "time"
  4. "go.mongodb.org/mongo-driver/bson/primitive"
  5. )
  6. type SimCardStatus string
  7. const (
  8. SimStatusUnknown SimCardStatus = "UNKNOWN" // 未知
  9. SimStatusNotActivated SimCardStatus = "NOT_ACTIVATED" // 未激活
  10. SimStatusActivated SimCardStatus = "ACTIVATED" // 已激活
  11. SimStatusDeactivated SimCardStatus = "DEACTIVATED" // 已停用
  12. SimStatusRetired SimCardStatus = "RETIRED" // 失效
  13. )
  14. type SimCardPlatform string
  15. const (
  16. SimPlatformSmartHub SimCardPlatform = "SmartHub"
  17. SimPlatformAcceleronix SimCardPlatform = "Acceleronix"
  18. )
  19. type SimCardInfo struct {
  20. GICCID string `bson:"_id" json:"giccid"` // 只取前19位不取检验码
  21. IMEI string `bson:"imei" json:"imei"` // 国际移动用户识别码
  22. IMSI string `bson:"imsi" json:"imsi"` // 国际移动用户识别码
  23. MSISDN string `bson:"msisdn" json:"msisdn"` // 移动用户号码
  24. Status SimCardStatus `bson:"status" json:"status"` // 卡状态
  25. Platform SimCardPlatform `bson:"platform" json:"platform"` // 数据来源平台: SmartHub / Acceleronix
  26. ExpirationTime string `bson:"expirationTime" json:"expirationTime"` // 到期时间(后付费卡没有到期时间) 格式:yyyy-MM-dd
  27. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  28. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  29. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  30. }
  31. type SimCardMonthlyData struct {
  32. ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
  33. SimId string `bson:"simId" json:"simId"` // GICCID
  34. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  35. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  36. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  37. DailyUsage map[uint8]SimCardDailyUsage `bson:"dailyUsage" json:"dailyUsage"` // 日用量数据信息 (index=当月日数1-31)
  38. }
  39. type SimCardDayData struct {
  40. SimId string `bson:"simId" json:"simId"` // GICCID
  41. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  42. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  43. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  44. Day uint8 `bson:"day" json:"day"` // 当天日期值 1-31
  45. DailyUsage SimCardDailyUsage `bson:"dailyUsage" json:"dailyUsage"` // 日用量数据信息
  46. }
  47. type SimCardDailyUsage struct {
  48. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  49. Day string `bson:"day" json:"day"` // 统计日期 格式:yyyy-MM-DD
  50. DataUsage float64 `bson:"dataUsage" json:"dataUsage"` // 数据用量(KB)
  51. }