forked from free-lancers/electricity_bill_calc_service
feat(login):基本完成用户登录,待测。
This commit is contained in:
23
repository/abstract.go
Normal file
23
repository/abstract.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package repository
|
||||
|
||||
func _postProcessSingle[T interface{}](instance *T, has bool, err error) (*T, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if has {
|
||||
return instance, nil
|
||||
} else {
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
func _postProcessList[T interface{}](instance []*T, has bool, err error) ([]*T, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if has {
|
||||
return instance, nil
|
||||
} else {
|
||||
return nil, nil
|
||||
}
|
||||
}
|
22
repository/user.go
Normal file
22
repository/user.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"electricity_bill_calc/global"
|
||||
"electricity_bill_calc/model"
|
||||
)
|
||||
|
||||
type _UserRepository struct{}
|
||||
|
||||
var UserRepo _UserRepository
|
||||
|
||||
func (_UserRepository) FindUserByUsername(username string) (*model.User, error) {
|
||||
user := new(model.User)
|
||||
has, err := global.DBConn.Where("username=?", username).Get(user)
|
||||
return _postProcessSingle(user, has, err)
|
||||
}
|
||||
|
||||
func (_UserRepository) RetreiveUserDetail(uid string) (*model.UserDetail, error) {
|
||||
user := new(model.UserDetail)
|
||||
has, err := global.DBConn.Where("id=?", uid).Get(user)
|
||||
return _postProcessSingle(user, has, err)
|
||||
}
|
Reference in New Issue
Block a user