174 lines
6.4 KiB
Go
174 lines
6.4 KiB
Go
// 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{} |