mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-12-27 18:46:01 +08:00
发布v2.8.4版本,更新内容请查看:https://github.com/bufanyun/hotgo/tree/v2.0/docs/guide-zh-CN/addon-version-upgrade.md
This commit is contained in:
190
server/internal/model/input/sysin/serve_license.go
Normal file
190
server/internal/model/input/sysin/serve_license.go
Normal file
@@ -0,0 +1,190 @@
|
||||
// Package sysin
|
||||
// @Link https://github.com/bufanyun/hotgo
|
||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||
// @Author Ms <133814250@qq.com>
|
||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||
// @AutoGenerate Version 2.7.6
|
||||
package sysin
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/gogf/gf/v2/encoding/gjson"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"hotgo/internal/consts"
|
||||
"hotgo/internal/model/entity"
|
||||
"hotgo/internal/model/input/form"
|
||||
"hotgo/utility/validate"
|
||||
)
|
||||
|
||||
// ServeLicenseUpdateFields 修改服务许可证字段过滤
|
||||
type ServeLicenseUpdateFields struct {
|
||||
Group string `json:"group" dc:"分组"`
|
||||
Name string `json:"name" dc:"许可名称"`
|
||||
Appid string `json:"appid" dc:"应用ID"`
|
||||
SecretKey string `json:"secretKey" dc:"应用秘钥"`
|
||||
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制,默认1"`
|
||||
//Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
|
||||
AllowedIps string `json:"allowedIps" dc:"白名单,*代表所有,只有允许的IP才能连接到tcp服务"`
|
||||
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
|
||||
Remark string `json:"remark" dc:"备注"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
}
|
||||
|
||||
// ServeLicenseInsertFields 新增服务许可证字段过滤
|
||||
type ServeLicenseInsertFields struct {
|
||||
Group string `json:"group" dc:"分组"`
|
||||
Name string `json:"name" dc:"许可名称"`
|
||||
Appid string `json:"appid" dc:"应用ID"`
|
||||
SecretKey string `json:"secretKey" dc:"应用秘钥"`
|
||||
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制,默认1"`
|
||||
//Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
|
||||
AllowedIps string `json:"allowedIps" dc:"白名单,*代表所有,只有允许的IP才能连接到tcp服务"`
|
||||
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
|
||||
Remark string `json:"remark" dc:"备注"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
}
|
||||
|
||||
// ServeLicenseEditInp 修改/新增服务许可证
|
||||
type ServeLicenseEditInp struct {
|
||||
entity.SysServeLicense
|
||||
}
|
||||
|
||||
func (in *ServeLicenseEditInp) Filter(ctx context.Context) (err error) {
|
||||
// 验证分组
|
||||
if err := g.Validator().Rules("required").Data(in.Group).Messages("分组不能为空").Run(ctx); err != nil {
|
||||
return err.Current()
|
||||
}
|
||||
|
||||
// 验证许可名称
|
||||
if err := g.Validator().Rules("required").Data(in.Name).Messages("许可名称不能为空").Run(ctx); err != nil {
|
||||
return err.Current()
|
||||
}
|
||||
|
||||
// 验证应用ID
|
||||
if err := g.Validator().Rules("required").Data(in.Appid).Messages("应用ID不能为空").Run(ctx); err != nil {
|
||||
return err.Current()
|
||||
}
|
||||
|
||||
// 验证授权结束时间
|
||||
if err := g.Validator().Rules("required").Data(in.EndAt).Messages("授权结束时间不能为空").Run(ctx); err != nil {
|
||||
return err.Current()
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
type ServeLicenseEditModel struct{}
|
||||
|
||||
// ServeLicenseDeleteInp 删除服务许可证
|
||||
type ServeLicenseDeleteInp struct {
|
||||
Id interface{} `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
|
||||
}
|
||||
|
||||
func (in *ServeLicenseDeleteInp) Filter(ctx context.Context) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
type ServeLicenseDeleteModel struct{}
|
||||
|
||||
// ServeLicenseViewInp 获取指定服务许可证信息
|
||||
type ServeLicenseViewInp struct {
|
||||
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
|
||||
}
|
||||
|
||||
func (in *ServeLicenseViewInp) Filter(ctx context.Context) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
type ServeLicenseViewModel struct {
|
||||
entity.SysServeLicense
|
||||
}
|
||||
|
||||
// ServeLicenseListInp 获取服务许可证列表
|
||||
type ServeLicenseListInp struct {
|
||||
form.PageReq
|
||||
Id int64 `json:"id" dc:"许可ID"`
|
||||
Group string `json:"group" dc:"分组"`
|
||||
Name string `json:"name" dc:"许可名称"`
|
||||
Appid string `json:"appid" dc:"应用ID"`
|
||||
EndAt []*gtime.Time `json:"endAt" dc:"授权结束时间"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
CreatedAt []*gtime.Time `json:"createdAt" dc:"创建时间"`
|
||||
}
|
||||
|
||||
func (in *ServeLicenseListInp) Filter(ctx context.Context) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
type ServeLicenseListModel struct {
|
||||
Id int64 `json:"id" dc:"许可ID"`
|
||||
Group string `json:"group" dc:"分组"`
|
||||
Name string `json:"name" dc:"许可名称"`
|
||||
Appid string `json:"appid" dc:"应用ID"`
|
||||
SecretKey string `json:"secretKey" dc:"应用秘钥"`
|
||||
RemoteAddr string `json:"remoteAddr" dc:"最后连接地址"`
|
||||
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制,默认1"`
|
||||
LoginTimes int64 `json:"loginTimes" dc:"登录次数"`
|
||||
LastLoginAt *gtime.Time `json:"lastLoginAt" dc:"最后登录时间"`
|
||||
LastActiveAt *gtime.Time `json:"lastActiveAt" dc:"最后活跃时间"`
|
||||
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
|
||||
Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
||||
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
|
||||
Online int `json:"online" dc:"在线"`
|
||||
}
|
||||
|
||||
// ServeLicenseExportModel 导出服务许可证
|
||||
type ServeLicenseExportModel struct {
|
||||
Id int64 `json:"id" dc:"许可ID"`
|
||||
Group string `json:"group" dc:"分组"`
|
||||
Name string `json:"name" dc:"许可名称"`
|
||||
Appid string `json:"appid" dc:"应用ID"`
|
||||
SecretKey string `json:"secretKey" dc:"应用秘钥"`
|
||||
RemoteAddr string `json:"remoteAddr" dc:"最后连接地址"`
|
||||
OnlineLimit int `json:"onlineLimit" dc:"在线数量限制,默认1"`
|
||||
LoginTimes int64 `json:"loginTimes" dc:"登录次数"`
|
||||
LastLoginAt *gtime.Time `json:"lastLoginAt" dc:"最后登录时间"`
|
||||
LastActiveAt *gtime.Time `json:"lastActiveAt" dc:"最后活跃时间"`
|
||||
EndAt *gtime.Time `json:"endAt" dc:"授权结束时间"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
||||
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
|
||||
}
|
||||
|
||||
// ServeLicenseStatusInp 更新服务许可证状态
|
||||
type ServeLicenseStatusInp struct {
|
||||
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
|
||||
Status int `json:"status" dc:"状态"`
|
||||
}
|
||||
|
||||
func (in *ServeLicenseStatusInp) 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 ServeLicenseStatusModel struct{}
|
||||
|
||||
type ServeLicenseAssignRouterInp struct {
|
||||
Id int64 `json:"id" v:"required#许可ID不能为空" dc:"许可ID"`
|
||||
Routes *gjson.Json `json:"routes" dc:"路由表,空使用默认分组路由"`
|
||||
}
|
||||
|
||||
func (in *ServeLicenseAssignRouterInp) Filter(ctx context.Context) (err error) {
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user