上传用户分组实现
This commit is contained in:
parent
cd204ac061
commit
8f4009f1be
@ -7,6 +7,7 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/utils"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
)
|
||||
@ -25,6 +26,7 @@ func (this *apiComp) LoginCheck(session comm.IUserSession, req *pb.UserLoginReq)
|
||||
// 登录
|
||||
func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
group *UserGroupData
|
||||
user *pb.DBUser
|
||||
expand *pb.DBUserExpand
|
||||
lastLoginTime int64
|
||||
@ -49,6 +51,13 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
|
||||
}
|
||||
|
||||
if err == mongo.ErrNoDocuments {
|
||||
if group, err = this.getGroup(); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
//如果是新玩家,创建一条基础的数据,页面会引导进入创角页面
|
||||
user = &pb.DBUser{
|
||||
Sid: req.Sid,
|
||||
@ -61,6 +70,7 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
|
||||
Vname: req.Vname,
|
||||
Moonlv: 1,
|
||||
Resreplies: make(map[int32]int64),
|
||||
Group: group.CurrGroup,
|
||||
}
|
||||
err = this.module.modelUser.User_Create(user)
|
||||
if err != nil {
|
||||
@ -119,7 +129,6 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
|
||||
update["globalbuff"] = 0
|
||||
update["consumPs"] = 0
|
||||
update["loginContinueCount"] = expand.LoginContinueCount + 1
|
||||
//this.module.modelExpand.Change(user.Uid, update)
|
||||
this.module.modelExpand.ChangeUserExpand(user.Uid, update)
|
||||
firstLogin = true
|
||||
}
|
||||
@ -177,3 +186,28 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) getGroup() (group *UserGroupData, err error) {
|
||||
group = &UserGroupData{
|
||||
CurrGroup: 1,
|
||||
STime: configure.Now().Unix(),
|
||||
ETime: configure.Now().Add(time.Hour * 24 * 7).Unix(),
|
||||
}
|
||||
if err = this.module.ModuleTools.GetGlobalData(UserGroupDataCoonfKey, group); err != nil && err != mongo.ErrNoDocuments {
|
||||
return
|
||||
}
|
||||
err = nil
|
||||
if configure.Now().After(time.Unix(group.ETime, 0)) {
|
||||
group.CurrGroup++
|
||||
group.STime = configure.Now().Unix()
|
||||
group.ETime = configure.Now().Add(time.Hour * 24 * 7).Unix()
|
||||
if err = this.module.ModuleTools.UpdateGlobalData(UserGroupDataCoonfKey, map[string]interface{}{
|
||||
"currcroup": group.CurrGroup,
|
||||
"stime": group.STime,
|
||||
"etime": group.ETime,
|
||||
}); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
12
modules/user/core.go
Normal file
12
modules/user/core.go
Normal file
@ -0,0 +1,12 @@
|
||||
package user
|
||||
|
||||
const (
|
||||
UserGroupDataCoonfKey = "UserGroupDataCoonf"
|
||||
)
|
||||
|
||||
//用户分组数据
|
||||
type UserGroupData struct {
|
||||
CurrGroup int32 `json:"currcroup" bson:"currcroup"` //刷新时间
|
||||
STime int64 `json:"stime" bson:"stime"` //开始时间
|
||||
ETime int64 `json:"etime" bson:"etime"` //结束时间
|
||||
}
|
Loading…
Reference in New Issue
Block a user