feat(player): 重构玩家金币系统,使用BaseSysUserService管理金币 将玩家金币逻辑从PlayerInfo中移除,改为通过BaseSysUserService进行统一管理。 新增了金币的获取与设置方法,支持以分为单位的精确计算。 调整了登录时用户服务的初始化逻辑,确保User字段正确赋值。 fix(pet): 修复宠物性格道具使用逻辑错误 更新了多个性格相关道具的处理方式,包括新增的性格转换道具范围。 修正了性格随机与指定逻辑,避免越界问题并增强可维护性。 feat(fight): 战斗初始化时恢复宠物状态 在战斗初始化阶段调用宠物治愈方法,确保战斗开始前宠物处于健康状态。 feat(admin): 调整管理员会话获取接口参数类型 修改GetPerson方法传入参数为uint32类型,提高数据一致性与安全性。 refactor(model): 移除PlayerInfo中的GoldBean字段 金币字段不再存储于PlayerInfo结构体中,转而由BaseSysUser模块统一管理。 ```
38 lines
944 B
Go
38 lines
944 B
Go
package controller
|
|
|
|
import (
|
|
"blazing/common/rpc"
|
|
"blazing/common/socket/errorcode"
|
|
"blazing/logic/service/user"
|
|
"blazing/modules/base/service"
|
|
|
|
"golang.org/x/sync/singleflight"
|
|
|
|
"github.com/panjf2000/gnet/v2"
|
|
)
|
|
|
|
var sg singleflight.Group
|
|
|
|
var ServerList []rpc.ServerInfo
|
|
|
|
func fetchData() (any, error) {
|
|
ServerList = rpc.GetServerInfoList() //todo 待修改增加缓存
|
|
return ServerList, nil
|
|
}
|
|
|
|
// 处理命令: 105
|
|
func (h *Controller) COMMEND_ONLINE(data *user.SidInfo, c gnet.Conn) (result *rpc.CommendSvrInfo, err errorcode.ErrorCode) { //这个时候player应该是空的
|
|
result = rpc.NewInInfo()
|
|
|
|
if service.NewBaseSysUserService().GetPerson(data.Head.UserID).Debug == 1 {
|
|
result.IsVip = 1
|
|
}
|
|
v, _, _ := sg.Do("GetServerInfoList", fetchData)
|
|
|
|
result.ServerList = v.([]rpc.ServerInfo) //todo 待修改增加缓存
|
|
|
|
return
|
|
|
|
//return //TODO 这里待实现改成接口调用Ret方法
|
|
}
|