feat(player): 调整金币相关数据类型及计算逻辑

将金币相关的浮点数类型改为整型,避免精度问题。
- 修改 `BuyGoldItem` 中价格计算方式,使用 `float64` 转换以提高精度
- 更新玩家金币时传入 `int64` 类型,并统一单位为分
- 数据库字段 `goldbean` 类型由 `money` 改为 `bigint`
- 调整伤害区域逻辑,修复红色伤害类型处理流程
```
This commit is contained in:
2025-12-17 00:05:03 +08:00
parent fdd3609de4
commit 24d312ab90
5 changed files with 24 additions and 12 deletions

View File

@@ -45,7 +45,9 @@ func (s *BaseSysUserService) GetPerson(userId uint32) (res *model.BaseSysUser) {
return
}
func (s *BaseSysUserService) UpdateGold(userId uint32, gold float64) {
// 单位是分
func (s *BaseSysUserService) UpdateGold(userId uint32, gold int64) {
// updateData := g.Map{
// "views": &gdb.Counter{
// Field: "goldbean",
@@ -66,7 +68,8 @@ func (s *BaseSysUserService) GetGold(userId uint) (res uint32) {
m := cool.DBM(s.Model)
m.Where("id", userId).FieldsEx("password").Scan(&res1)
return uint32(alpacadecimal.NewFromFloat(res1.GoldBean).Mul(alpacadecimal.NewFromFloat(100)).IntPart())
r1 := alpacadecimal.NewFromInt(res1.GoldBean)
return uint32(r1.IntPart())
}
func (s *BaseSysUserService) GetEamil(userId string) (res *model.BaseSysUser) {
m := cool.DBM(s.Model)