上传用户分组实现

This commit is contained in:
liwei1dao 2024-01-15 17:47:41 +08:00
parent cd204ac061
commit 8f4009f1be
2 changed files with 47 additions and 1 deletions

View File

@ -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
View 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"` //结束时间
}