repository.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package repository
  2. import (
  3. "gorm.io/gorm"
  4. req "sghgogs.com/micro/shopping-service/domain/model/request"
  5. pb "sghgogs.com/micro/shopping-service/proto"
  6. )
  7. // CreateUser(*pb.CreateUserRequest, map[string]interface{}) error
  8. // GetUserList(*pb.GetUserListRequest) ([]req.User, int64, error)
  9. // GetUser(int64) (req.User, error)
  10. // GetUserSelect(int64, string) (req.User, error)
  11. // UpdateUserRoles(int64, []int64) error // 更新用户角色
  12. // UpdateUserPassword(int64, map[string]interface{}) error
  13. // UpdateUserPhoneNumber(int64, map[string]interface{}) error
  14. // ToggleUser(int64, map[string]interface{}) error
  15. // DeleteUser(int64) error
  16. type IRepository interface {
  17. InitTable() error
  18. Login(string) (req.User, error)
  19. Profile(int64) (req.User, error)
  20. GetAdminUserList(*pb.GetAdminUserListRequest) ([]*req.User, int64, error)
  21. GetAllAdminUser() ([]*req.User, error)
  22. GetAdminUser(int64) (*req.User, error)
  23. CreateAdminUser([]int64, *req.User) error
  24. UpdateAdminUser(int64, []int64, map[string]interface{}) error
  25. ToggleAdminUser(int64, pb.StatusEnum, map[string]interface{}) error
  26. DeleteAdminUser(int64) error
  27. IsAdminUserExists(interface{}) (bool, error)
  28. GetUserList(*pb.GetUserListRequest) ([]req.User, int64, error)
  29. GetUser(int64) (req.User, error)
  30. CreateUser(*req.User) error
  31. UpdateUser(int64, map[string]interface{}) error
  32. DeleteUser(int64) error
  33. ToggleUser(int64, pb.StatusEnum, map[string]interface{}) error
  34. IsUserExists(interface{}) (bool, error)
  35. CreateUserGroup(*pb.CreateUserGroupRequest) error
  36. GetUserGroup(*pb.GetUserGroupRequest) (req.UserGroup, error)
  37. CreateAddress(*req.Address) error
  38. GetAddressList(*pb.GetAddressListRequest) ([]req.Address, int64, error)
  39. GetAddress(int64) (req.Address, error)
  40. UpdateAddress(int64, *req.Address) error
  41. DeleteAddress(int64) error
  42. GetCategoryList(*pb.GetCategoryListRequest) ([]req.Category, int64, error)
  43. GetAllCategories() ([]req.Category, error)
  44. CreateMultipleCategories([]req.Category) error // 批量创建
  45. DeleteCategory(int64) error
  46. GetProductList(*pb.GetProductListRequest) ([]req.Product, int64, error)
  47. GetProduct(int64) (req.Product, error)
  48. CreateMultipleProducts([]req.Product) error // 批量创建
  49. UpdateProduct(*pb.UpdateProductRequest) error
  50. DeleteProduct(int64) error
  51. CreateShoppingCart(*req.ShoppingCart) error
  52. CreateMultipleShoppingCartItem([]*req.ShoppingCartItem) error
  53. CreateOrder(*req.Order) error
  54. CreateOrderItem(*req.OrderItem) error
  55. CreatePayment(*req.Payment) error
  56. // Login(string) (req.AdminUser, error)
  57. // GetAdminUserList(*pb.GetAdminUserListRequest) ([]*req.AdminUser, int64, error)
  58. // GetAdminUser(int64) (*req.AdminUser, error)
  59. // CreateAdminUser(*req.AdminUser, []int64) error
  60. // UpdateAdminUser(int64, map[string]interface{}, []int64) error
  61. // ToggleAdminUser(int64, map[string]interface{}) error
  62. // DeleteAdminUser(int64) error
  63. // IsAdminUserExists(interface{}) (bool, error)
  64. IsRoleExists(interface{}) (bool, error)
  65. GetRoleList(*pb.GetRoleListRequest) ([]*req.Role, int64, error)
  66. GetAllRoles() ([]*req.Role, error)
  67. GetRole(int64) (*req.Role, error)
  68. CreateRole(*pb.CreateRoleRequest) error
  69. UpdateRole(*pb.UpdateRoleRequest) error
  70. DeleteRole(int64) error
  71. ToggleRole(*pb.ToggleRoleRequest) error
  72. AllRoles() ([]*req.Role, error)
  73. GetPermissionList(*pb.GetPermissionListRequest) ([]*req.Permission, int64, error)
  74. GetPermission(int64) (*req.Permission, error)
  75. CreateMultiplePermissions([]*req.Permission, []int64) error // 批量创建
  76. CreatePermission(*req.Permission, []int64) error // 创建
  77. UpdatePermission(int64, map[string]interface{}, []int64) error // 更新
  78. DeletePermission(int64) error
  79. TogglePermission(int64, map[string]interface{}) error
  80. }
  81. func NewRepository(db *gorm.DB) IRepository {
  82. return &Repository{
  83. db: db,
  84. }
  85. }
  86. type Repository struct {
  87. db *gorm.DB
  88. }
  89. func (u *Repository) InitTable() error {
  90. return u.db.AutoMigrate(
  91. req.User{},
  92. req.UserGroup{},
  93. // req.AdminUser{},
  94. req.Role{},
  95. req.Permission{},
  96. req.UserAuth{},
  97. req.Location{},
  98. req.Address{},
  99. req.Category{},
  100. req.Order{},
  101. req.OrderItem{},
  102. req.Payment{},
  103. req.Product{},
  104. req.Image{},
  105. req.ShoppingCart{},
  106. req.ShoppingCartItem{},
  107. )
  108. }