fix: some api bug

This commit is contained in:
wwweww
2026-03-31 22:12:06 +08:00
parent c5ff4f0216
commit e7970ac25f
219 changed files with 16195 additions and 2126 deletions
@@ -36,7 +36,7 @@ var (
{Name: "id", Type: field.TypeInt64, Increment: true},
{Name: "user_id", Type: field.TypeInt64, Unique: true},
{Name: "status", Type: field.TypeString, Size: 20, Default: "offline"},
{Name: "gender", Type: field.TypeInt, Unique: true},
{Name: "gender", Type: field.TypeBool, Default: true},
{Name: "rating", Type: field.TypeOther, Nullable: true, SchemaType: map[string]string{"postgres": "decimal(3,2)"}},
{Name: "total_orders", Type: field.TypeInt, Nullable: true, Default: 0},
{Name: "completed_orders", Type: field.TypeInt, Nullable: true, Default: 0},
+6 -39
View File
@@ -1131,8 +1131,7 @@ type PlayersMutation struct {
user_id *int64
adduser_id *int64
status *string
gender *int
addgender *int
gender *bool
rating *decimal.Decimal
total_orders *int
addtotal_orders *int
@@ -1348,13 +1347,12 @@ func (m *PlayersMutation) ResetStatus() {
}
// SetGender sets the "gender" field.
func (m *PlayersMutation) SetGender(i int) {
m.gender = &i
m.addgender = nil
func (m *PlayersMutation) SetGender(b bool) {
m.gender = &b
}
// Gender returns the value of the "gender" field in the mutation.
func (m *PlayersMutation) Gender() (r int, exists bool) {
func (m *PlayersMutation) Gender() (r bool, exists bool) {
v := m.gender
if v == nil {
return
@@ -1365,7 +1363,7 @@ func (m *PlayersMutation) Gender() (r int, exists bool) {
// OldGender returns the old "gender" field's value of the Players entity.
// If the Players object wasn't provided to the builder, the object is fetched from the database.
// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
func (m *PlayersMutation) OldGender(ctx context.Context) (v int, err error) {
func (m *PlayersMutation) OldGender(ctx context.Context) (v bool, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldGender is only allowed on UpdateOne operations")
}
@@ -1379,28 +1377,9 @@ func (m *PlayersMutation) OldGender(ctx context.Context) (v int, err error) {
return oldValue.Gender, nil
}
// AddGender adds i to the "gender" field.
func (m *PlayersMutation) AddGender(i int) {
if m.addgender != nil {
*m.addgender += i
} else {
m.addgender = &i
}
}
// AddedGender returns the value that was added to the "gender" field in this mutation.
func (m *PlayersMutation) AddedGender() (r int, exists bool) {
v := m.addgender
if v == nil {
return
}
return *v, true
}
// ResetGender resets all changes to the "gender" field.
func (m *PlayersMutation) ResetGender() {
m.gender = nil
m.addgender = nil
}
// SetRating sets the "rating" field.
@@ -2001,7 +1980,7 @@ func (m *PlayersMutation) SetField(name string, value ent.Value) error {
m.SetStatus(v)
return nil
case players.FieldGender:
v, ok := value.(int)
v, ok := value.(bool)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
@@ -2074,9 +2053,6 @@ func (m *PlayersMutation) AddedFields() []string {
if m.adduser_id != nil {
fields = append(fields, players.FieldUserID)
}
if m.addgender != nil {
fields = append(fields, players.FieldGender)
}
if m.addtotal_orders != nil {
fields = append(fields, players.FieldTotalOrders)
}
@@ -2096,8 +2072,6 @@ func (m *PlayersMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case players.FieldUserID:
return m.AddedUserID()
case players.FieldGender:
return m.AddedGender()
case players.FieldTotalOrders:
return m.AddedTotalOrders()
case players.FieldCompletedOrders:
@@ -2120,13 +2094,6 @@ func (m *PlayersMutation) AddField(name string, value ent.Value) error {
}
m.AddUserID(v)
return nil
case players.FieldGender:
v, ok := value.(int)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddGender(v)
return nil
case players.FieldTotalOrders:
v, ok := value.(int)
if !ok {
+6 -4
View File
@@ -25,7 +25,7 @@ type Players struct {
// Status holds the value of the "status" field.
Status string `json:"status,omitempty"`
// Gender holds the value of the "gender" field.
Gender int `json:"gender,omitempty"`
Gender bool `json:"gender,omitempty"`
// Rating holds the value of the "rating" field.
Rating decimal.Decimal `json:"rating,omitempty"`
// TotalOrders holds the value of the "total_orders" field.
@@ -56,7 +56,9 @@ func (*Players) scanValues(columns []string) ([]any, error) {
values[i] = new(decimal.Decimal)
case players.FieldGames:
values[i] = new(pq.Int64Array)
case players.FieldID, players.FieldUserID, players.FieldGender, players.FieldTotalOrders, players.FieldCompletedOrders, players.FieldShopID:
case players.FieldGender:
values[i] = new(sql.NullBool)
case players.FieldID, players.FieldUserID, players.FieldTotalOrders, players.FieldCompletedOrders, players.FieldShopID:
values[i] = new(sql.NullInt64)
case players.FieldStatus:
values[i] = new(sql.NullString)
@@ -96,10 +98,10 @@ func (_m *Players) assignValues(columns []string, values []any) error {
_m.Status = value.String
}
case players.FieldGender:
if value, ok := values[i].(*sql.NullInt64); !ok {
if value, ok := values[i].(*sql.NullBool); !ok {
return fmt.Errorf("unexpected type %T for field gender", values[i])
} else if value.Valid {
_m.Gender = int(value.Int64)
_m.Gender = value.Bool
}
case players.FieldRating:
if value, ok := values[i].(*decimal.Decimal); !ok {
@@ -72,6 +72,8 @@ var (
DefaultStatus string
// StatusValidator is a validator for the "status" field. It is called by the builders before save.
StatusValidator func(string) error
// DefaultGender holds the default value on creation for the "gender" field.
DefaultGender bool
// DefaultRating holds the default value on creation for the "rating" field.
DefaultRating decimal.Decimal
// DefaultTotalOrders holds the default value on creation for the "total_orders" field.
@@ -67,7 +67,7 @@ func Status(v string) predicate.Players {
}
// Gender applies equality check predicate on the "gender" field. It's identical to GenderEQ.
func Gender(v int) predicate.Players {
func Gender(v bool) predicate.Players {
return predicate.Players(sql.FieldEQ(FieldGender, v))
}
@@ -212,45 +212,15 @@ func StatusContainsFold(v string) predicate.Players {
}
// GenderEQ applies the EQ predicate on the "gender" field.
func GenderEQ(v int) predicate.Players {
func GenderEQ(v bool) predicate.Players {
return predicate.Players(sql.FieldEQ(FieldGender, v))
}
// GenderNEQ applies the NEQ predicate on the "gender" field.
func GenderNEQ(v int) predicate.Players {
func GenderNEQ(v bool) predicate.Players {
return predicate.Players(sql.FieldNEQ(FieldGender, v))
}
// GenderIn applies the In predicate on the "gender" field.
func GenderIn(vs ...int) predicate.Players {
return predicate.Players(sql.FieldIn(FieldGender, vs...))
}
// GenderNotIn applies the NotIn predicate on the "gender" field.
func GenderNotIn(vs ...int) predicate.Players {
return predicate.Players(sql.FieldNotIn(FieldGender, vs...))
}
// GenderGT applies the GT predicate on the "gender" field.
func GenderGT(v int) predicate.Players {
return predicate.Players(sql.FieldGT(FieldGender, v))
}
// GenderGTE applies the GTE predicate on the "gender" field.
func GenderGTE(v int) predicate.Players {
return predicate.Players(sql.FieldGTE(FieldGender, v))
}
// GenderLT applies the LT predicate on the "gender" field.
func GenderLT(v int) predicate.Players {
return predicate.Players(sql.FieldLT(FieldGender, v))
}
// GenderLTE applies the LTE predicate on the "gender" field.
func GenderLTE(v int) predicate.Players {
return predicate.Players(sql.FieldLTE(FieldGender, v))
}
// RatingEQ applies the EQ predicate on the "rating" field.
func RatingEQ(v decimal.Decimal) predicate.Players {
return predicate.Players(sql.FieldEQ(FieldRating, v))
@@ -43,11 +43,19 @@ func (_c *PlayersCreate) SetNillableStatus(v *string) *PlayersCreate {
}
// SetGender sets the "gender" field.
func (_c *PlayersCreate) SetGender(v int) *PlayersCreate {
func (_c *PlayersCreate) SetGender(v bool) *PlayersCreate {
_c.mutation.SetGender(v)
return _c
}
// SetNillableGender sets the "gender" field if the given value is not nil.
func (_c *PlayersCreate) SetNillableGender(v *bool) *PlayersCreate {
if v != nil {
_c.SetGender(*v)
}
return _c
}
// SetRating sets the "rating" field.
func (_c *PlayersCreate) SetRating(v decimal.Decimal) *PlayersCreate {
_c.mutation.SetRating(v)
@@ -189,6 +197,10 @@ func (_c *PlayersCreate) defaults() {
v := players.DefaultStatus
_c.mutation.SetStatus(v)
}
if _, ok := _c.mutation.Gender(); !ok {
v := players.DefaultGender
_c.mutation.SetGender(v)
}
if _, ok := _c.mutation.Rating(); !ok {
v := players.DefaultRating
_c.mutation.SetRating(v)
@@ -282,7 +294,7 @@ func (_c *PlayersCreate) createSpec() (*Players, *sqlgraph.CreateSpec) {
_node.Status = value
}
if value, ok := _c.mutation.Gender(); ok {
_spec.SetField(players.FieldGender, field.TypeInt, value)
_spec.SetField(players.FieldGender, field.TypeBool, value)
_node.Gender = value
}
if value, ok := _c.mutation.Rating(); ok {
@@ -67,26 +67,19 @@ func (_u *PlayersUpdate) SetNillableStatus(v *string) *PlayersUpdate {
}
// SetGender sets the "gender" field.
func (_u *PlayersUpdate) SetGender(v int) *PlayersUpdate {
_u.mutation.ResetGender()
func (_u *PlayersUpdate) SetGender(v bool) *PlayersUpdate {
_u.mutation.SetGender(v)
return _u
}
// SetNillableGender sets the "gender" field if the given value is not nil.
func (_u *PlayersUpdate) SetNillableGender(v *int) *PlayersUpdate {
func (_u *PlayersUpdate) SetNillableGender(v *bool) *PlayersUpdate {
if v != nil {
_u.SetGender(*v)
}
return _u
}
// AddGender adds value to the "gender" field.
func (_u *PlayersUpdate) AddGender(v int) *PlayersUpdate {
_u.mutation.AddGender(v)
return _u
}
// SetRating sets the "rating" field.
func (_u *PlayersUpdate) SetRating(v decimal.Decimal) *PlayersUpdate {
_u.mutation.SetRating(v)
@@ -297,10 +290,7 @@ func (_u *PlayersUpdate) sqlSave(ctx context.Context) (_node int, err error) {
_spec.SetField(players.FieldStatus, field.TypeString, value)
}
if value, ok := _u.mutation.Gender(); ok {
_spec.SetField(players.FieldGender, field.TypeInt, value)
}
if value, ok := _u.mutation.AddedGender(); ok {
_spec.AddField(players.FieldGender, field.TypeInt, value)
_spec.SetField(players.FieldGender, field.TypeBool, value)
}
if value, ok := _u.mutation.Rating(); ok {
_spec.SetField(players.FieldRating, field.TypeOther, value)
@@ -411,26 +401,19 @@ func (_u *PlayersUpdateOne) SetNillableStatus(v *string) *PlayersUpdateOne {
}
// SetGender sets the "gender" field.
func (_u *PlayersUpdateOne) SetGender(v int) *PlayersUpdateOne {
_u.mutation.ResetGender()
func (_u *PlayersUpdateOne) SetGender(v bool) *PlayersUpdateOne {
_u.mutation.SetGender(v)
return _u
}
// SetNillableGender sets the "gender" field if the given value is not nil.
func (_u *PlayersUpdateOne) SetNillableGender(v *int) *PlayersUpdateOne {
func (_u *PlayersUpdateOne) SetNillableGender(v *bool) *PlayersUpdateOne {
if v != nil {
_u.SetGender(*v)
}
return _u
}
// AddGender adds value to the "gender" field.
func (_u *PlayersUpdateOne) AddGender(v int) *PlayersUpdateOne {
_u.mutation.AddGender(v)
return _u
}
// SetRating sets the "rating" field.
func (_u *PlayersUpdateOne) SetRating(v decimal.Decimal) *PlayersUpdateOne {
_u.mutation.SetRating(v)
@@ -671,10 +654,7 @@ func (_u *PlayersUpdateOne) sqlSave(ctx context.Context) (_node *Players, err er
_spec.SetField(players.FieldStatus, field.TypeString, value)
}
if value, ok := _u.mutation.Gender(); ok {
_spec.SetField(players.FieldGender, field.TypeInt, value)
}
if value, ok := _u.mutation.AddedGender(); ok {
_spec.AddField(players.FieldGender, field.TypeInt, value)
_spec.SetField(players.FieldGender, field.TypeBool, value)
}
if value, ok := _u.mutation.Rating(); ok {
_spec.SetField(players.FieldRating, field.TypeOther, value)
@@ -60,6 +60,10 @@ func init() {
players.DefaultStatus = playersDescStatus.Default.(string)
// players.StatusValidator is a validator for the "status" field. It is called by the builders before save.
players.StatusValidator = playersDescStatus.Validators[0].(func(string) error)
// playersDescGender is the schema descriptor for gender field.
playersDescGender := playersFields[3].Descriptor()
// players.DefaultGender holds the default value on creation for the gender field.
players.DefaultGender = playersDescGender.Default.(bool)
// playersDescRating is the schema descriptor for rating field.
playersDescRating := playersFields[4].Descriptor()
// players.DefaultRating holds the default value on creation for the rating field.
@@ -1,6 +1,7 @@
package schema
import (
"juwan-backend/pkg/types"
"time"
"entgo.io/ent"
@@ -23,7 +24,7 @@ func (Players) Fields() []ent.Field {
field.Int64("id").Immutable().Unique(),
field.Int64("user_id").Unique(),
field.String("status").MaxLen(20).Default("offline"),
field.Int("gender").Unique(),
field.Bool("gender").Default(true),
field.Other("rating", decimal.Decimal{}).
Optional().
Default(playerDefaultRating).
@@ -33,7 +34,9 @@ func (Players) Fields() []ent.Field {
field.Int("total_orders").Optional().Default(0),
field.Int("completed_orders").Optional().Default(0),
field.Int64("shop_id").Optional().Nillable(),
field.Strings("tags").Optional().Default([]string{}),
field.Other("tags", types.TextArray{}).SchemaType(map[string]string{
dialect.Postgres: "text[]",
}).Optional(),
field.Other("games", pq.Int64Array{}).
Optional().
Default(pq.Int64Array{}).
@@ -1,6 +1,7 @@
package schema
import (
"juwan-backend/pkg/types"
"time"
"entgo.io/ent"
@@ -47,7 +48,9 @@ func (PlayerServices) Fields() []ent.Field {
}),
field.String("unit").MaxLen(20),
field.String("rank_range").MaxLen(100).Optional().Nillable(),
field.Strings("availability").Optional().Default([]string{}),
field.Other("availability", types.TextArray{}).SchemaType(map[string]string{
dialect.Postgres: "text[]",
}).Optional().Nillable(),
field.Other("rating", decimal.Decimal{}).
Default(decFive).
SchemaType(map[string]string{