config.model.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package model
  2. import (
  3. "go-nc/hook"
  4. "github.com/google/uuid"
  5. "gorm.io/gorm"
  6. )
  7. var Models = []interface{}{
  8. // 系统
  9. &Sys_user{}, // 用户账户
  10. &Sys_role{}, // 角色
  11. &Sys_menu{}, // 菜单
  12. &Sys_user_role{}, // 用户角色
  13. &Sys_role_menu{}, // 角色菜单
  14. &Sys_dictionary{}, // 字典
  15. // &Iot_sim_map{}, // SIM卡
  16. &Sim_card{},
  17. &Sim_package{},
  18. &Metadata_package{},
  19. &Sim_data_usage{},
  20. // // 客户信息
  21. &U_customerAccountInfo{}, // 客户信息
  22. // &Iot_sim_card{}, // 卡信息
  23. // &Iot_sim_order{}, // 订单
  24. // // 采购
  25. // 平台卡信息
  26. &Cmi_sim_order{}, // 卡采购
  27. &Cmi_sim_order_card{}, // 卡采购导入的卡信息
  28. &Cmi_traffic_order{}, // 资费订单
  29. // 资费
  30. &Sim_traffic{}, // 资费管理
  31. &Sim_traffic_product{}, // 资费商品
  32. // 流量池
  33. &Sim_pool{}, // 流量池
  34. &Cfo_recharge_record{}, // 充值记录
  35. &Cfo_wallet{}, // 余额
  36. // 预警
  37. &Alert_traffic_pool{}, // 流量池预警
  38. &Alert_customer{}, // 客户预警
  39. &Pay_order{},
  40. // 日志
  41. &Log_card_operation{}, // 卡操作日志
  42. }
  43. // 基础模型
  44. type Model struct {
  45. Id uint `gorm:"primary_key" json:"id"`
  46. CreatedAt *hook.LocalTime `json:"createdAt"` // 创建时间
  47. UpdatedAt *hook.LocalTime `json:"updatedAt"` // 更新时间
  48. DeletedAt *gorm.DeletedAt `gorm:"index" json:"deletedAt"`
  49. }
  50. // NoDeleteModel 基础模型
  51. type NoDeleteModel struct {
  52. Id uint `gorm:"primary_key" json:"id"`
  53. CreatedAt *hook.LocalTime `json:"createdAt"`
  54. UpdatedAt *hook.LocalTime `json:"updatedAt"`
  55. }
  56. // ModelUUID 基础模型
  57. type ModelUUID struct {
  58. Id string `gorm:"primary_key" json:"id"`
  59. CreatedAt *hook.LocalTime `json:"createdAt"`
  60. UpdatedAt *hook.LocalTime `json:"updatedAt"`
  61. DeletedAt *gorm.DeletedAt `gorm:"index" json:"deletedAt"`
  62. }
  63. // BeforeCreate 自动创建UUID
  64. func (m *ModelUUID) BeforeCreate(tx *gorm.DB) (err error) {
  65. m.Id = GenerateUUIDWithoutHyphens()
  66. return
  67. }
  68. func GenerateUUIDWithoutHyphens() string {
  69. uuidStr := uuid.New().String()
  70. return uuidStr[:8] + uuidStr[9:13] + uuidStr[14:18] + uuidStr[19:23] + uuidStr[24:]
  71. }