simCardDomain.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 SimCardInfo struct {
  15. GICCID string `bson:"_id" json:"giccid"` // 只取前19位不取检验码
  16. IMEI string `bson:"imei" json:"imei"` // 国际移动用户识别码
  17. IMSI string `bson:"imsi" json:"imsi"` // 国际移动用户识别码
  18. MSISDN string `bson:"msisdn" json:"msisdn"` // 移动用户号码
  19. Status SimCardStatus `bson:"status" json:"status"` // 卡状态
  20. ExpirationTime string `bson:"expirationTime" json:"expirationTime"` // 到期时间(后付费卡没有到期时间) 格式:yyyy-MM-dd
  21. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  22. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  23. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  24. }
  25. type SimCardMonthlyData struct {
  26. ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
  27. SimId string `bson:"simId" json:"simId"` // GICCID
  28. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  29. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  30. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  31. DailyUsage map[uint8]SimCardDailyUsage `bson:"dailyUsage" json:"dailyUsage"` // 日用量数据信息 (index=当月日数1-31)
  32. }
  33. type SimCardDayData struct {
  34. SimId string `bson:"simId" json:"simId"` // GICCID
  35. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  36. Month string `bson:"month" json:"month"` // 统计月份 格式:yyyy-MM
  37. AllDataUsage float64 `bson:"allDataUsage" json:"allDataUsage"` // 月数据用量(KB)
  38. Day uint8 `bson:"day" json:"day"` // 当天日期值 1-31
  39. DailyUsage SimCardDailyUsage `bson:"dailyUsage" json:"dailyUsage"` // 日用量数据信息
  40. }
  41. type SimCardDailyUsage struct {
  42. UpdateTime time.Time `bson:"updateTime" json:"updateTime"` // UTC时间
  43. Day string `bson:"day" json:"day"` // 统计日期 格式:yyyy-MM-DD
  44. DataUsage float64 `bson:"dataUsage" json:"dataUsage"` // 数据用量(KB)
  45. }