66 lines
2.6 KiB
Go
66 lines
2.6 KiB
Go
package gmodel
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// TODO: 使用model的属性做你想做的
|
|
|
|
type UserBasicInfoForSave struct {
|
|
ID uint `gorm:"primary_key" json:"id"`
|
|
FirstName string `gorm:"-" json:"first_name"`
|
|
LastName string `gorm:"-" json:"last_name"`
|
|
Mobile string `gorm:"-" json:"mobile"`
|
|
Company string `gorm:"-" json:"company"`
|
|
IsOrderStatusEmail int64 `gorm:"-" json:"is_order_status_email"`
|
|
IsEmailAdvertisement int64 `gorm:"-" json:"is_email_advertisement"`
|
|
IsOrderStatusPhone int64 `gorm:"-" json:"is_order_status_phone"`
|
|
IsPhoneAdvertisement int64 `gorm:"-" json:"is_phone_advertisement"`
|
|
Type int64 `gorm:"-" json:"type"`
|
|
IsOpenRender int64 `gorm:"-" json:"is_open_render"`
|
|
IsLowRendering int64 `gorm:"-" json:"is_low_rendering"`
|
|
IsRemoveBg int64 `gorm:"-" json:"is_remove_bg"`
|
|
}
|
|
|
|
func (u *FsUserModel) FindUserByEmail(ctx context.Context, emailname string) (resp FsUser, err error) {
|
|
err = u.db.WithContext(ctx).Model(&FsUser{}).Where("`email` = ?", emailname).Take(&resp).Error
|
|
return resp, err
|
|
}
|
|
|
|
func (u *FsUserModel) FindUserById(ctx context.Context, Id int64) (resp FsUser, err error) {
|
|
err = u.db.WithContext(ctx).Model(&FsUser{}).Where("`id` = ? and is_del = ?", Id, 0).Take(&resp).Error
|
|
return resp, err
|
|
}
|
|
|
|
func (u *FsUserModel) FindUserByGoogleId(ctx context.Context, Id int64) (resp *FsUser, err error) {
|
|
err = u.db.WithContext(ctx).Model(resp).Where("`google_id` = ? and is_del = ?", Id, 0).Take(resp).Error
|
|
return resp, err
|
|
}
|
|
|
|
func (u *FsUserModel) Transaction(ctx context.Context, fc func(tx *gorm.DB) error) (err error) {
|
|
return u.db.WithContext(ctx).Transaction(fc)
|
|
}
|
|
|
|
func (u *FsUserModel) UpdateUserBasicInfoById(ctx context.Context, Id int64, user *UserBasicInfoForSave) (err error) {
|
|
|
|
err = u.db.WithContext(ctx).Model(&FsUser{}).
|
|
Where("`id` = ? and is_del = ? and status = ?", Id, 0, 1).
|
|
Updates(map[string]interface{}{
|
|
"first_name": user.FirstName,
|
|
"last_name": user.LastName,
|
|
"mobile": user.Mobile,
|
|
"company": user.Company,
|
|
"is_order_status_email": user.IsOrderStatusEmail,
|
|
"is_email_advertisement": user.IsEmailAdvertisement,
|
|
"is_order_status_phone": user.IsOrderStatusPhone,
|
|
"is_phone_advertisement": user.IsPhoneAdvertisement,
|
|
"type": user.Type,
|
|
"is_open_render": user.IsOpenRender,
|
|
"is_low_rendering": user.IsLowRendering,
|
|
"is_remove_bg": user.IsRemoveBg,
|
|
}).Error
|
|
return err
|
|
}
|