126 lines
2.3 KiB
Go
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
|
|
}
|