package models import ( "github.com/jinzhu/gorm" "lzyd-user-api/common" "net/http" "time" ) /** 注册请求参数 */ type RegisterReq struct { Mobile string `json:"mobile"` Password string `json:"password"` ValidCode string `json:"valid_code"` UserName string `json:"user_name"` Gender int `json:"gender,omitempty"` Birthday string `json:"birthday,omitempty"` Area string `json:"area,omitempty"` } /** 手动注册请求参数 */ type RegisterManualReq struct { Mobile string `json:"mobile"` } /** 账号密码登录请求参数 */ type LoginReq struct { Mobile string `json:"mobile"` Password string `json:"password"` } /** 手机号码登录请求参数 */ type WxLoginReq struct { Mobile string `json:"mobile"` } /** 快捷登录请求参数 */ type QuickLoginReq struct { MobilePhone string `json:"mobile_phone"` ValidCode string `json:"valid_code"` } /** 手机号登录请求参数 */ type MobileLoginReq struct { Mobile string `json:"mobile"` } /** 第三方登录请求参数 */ type ThirdLoginReq struct { OpenId string `json:"open_id"` UserName string `json:"user_name,omitempty"` Avatar string `json:"avatar,omitempty"` } /** 找回密码请求参数 */ type GetbackPwdReq struct { Mobile string `json:"mobile"` ValidCode string `json:"valid_code"` Password string `json:"password"` } /** 绑定手机号请求参数 */ type BindMobileReq struct { UserCode string `json:"user_code"` Mobile string `json:"mobile"` ValidCode string `json:"valid_code"` } /** 登录信息返回 */ type LoginResp struct { UserId int64 `json:"user_id"` UserCode string `json:"user_code"` Mobile string `json:"mobile"` OpenID string `json:"open_id"` LoginType int `json:"login_type"` } /** 查询的手机号与密码信息 */ type LoginInfo struct { UserId string `json:"user_id"` Mobile string `json:"mobile"` Password string `json:"password"` } /** [Mysql]修改最后一次登录时间 */ func (u *UserInfo) UpdateLoginTime() error { sql := "UPDATE lzyd_user SET login_time = ? WHERE user_id = ?" err := common.DB.Exec(sql, time.Now(), u.UserId).Error return err } /** [Mysql]登录后处理 */ func (u *UserInfo) LoginHandler(r *http.Request, loginType int) error { if err := u.UpdateLoginTime(); err != nil { return err } return nil } /** [Mysql]绑定用户手机号 */ func (u *UserInfo) UpdateBindTel(db *gorm.DB) error { sql := "UPDATE lzyd_user SET mobile = ? WHERE user_id = ?" err := db.Exec(sql, u.MobilePhone, u.UserId).Error return err } /** [Mysql]修改用户密码 */ func (u *LoginInfo) UpdatePwd(db *gorm.DB, pwd string) error { sql := "UPDATE lzyd_user SET password = ? WHERE user_id = ?" err := db.Exec(sql, pwd, u.UserId).Error return err }