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
+25 -12
View File
@@ -8,28 +8,41 @@ Prometheus:
Path: /metrics
SnowflakeRpcConf:
Target: k8s://juwan/snowflake-svc:8080
# ===== PROC CONF =====
#SnowflakeRpcConf:
# Target: k8s://juwan/snowflake-svc:8080
#DB:
# Master: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-rw.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
# Slaves: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-ro.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
#
#CacheConf:
# - Host: "${REDIS_M_HOST}"
# Type: node
# Pass: "${REDIS_PASSWORD}"
# User: "default"
# - Host: "${REDIS_S_HOST}"
# Type: node
# Pass: "${REDIS_PASSWORD}"
# User: "default"
#
#Log:
# Level: info
# ===== DEV CONF =====
SnowflakeRpcConf:
Endpoints:
- snowflake:8080
DB:
Master: "postgresql://app:7BGs8CdEE8sLPshMjyXkYmxNMTV88EBrd2GN6tdIX1VhIgBzIcgKXbJjVdYiX4a9@user-db-rw:5432/app"
Slaves: "postgresql://app:7BGs8CdEE8sLPshMjyXkYmxNMTV88EBrd2GN6tdIX1VhIgBzIcgKXbJjVdYiX4a9@user-db-ro:5432/app"
Master: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@postgres:${DB_PORT}/${DB_NAME}?sslmode=disable"
Slaves: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@postgres:${DB_PORT}/${DB_NAME}?sslmode=disable"
CacheConf:
- Host: "${REDIS_M_HOST}"
- Host: "${REDIS_HOST}:${REDIS_PORT}"
Type: node
Pass: "${REDIS_PASSWORD}"
User: "default"
- Host: "${REDIS_S_HOST}"
Type: node
Pass: "${REDIS_PASSWORD}"
User: "default"
Log:
Level: info
Level: debug
@@ -4,7 +4,6 @@ import (
"context"
"errors"
"juwan-backend/app/player/rpc/internal/models/players"
"juwan-backend/app/player/rpc/internal/svc"
"juwan-backend/app/player/rpc/pb"
@@ -27,16 +26,17 @@ func NewSearchPlayersLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Sea
}
func (l *SearchPlayersLogic) SearchPlayers(in *pb.SearchPlayersReq) (*pb.SearchPlayersResp, error) {
gender := 0
if in.Gender > 0 {
gender = 1
}
searcher := l.svcCtx.PlayerModelRO.Players.Query()
if in.Gender >= 0 {
if in.Gender != nil && *in.Gender != 0 {
// 1 man 2 woman
gender := true
if *in.Gender == 2 {
gender = false
}
searcher.Where(players.GenderEQ(gender))
}
all, err := searcher.Limit(int(in.Limit)).Offset(int(in.Page * in.Limit)).All(l.ctx)
all, err := searcher.Limit(int(*in.Limit)).Offset(int(*in.Page * *in.Limit)).All(l.ctx)
if err != nil {
logx.Errorf("SearchPlayers err: %v", err)
return nil, errors.New("search players")
@@ -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{
@@ -1,6 +1,7 @@
package svc
import (
stdsql "database/sql"
"juwan-backend/app/player/rpc/internal/config"
"juwan-backend/app/player/rpc/internal/models"
"juwan-backend/app/snowflake/rpc/snowflake"
@@ -10,6 +11,7 @@ import (
"time"
"ariga.io/entcache"
"entgo.io/ent/dialect"
"entgo.io/ent/dialect/sql"
"github.com/zeromicro/go-zero/core/logx"
@@ -24,14 +26,16 @@ type ServiceContext struct {
}
func NewServiceContext(c config.Config) *ServiceContext {
RWConn, err := sql.Open("pgx", c.DB.Master)
rawRW, err := stdsql.Open("pgx", c.DB.Master)
if err != nil {
panic(err)
}
ROConn, err := sql.Open("pgx", c.DB.Slaves)
rawRO, err := stdsql.Open("pgx", c.DB.Slaves)
if err != nil {
panic(err)
}
RWConn := sql.OpenDB(dialect.Postgres, rawRW)
ROConn := sql.OpenDB(dialect.Postgres, rawRO)
redisCluster, err := redisx.ConnectMasterSlaveCluster(c.CacheConf, 5*time.Second)
if redisCluster == nil || err != nil {
+73 -57
View File
@@ -888,7 +888,7 @@ type Players struct {
Games []int64 `protobuf:"varint,9,rep,packed,name=games,proto3" json:"games,omitempty"` //games
CreatedAt int64 `protobuf:"varint,10,opt,name=createdAt,proto3" json:"createdAt,omitempty"` //createdAt
UpdatedAt int64 `protobuf:"varint,11,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` //updatedAt
Gender int64 `protobuf:"varint,12,opt,name=gender,proto3" json:"gender,omitempty"` //gender
Gender bool `protobuf:"varint,12,opt,name=gender,proto3" json:"gender,omitempty"` //gender
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1000,11 +1000,11 @@ func (x *Players) GetUpdatedAt() int64 {
return 0
}
func (x *Players) GetGender() int64 {
func (x *Players) GetGender() bool {
if x != nil {
return x.Gender
}
return 0
return false
}
type AddPlayersReq struct {
@@ -1505,20 +1505,20 @@ func (x *GetPlayersByIdResp) GetPlayers() *Players {
type SearchPlayersReq struct {
state protoimpl.MessageState `protogen:"open.v1"`
Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` //page
Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` //limit
Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` //id
UserId int64 `protobuf:"varint,4,opt,name=userId,proto3" json:"userId,omitempty"` //userId
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` //status
Rating float64 `protobuf:"fixed64,6,opt,name=rating,proto3" json:"rating,omitempty"` //rating
TotalOrders int64 `protobuf:"varint,7,opt,name=totalOrders,proto3" json:"totalOrders,omitempty"` //totalOrders
CompletedOrders int64 `protobuf:"varint,8,opt,name=completedOrders,proto3" json:"completedOrders,omitempty"` //completedOrders
ShopId int64 `protobuf:"varint,9,opt,name=shopId,proto3" json:"shopId,omitempty"` //shopId
Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` //tags
Games []int64 `protobuf:"varint,11,rep,packed,name=games,proto3" json:"games,omitempty"` //games
CreatedAt int64 `protobuf:"varint,12,opt,name=createdAt,proto3" json:"createdAt,omitempty"` //createdAt
UpdatedAt int64 `protobuf:"varint,13,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` //updatedAt
Gender int64 `protobuf:"varint,14,opt,name=gender,proto3" json:"gender,omitempty"` //gender
Page *int64 `protobuf:"varint,1,opt,name=page,proto3,oneof" json:"page,omitempty"` //page
Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"` //limit
Id *int64 `protobuf:"varint,3,opt,name=id,proto3,oneof" json:"id,omitempty"` //id
UserId *int64 `protobuf:"varint,4,opt,name=userId,proto3,oneof" json:"userId,omitempty"` //userId
Status *string `protobuf:"bytes,5,opt,name=status,proto3,oneof" json:"status,omitempty"` //status
Rating *float64 `protobuf:"fixed64,6,opt,name=rating,proto3,oneof" json:"rating,omitempty"` //rating
TotalOrders *int64 `protobuf:"varint,7,opt,name=totalOrders,proto3,oneof" json:"totalOrders,omitempty"` //totalOrders
CompletedOrders *int64 `protobuf:"varint,8,opt,name=completedOrders,proto3,oneof" json:"completedOrders,omitempty"` //completedOrders
ShopId *int64 `protobuf:"varint,9,opt,name=shopId,proto3,oneof" json:"shopId,omitempty"` //shopId
Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` //tags
Games []int64 `protobuf:"varint,11,rep,packed,name=games,proto3" json:"games,omitempty"` //games
CreatedAt *int64 `protobuf:"varint,12,opt,name=createdAt,proto3,oneof" json:"createdAt,omitempty"` //createdAt
UpdatedAt *int64 `protobuf:"varint,13,opt,name=updatedAt,proto3,oneof" json:"updatedAt,omitempty"` //updatedAt
Gender *int64 `protobuf:"varint,14,opt,name=gender,proto3,oneof" json:"gender,omitempty"` //gender
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1554,64 +1554,64 @@ func (*SearchPlayersReq) Descriptor() ([]byte, []int) {
}
func (x *SearchPlayersReq) GetPage() int64 {
if x != nil {
return x.Page
if x != nil && x.Page != nil {
return *x.Page
}
return 0
}
func (x *SearchPlayersReq) GetLimit() int64 {
if x != nil {
return x.Limit
if x != nil && x.Limit != nil {
return *x.Limit
}
return 0
}
func (x *SearchPlayersReq) GetId() int64 {
if x != nil {
return x.Id
if x != nil && x.Id != nil {
return *x.Id
}
return 0
}
func (x *SearchPlayersReq) GetUserId() int64 {
if x != nil {
return x.UserId
if x != nil && x.UserId != nil {
return *x.UserId
}
return 0
}
func (x *SearchPlayersReq) GetStatus() string {
if x != nil {
return x.Status
if x != nil && x.Status != nil {
return *x.Status
}
return ""
}
func (x *SearchPlayersReq) GetRating() float64 {
if x != nil {
return x.Rating
if x != nil && x.Rating != nil {
return *x.Rating
}
return 0
}
func (x *SearchPlayersReq) GetTotalOrders() int64 {
if x != nil {
return x.TotalOrders
if x != nil && x.TotalOrders != nil {
return *x.TotalOrders
}
return 0
}
func (x *SearchPlayersReq) GetCompletedOrders() int64 {
if x != nil {
return x.CompletedOrders
if x != nil && x.CompletedOrders != nil {
return *x.CompletedOrders
}
return 0
}
func (x *SearchPlayersReq) GetShopId() int64 {
if x != nil {
return x.ShopId
if x != nil && x.ShopId != nil {
return *x.ShopId
}
return 0
}
@@ -1631,22 +1631,22 @@ func (x *SearchPlayersReq) GetGames() []int64 {
}
func (x *SearchPlayersReq) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
if x != nil && x.CreatedAt != nil {
return *x.CreatedAt
}
return 0
}
func (x *SearchPlayersReq) GetUpdatedAt() int64 {
if x != nil {
return x.UpdatedAt
if x != nil && x.UpdatedAt != nil {
return *x.UpdatedAt
}
return 0
}
func (x *SearchPlayersReq) GetGender() int64 {
if x != nil {
return x.Gender
if x != nil && x.Gender != nil {
return *x.Gender
}
return 0
}
@@ -1800,7 +1800,7 @@ const file_player_proto_rawDesc = "" +
"\tcreatedAt\x18\n" +
" \x01(\x03R\tcreatedAt\x12\x1c\n" +
"\tupdatedAt\x18\v \x01(\x03R\tupdatedAt\x12\x16\n" +
"\x06gender\x18\f \x01(\x03R\x06gender\"\xb9\x02\n" +
"\x06gender\x18\f \x01(\bR\x06gender\"\xb9\x02\n" +
"\rAddPlayersReq\x12\x16\n" +
"\x06userId\x18\x01 \x01(\x03R\x06userId\x12\x16\n" +
"\x06status\x18\x02 \x01(\tR\x06status\x12\x16\n" +
@@ -1847,23 +1847,38 @@ const file_player_proto_rawDesc = "" +
"\x11GetPlayersByIdReq\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\";\n" +
"\x12GetPlayersByIdResp\x12%\n" +
"\aplayers\x18\x01 \x01(\v2\v.pb.PlayersR\aplayers\"\xf6\x02\n" +
"\x10SearchPlayersReq\x12\x12\n" +
"\x04page\x18\x01 \x01(\x03R\x04page\x12\x14\n" +
"\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x0e\n" +
"\x02id\x18\x03 \x01(\x03R\x02id\x12\x16\n" +
"\x06userId\x18\x04 \x01(\x03R\x06userId\x12\x16\n" +
"\x06status\x18\x05 \x01(\tR\x06status\x12\x16\n" +
"\x06rating\x18\x06 \x01(\x01R\x06rating\x12 \n" +
"\vtotalOrders\x18\a \x01(\x03R\vtotalOrders\x12(\n" +
"\x0fcompletedOrders\x18\b \x01(\x03R\x0fcompletedOrders\x12\x16\n" +
"\x06shopId\x18\t \x01(\x03R\x06shopId\x12\x12\n" +
"\aplayers\x18\x01 \x01(\v2\v.pb.PlayersR\aplayers\"\xc3\x04\n" +
"\x10SearchPlayersReq\x12\x17\n" +
"\x04page\x18\x01 \x01(\x03H\x00R\x04page\x88\x01\x01\x12\x19\n" +
"\x05limit\x18\x02 \x01(\x03H\x01R\x05limit\x88\x01\x01\x12\x13\n" +
"\x02id\x18\x03 \x01(\x03H\x02R\x02id\x88\x01\x01\x12\x1b\n" +
"\x06userId\x18\x04 \x01(\x03H\x03R\x06userId\x88\x01\x01\x12\x1b\n" +
"\x06status\x18\x05 \x01(\tH\x04R\x06status\x88\x01\x01\x12\x1b\n" +
"\x06rating\x18\x06 \x01(\x01H\x05R\x06rating\x88\x01\x01\x12%\n" +
"\vtotalOrders\x18\a \x01(\x03H\x06R\vtotalOrders\x88\x01\x01\x12-\n" +
"\x0fcompletedOrders\x18\b \x01(\x03H\aR\x0fcompletedOrders\x88\x01\x01\x12\x1b\n" +
"\x06shopId\x18\t \x01(\x03H\bR\x06shopId\x88\x01\x01\x12\x12\n" +
"\x04tags\x18\n" +
" \x03(\tR\x04tags\x12\x14\n" +
"\x05games\x18\v \x03(\x03R\x05games\x12\x1c\n" +
"\tcreatedAt\x18\f \x01(\x03R\tcreatedAt\x12\x1c\n" +
"\tupdatedAt\x18\r \x01(\x03R\tupdatedAt\x12\x16\n" +
"\x06gender\x18\x0e \x01(\x03R\x06gender\":\n" +
"\x05games\x18\v \x03(\x03R\x05games\x12!\n" +
"\tcreatedAt\x18\f \x01(\x03H\tR\tcreatedAt\x88\x01\x01\x12!\n" +
"\tupdatedAt\x18\r \x01(\x03H\n" +
"R\tupdatedAt\x88\x01\x01\x12\x1b\n" +
"\x06gender\x18\x0e \x01(\x03H\vR\x06gender\x88\x01\x01B\a\n" +
"\x05_pageB\b\n" +
"\x06_limitB\x05\n" +
"\x03_idB\t\n" +
"\a_userIdB\t\n" +
"\a_statusB\t\n" +
"\a_ratingB\x0e\n" +
"\f_totalOrdersB\x12\n" +
"\x10_completedOrdersB\t\n" +
"\a_shopIdB\f\n" +
"\n" +
"_createdAtB\f\n" +
"\n" +
"_updatedAtB\t\n" +
"\a_gender\":\n" +
"\x11SearchPlayersResp\x12%\n" +
"\aplayers\x18\x01 \x03(\v2\v.pb.PlayersR\aplayers2\xc6\x05\n" +
"\rplayerService\x12H\n" +
@@ -1956,6 +1971,7 @@ func file_player_proto_init() {
}
file_player_proto_msgTypes[3].OneofWrappers = []any{}
file_player_proto_msgTypes[14].OneofWrappers = []any{}
file_player_proto_msgTypes[20].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{