game_sync/gamesrv/slotspkg/assemble/mode2dto.go

52 lines
2.5 KiB
Go

package assemble
import (
"mongo.games.com/game/gamesrv/slotspkg/internal/module/shared"
)
func SpinRes2Dto(spinRes shared.GameEndDto) (spinResDto GameEnd) {
////////////////////////////////////
//数据组装
spinResDto.Results = make([]Result, len(spinRes.Results))
for i, result := range spinRes.Results {
spinResDto.Results[i].WinStatus = result.WinStatus
spinResDto.Results[i].FreeStatus = result.FreeStatus
spinResDto.Results[i].FreeNum = result.FreeNum
spinResDto.Results[i].FreeNumMax = result.FreeNumMax
spinResDto.Results[i].FreeNumTrigger = result.FreeNumTrigger
spinResDto.Results[i].TotalReward = result.TotalReward / CoinRate
spinResDto.Results[i].TotalRewardBase = result.TotalRewardBase / CoinRate
spinResDto.Results[i].BetMode = result.BetMode
spinResDto.Results[i].ArrSpins = make([]ArrSpins, len(result.ArrSpins))
for i2, spin := range result.ArrSpins {
spinResDto.Results[i].ArrSpins[i2].GearID = spin.GearID
spinResDto.Results[i].ArrSpins[i2].Items = spin.Items
spinResDto.Results[i].ArrSpins[i2].FinalSymbols = spin.FinalSymbols
spinResDto.Results[i].ArrSpins[i2].Index = spin.Index
spinResDto.Results[i].ArrSpins[i2].Reward = spin.Reward / CoinRate
spinResDto.Results[i].ArrSpins[i2].LineReward = spin.LineReward / CoinRate
spinResDto.Results[i].ArrSpins[i2].Special = spin.Special
spinResDto.Results[i].ArrSpins[i2].RewardInfo = make([]RewardInfo, len(spin.RewardInfo))
for i3, info := range spin.RewardInfo {
spinResDto.Results[i].ArrSpins[i2].RewardInfo[i3].Type = info.Type
spinResDto.Results[i].ArrSpins[i2].RewardInfo[i3].Index = info.Index
spinResDto.Results[i].ArrSpins[i2].RewardInfo[i3].Item = info.Item
spinResDto.Results[i].ArrSpins[i2].RewardInfo[i3].Reward = info.Reward / CoinRate
spinResDto.Results[i].ArrSpins[i2].RewardInfo[i3].Pos = info.Pos
}
}
}
spinResDto.RoundReward = float64(spinRes.RoundReward) / CoinRate
spinResDto.BetSizeIndex = spinRes.BetSizeIndex
spinResDto.BetLevelIndex = spinRes.BetLevelIndex
spinResDto.LinesIndex = spinRes.LinesIndex
spinResDto.TotalBet = float64(spinRes.TotalBet) / CoinRate
spinResDto.BetBeforeCoin = float64(spinRes.BetBeforeCoin) / CoinRate
spinResDto.BetAfterCoin = float64(spinRes.BetAfterCoin) / CoinRate
spinResDto.FinalCoin = float64(spinRes.FinalCoin) / CoinRate
spinResDto.ActualBet = float64(spinRes.ActualBet) / CoinRate
spinResDto.ActualWin = float64(spinRes.ActualWin) / CoinRate
////////////////////////////////////
return
}