first
This commit is contained in:
172
ent/schema/users.go
Normal file
172
ent/schema/users.go
Normal file
@ -0,0 +1,172 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
"regexp"
|
||||
"entgo.io/ent"
|
||||
"math/rand"
|
||||
"entgo.io/ent/schema/field"
|
||||
"github.com/kyokomi/lottery"
|
||||
)
|
||||
|
||||
type Users struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func Random(i int) (l int){
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
l = rand.Intn(20)
|
||||
for l == 0 {
|
||||
l = rand.Intn(20)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func Kira(i int) (l bool){
|
||||
lot := lottery.New(rand.New(rand.NewSource(time.Now().UnixNano())))
|
||||
if lot.Lot(i) {
|
||||
l = true
|
||||
} else {
|
||||
l = false
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
var jst,err = time.LoadLocation("Asia/Tokyo")
|
||||
|
||||
var a = Random(4)
|
||||
var d = Random(20)
|
||||
var h = Random(20)
|
||||
var k = Random(20)
|
||||
var s = Random(20)
|
||||
var c = Random(20)
|
||||
var battle = 2
|
||||
|
||||
func StatusR()(status string){
|
||||
if d == 1 {
|
||||
var status = "super"
|
||||
return status
|
||||
} else {
|
||||
var status = "normal"
|
||||
return status
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func CharaR()(chara string){
|
||||
if a == 1 {
|
||||
var chara = "drai"
|
||||
return chara
|
||||
} else if a == 2 {
|
||||
var chara = "octkat"
|
||||
return chara
|
||||
} else if a == 3 {
|
||||
var chara = "kyosuke"
|
||||
return chara
|
||||
} else {
|
||||
var chara = "ponta"
|
||||
return chara
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func Nextime() (tt string){
|
||||
t := time.Now().Add(time.Hour * 24 * 1).In(jst)
|
||||
tt = t.Format("20060102")
|
||||
return
|
||||
}
|
||||
|
||||
func (Users) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
|
||||
field.String("user").
|
||||
NotEmpty().
|
||||
Immutable().
|
||||
MaxLen(7).
|
||||
Match(regexp.MustCompile("[a-z]+$")).
|
||||
Unique(),
|
||||
|
||||
field.String("chara").
|
||||
Immutable().
|
||||
Default(CharaR()).
|
||||
Optional(),
|
||||
|
||||
field.Int("skill").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default(k),
|
||||
|
||||
field.Int("hp").
|
||||
Optional().
|
||||
Default(h),
|
||||
|
||||
field.Int("attack").
|
||||
Optional().
|
||||
Default(a),
|
||||
|
||||
field.Int("defense").
|
||||
Optional().
|
||||
Default(d),
|
||||
|
||||
field.Int("critical").
|
||||
Optional().
|
||||
Default(c),
|
||||
|
||||
field.Int("battle").
|
||||
Optional().
|
||||
Default(1),
|
||||
|
||||
field.Int("win").
|
||||
Optional().
|
||||
Default(0),
|
||||
|
||||
field.Int("day").
|
||||
Optional().
|
||||
Default(0),
|
||||
|
||||
field.Float("percentage").
|
||||
Optional().
|
||||
Default(0),
|
||||
|
||||
field.Bool("limit").
|
||||
Optional().
|
||||
Default(false),
|
||||
|
||||
field.String("status").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default(StatusR()),
|
||||
|
||||
field.String("comment").
|
||||
Optional().
|
||||
Default(""),
|
||||
|
||||
field.Time("created_at").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.String("next").
|
||||
Default(Nextime()).
|
||||
Optional(),
|
||||
|
||||
field.Time("updated_at").
|
||||
Optional().
|
||||
Default(func() time.Time {
|
||||
return time.Now().In(jst)
|
||||
}),
|
||||
|
||||
field.String("url").
|
||||
Immutable().
|
||||
Optional().
|
||||
Default("https://syui.cf/api"),
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (Users) Edges() []ent.Edge {
|
||||
return []ent.Edge{}
|
||||
}
|
||||
|
Reference in New Issue
Block a user