feat: 添加抢先服玩家3天未登录自动降级功能
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

修复数据包处理中UserID为0的问题
优化解包失败时的错误处理格式
添加设置用户部门ID的服务方法
This commit is contained in:
xinian
2026-02-23 00:54:47 +08:00
committed by cnb
parent 236965cc63
commit e9915f481e
4 changed files with 22 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ import (
"github.com/deatil/go-cryptobin/cryptobin/crypto"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
type BaseSysUserController struct {
@@ -64,11 +65,20 @@ func (c *BaseSysUserController) GetSession(ctx context.Context, req *SessionReq)
t1 := service.NewBaseSysUserService().GetPerson(uint32(t.UserId))
res.UserID = int(t1.ID)
if blazing.NewUserService(uint32(t1.ID)).Info.IsReg() {
playerinfo := blazing.NewUserService(uint32(t1.ID))
if playerinfo.Info.IsReg() {
res.IsReg = 1
if t1.DepartmentID == 35 { ///抢先服玩家3天没登录衰退
r := playerinfo.Info.Person(uint32(t1.ID))
if r.UpdateTime.AddDate(0, 0, 3).Before(gtime.Now()) {
t1.DepartmentID = 1
service.NewBaseSysUserService().SetdepartmentId(uint32(t1.ID), 1)
}
}
}
res.PetID = dict.NewDictInfoService().GetShiny()
res.Server = config.NewServerService().GetPort(t1.DepartmentID)
// share.ShareManager.DeleteSession(t1)