174 lines
6.4 KiB
Go
Raw Normal View History

// Package sysin
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2025 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.17.8
package sysin
import (
"context"
"hotgo/internal/consts"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
"hotgo/utility/validate"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// UsersUpdateFields 修改前台用户表字段过滤
type UsersUpdateFields struct {
Phone string `json:"phone" dc:"手机号"`
Nickname string `json:"nickname" dc:"昵称"`
Email string `json:"email" dc:"邮箱"`
Avatar string `json:"avatar" dc:"头像URL"`
Introduce string `json:"introduce" dc:"个人简介"`
Realname string `json:"realname" dc:"真实姓名"`
Gender int `json:"gender" dc:"性别"`
Birthday string `json:"birthday" dc:"生日"`
School string `json:"school" dc:"学校"`
Grade string `json:"grade" dc:"学历"`
Major string `json:"major" dc:"专业"`
Status int `json:"status" dc:"用户状态"`
}
// UsersInsertFields 新增前台用户表字段过滤
type UsersInsertFields struct {
Phone string `json:"phone" dc:"手机号"`
Nickname string `json:"nickname" dc:"昵称"`
Email string `json:"email" dc:"邮箱"`
Avatar string `json:"avatar" dc:"头像URL"`
Introduce string `json:"introduce" dc:"个人简介"`
Realname string `json:"realname" dc:"真实姓名"`
Gender int `json:"gender" dc:"性别"`
Birthday string `json:"birthday" dc:"生日"`
School string `json:"school" dc:"学校"`
Grade string `json:"grade" dc:"学历"`
Major string `json:"major" dc:"专业"`
Status int `json:"status" dc:"用户状态"`
}
// UsersEditInp 修改/新增前台用户表
type UsersEditInp struct {
entity.Users
}
func (in *UsersEditInp) Filter(ctx context.Context) (err error) {
// 验证邮箱
if err := g.Validator().Rules("email").Data(in.Email).Messages("邮箱不是邮箱地址").Run(ctx); err != nil {
return err.Current()
}
return
}
type UsersEditModel struct{}
// UsersDeleteInp 删除前台用户表
type UsersDeleteInp struct {
Id interface{} `json:"id" v:"required#id不能为空" dc:"id"`
}
func (in *UsersDeleteInp) Filter(ctx context.Context) (err error) {
return
}
type UsersDeleteModel struct{}
// UsersViewInp 获取指定前台用户表信息
type UsersViewInp struct {
Id int `json:"id" v:"required#id不能为空" dc:"id"`
}
func (in *UsersViewInp) Filter(ctx context.Context) (err error) {
return
}
type UsersViewModel struct {
entity.Users
}
// UsersListInp 获取前台用户表列表
type UsersListInp struct {
form.PageReq
Id int `json:"id" dc:"id"`
Status int `json:"status" dc:"用户状态"`
CreatedAt []*gtime.Time `json:"createdAt" dc:"注册时间"`
}
func (in *UsersListInp) Filter(ctx context.Context) (err error) {
return
}
type UsersListModel struct {
Id int `json:"id" dc:"id"`
Phone string `json:"phone" dc:"手机号"`
Nickname string `json:"nickname" dc:"昵称"`
Email string `json:"email" dc:"邮箱"`
Avatar string `json:"avatar" dc:"头像URL"`
Password string `json:"password" dc:"密码"`
Salt string `json:"salt" dc:"密码盐"`
Realname string `json:"realname" dc:"真实姓名"`
Gender int `json:"gender" dc:"性别"`
Birthday string `json:"birthday" dc:"生日"`
School string `json:"school" dc:"学校"`
Grade string `json:"grade" dc:"学历"`
Major string `json:"major" dc:"专业"`
Status int `json:"status" dc:"用户状态"`
VerificationToken string `json:"verificationToken" dc:"邮箱验证令牌"`
EmailVerified int `json:"emailVerified" dc:"邮箱验证状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"注册时间"`
LastLogin *gtime.Time `json:"lastLogin" dc:"最后登录时间"`
LoginCount int `json:"loginCount" dc:"累计登录次数"`
}
// UsersExportModel 导出前台用户表
type UsersExportModel struct {
Id int `json:"id" dc:"id"`
Phone string `json:"phone" dc:"手机号"`
Nickname string `json:"nickname" dc:"昵称"`
Email string `json:"email" dc:"邮箱"`
Avatar string `json:"avatar" dc:"头像URL"`
Password string `json:"password" dc:"密码"`
Salt string `json:"salt" dc:"密码盐"`
Realname string `json:"realname" dc:"真实姓名"`
Gender int `json:"gender" dc:"性别"`
Birthday string `json:"birthday" dc:"生日"`
School string `json:"school" dc:"学校"`
Grade string `json:"grade" dc:"学历"`
Major string `json:"major" dc:"专业"`
Status int `json:"status" dc:"用户状态"`
VerificationToken string `json:"verificationToken" dc:"邮箱验证令牌"`
EmailVerified int `json:"emailVerified" dc:"邮箱验证状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"注册时间"`
LastLogin *gtime.Time `json:"lastLogin" dc:"最后登录时间"`
LoginCount int `json:"loginCount" dc:"累计登录次数"`
}
// UsersStatusInp 更新前台用户表状态
type UsersStatusInp struct {
Id int `json:"id" v:"required#id不能为空" dc:"id"`
Status int `json:"status" dc:"状态"`
}
func (in *UsersStatusInp) Filter(ctx context.Context) (err error) {
if in.Id <= 0 {
err = gerror.New("id不能为空")
return
}
if in.Status <= 0 {
err = gerror.New("状态不能为空")
return
}
if !validate.InSlice(consts.StatusSlice, in.Status) {
err = gerror.New("状态不正确")
return
}
return
}
type UsersStatusModel struct{}