123456789101112131415161718192021222324252627282930313233343536373839 |
- package models
- import (
- "context"
- mhayaTime "github.com/mhaya/extend/time"
- "github.com/mhaya/game/game_cluster/internal/code"
- "github.com/mhaya/game/game_cluster/internal/constant"
- "github.com/mhaya/game/game_cluster/internal/guid"
- "github.com/mhaya/game/game_cluster/internal/mdb"
- "github.com/mhaya/game/game_cluster/internal/param"
- "go.mongodb.org/mongo-driver/bson"
- )
- type Account struct {
- UserName string `json:"username" bson:"userName"`
- OpenId string `json:"-" bson:"openId"`
- JoinIp string `json:"joinip" bson:"JoinIp"`
- JoinTime int64 `json:"jointime" bson:"JoinTime"`
- }
- func AccountRegisterOrLogin(req *param.LoginReq) (*Account, int32) {
- var account Account
- findFilter := bson.M{"openId": req.OpenID}
- mdb.MDB.Collection(constant.CNameAccount).FindOne(context.Background(), findFilter).Decode(&account)
- if account.OpenId != "" {
- return &account, code.OK
- }
- devAccountTable := &Account{
- UserName: guid.Next(),
- OpenId: req.OpenID,
- JoinIp: req.IP,
- JoinTime: mhayaTime.Now().Unix(),
- }
- _, err := mdb.MDB.Collection(constant.CNameAccount).InsertOne(context.Background(), devAccountTable)
- if err != nil {
- return nil, code.LoginError
- }
- return devAccountTable, code.OK
- }
|