2024-09-10 10:17:01 +08:00

126 lines
2.3 KiB
Go

package jccommon
import (
"q5"
"strconv"
)
func GetGoldBullionGoldNum(itemId int32) int32 {
switch itemId {
case V_ITEM_GOLD_BULLION_1K: {
return 1000
}
case V_ITEM_GOLD_BULLION_1W: {
return 10000 * 1
}
default: {
return 0
}
}
}
func IsAirDropNft(tokenId string) bool {
tokenIdInt64, err := strconv.ParseInt(tokenId, 10, 64)
if err != nil {
tokenIdInt64 = 0
}
return tokenIdInt64 >= 6000000000000000 && tokenIdInt64 <= 7000000000000000
}
func GetHeroStackingScore(quality int32) float64 {
var score float64
switch quality {
case 2:
score = 10
case 3:
score = 20
case 4:
score = 40
case 5:
score = 80
case 6:
score = 160
default:
score = 10
}
return score
}
func GetFounderTagStackingScore(quality int32) float64 {
var score float64
switch quality {
case 1:
score = 20
case 2:
score = 40
case 3:
score = 100
default:
score = 20
}
return score
}
func CalcContributionScore(nfts []*NftStacking) float64 {
var score float64
var baseScore float64
var rate float64
for _, v := range nfts {
switch v.TokenType {
case NFT_TYPE_CFHERO, NFT_TYPE_CFHERO_NORMAL: {
baseScore += GetHeroStackingScore(v.Quality)
if v.TokenType == NFT_TYPE_CFHERO {
rate += 0.05
}
}
case NFT_TYPE_FOUNDER_TAG: {
baseScore += GetFounderTagStackingScore(v.Quality)
rate += 0.1
}
}
}
if rate > 1 {
rate = 1
}
score = baseScore * (1 + rate)
return score
}
func ExtractChannel(accountId string) string {
strs := q5.StrSplit(accountId, "_")
return strs[0]
}
func IsValidSessionId(accountId string, sessionId string) bool {
return true
// if accountId == "" || sessionId == "" {
// return false
// }
// strs := q5.StrSplit(sessionId, "_")
// if len(strs) < 4 {
// return false
// }
// if f5.IsOnlineEnv() {
// channel := ExtractChannel(accountId)
// if channel == "6000" {
// return false
// }
// }
// session_createtime := strs[0]
// account_regtime := strs[1]
// md51 := strs[2]
// // md52:=strs[3]
// return q5.Md5Str(accountId + "f3a6a9a5-217a-4079-ab99-b5d69b8212be" + account_regtime + session_createtime) == md51
}
func GenTransId(funcId int8, time int32, seqId int32, params []int64) (string, error) {
return "", nil
}
func DecodeTransId(transId string, funcId *int8, time *int32, seqId *int32, params *[]int64) error {
return nil
}