fix: some api bug
This commit is contained in:
+25
-12
@@ -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},
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user