```
feat(player): 重构玩家金币系统,使用BaseSysUserService管理金币 将玩家金币逻辑从PlayerInfo中移除,改为通过BaseSysUserService进行统一管理。 新增了金币的获取与设置方法,支持以分为单位的精确计算。 调整了登录时用户服务的初始化逻辑,确保User字段正确赋值。 fix(pet): 修复宠物性格道具使用逻辑错误 更新了多个性格相关道具的处理方式,包括新增的性格转换道具范围。 修正了性格随机与指定逻辑,避免越界问题并增强可维护性。 feat(fight): 战斗初始化时恢复宠物状态 在战斗初始化阶段调用宠物治愈方法,确保战斗开始前宠物处于健康状态。 feat(admin): 调整管理员会话获取接口参数类型 修改GetPerson方法传入参数为uint32类型,提高数据一致性与安全性。 refactor(model): 移除PlayerInfo中的GoldBean字段 金币字段不再存储于PlayerInfo结构体中,转而由BaseSysUser模块统一管理。 ```
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"blazing/modules/base/model"
|
||||
|
||||
"github.com/alpacahq/alpacadecimal"
|
||||
"github.com/gogf/gf/v2/container/garray"
|
||||
"github.com/gogf/gf/v2/container/gset"
|
||||
"github.com/gogf/gf/v2/crypto/gmd5"
|
||||
@@ -38,12 +39,27 @@ func (s *BaseSysUserService) GetSession(email string, password string) (res *mod
|
||||
|
||||
return
|
||||
}
|
||||
func (s *BaseSysUserService) GetPerson(userId uint) (res *model.BaseSysUser) {
|
||||
func (s *BaseSysUserService) GetPerson(userId uint32) (res *model.BaseSysUser) {
|
||||
m := cool.DBM(s.Model)
|
||||
m.Where("id", userId).FieldsEx("password").Scan(&res)
|
||||
|
||||
return
|
||||
}
|
||||
func (s *BaseSysUserService) SetGold(userId uint32, gold uint32) (res *model.BaseSysUser) {
|
||||
m := cool.DBM(s.Model)
|
||||
m.Where("id", userId).Scan(&res)
|
||||
res.GoldBean, _ = alpacadecimal.NewFromFloat(float64(gold)).Div(alpacadecimal.NewFromFloat(100)).Float64()
|
||||
m.Save(res)
|
||||
|
||||
return
|
||||
}
|
||||
func (s *BaseSysUserService) GetGold(userId uint) (res uint32) {
|
||||
var res1 model.BaseSysUser
|
||||
m := cool.DBM(s.Model)
|
||||
m.Where("id", userId).FieldsEx("password").Scan(&res1)
|
||||
|
||||
return uint32(alpacadecimal.NewFromFloat(res1.GoldBean).Mul(alpacadecimal.NewFromFloat(100)).IntPart())
|
||||
}
|
||||
func (s *BaseSysUserService) GetEamil(userId string) (res *model.BaseSysUser) {
|
||||
m := cool.DBM(s.Model)
|
||||
m.Where("email", userId).FieldsEx("password").Scan(&res)
|
||||
|
||||
Reference in New Issue
Block a user