Kaynağa Gözat

feat: 用户模型

runningwater 9 ay önce
ebeveyn
işleme
41bb6ef561

+ 13 - 0
app/models/model.go

@@ -0,0 +1,13 @@
+package models
+
+import "time"
+
+// BaseModel 基础模型
+type BaseModel struct {
+	ID        uint           `gorm:"column:id;primaryKey;autoIncrement;" json:"id,omitempty"` // 主键ID
+}
+
+type CommonTimestampsField struct {
+	CreatedAt  time.Time `gorm:"column:created_at;index;" json:"created_at,omitempty"`   // 创建时间
+	UpdatedAt  time.Time `gorm:"column:updated_at;index;" json:"updated_at,omitempty"`   // 更新时间
+}

+ 16 - 0
app/models/user/user_model.go

@@ -0,0 +1,16 @@
+// Package user 存放用户 Model 相关逻辑
+package user
+
+import "github.com/runningwater/gohub/app/models"
+
+// User 用户模型
+type User struct {
+    models.BaseModel
+
+    Name     string `json:"name,omitempty"`
+    Email    string `json:"-"`
+    Phone    string `json:"-"`
+    Password string `json:"-"`
+
+    models.CommonTimestampsField
+}

+ 16 - 0
app/models/user/user_util.go

@@ -0,0 +1,16 @@
+package user
+
+import "github.com/runningwater/gohub/pkg/database"
+
+
+func IsEmailExist(email string) bool {
+	var count int64
+	database.DB.Model(&User{}).Where("email = ?", email).Count(&count)
+	return count > 0
+}
+
+func IsPhoneExist(phone string) bool {
+	var count int64
+	database.DB.Model(&User{}).Where("phone = ?", phone).Count(&count)
+	return count > 0
+}