Merge branch 'dev' of git.kingsome.cn:server/game2006go into dev

This commit is contained in:
yangduo 2024-08-19 17:52:04 +08:00
commit 23de6c7b33
10 changed files with 51 additions and 15 deletions

View File

@ -1,6 +1,6 @@
[ [
97, 97,
42161, 421614,
13473, 13473,
11155111 11155111
] ]

View File

@ -19,5 +19,6 @@ func (this *BitGetApi) NewUserMission(c *gin.Context) {
q5.NewSlice(&rspObj.Missions, 0, 10) q5.NewSlice(&rspObj.Missions, 0, 10)
p := q5.NewSliceElement(&rspObj.Missions) p := q5.NewSliceElement(&rspObj.Missions)
p.MissionId = 1 p.MissionId = 1
p.Target = 5
c.JSON(200, rspObj) c.JSON(200, rspObj)
} }

View File

@ -37,7 +37,7 @@ func (cta *ContriApi) HistoryQuery(c *gin.Context) {
Rows []*info `json:"rows"` Rows []*info `json:"rows"`
}{} }{}
mycp, _ := service.Contribution.GetAddressContribution(account) mycp, _ := service.Contribution.GetAddressContribution(account, false)
rspObj.CP = fmt.Sprintf("%.2f", mycp) rspObj.CP = fmt.Sprintf("%.2f", mycp)
q5.NewSlice(&rspObj.Rows, 0, 10) q5.NewSlice(&rspObj.Rows, 0, 10)
@ -141,7 +141,7 @@ func (cta *ContriApi) CECQuery(c *gin.Context) {
}{} }{}
totalgcp, _ := service.Contribution.GetGlobalContribution(false) totalgcp, _ := service.Contribution.GetGlobalContribution(false)
mycp, _ := service.Contribution.GetAddressContribution(account) mycp, _ := service.Contribution.GetAddressContribution(account, false)
rspObj.CP = fmt.Sprintf("%.2f", mycp) rspObj.CP = fmt.Sprintf("%.2f", mycp)
rspObj.Info.MyCP = rspObj.CP rspObj.Info.MyCP = rspObj.CP
rspObj.Info.GCP = fmt.Sprintf("%.2f", totalgcp) rspObj.Info.GCP = fmt.Sprintf("%.2f", totalgcp)

View File

@ -35,7 +35,7 @@ func (ea *RechargeApi) RechargeList(c *gin.Context) {
return return
} }
if contribution, err := service.Contribution.GetAddressContribution(accountAddress); err != nil { if contribution, err := service.Contribution.GetAddressContribution(accountAddress, true); err != nil {
f5.RspErr(c, 2, "server internal error") f5.RspErr(c, 2, "server internal error")
return return
} else { } else {
@ -50,8 +50,8 @@ func (ea *RechargeApi) RechargeList(c *gin.Context) {
tmpmap["price"] = tb.GetPrice() tmpmap["price"] = tb.GetPrice()
tmpmap["max_buy_times"] = tb.GetMaxBuyTimes() tmpmap["max_buy_times"] = tb.GetMaxBuyTimes()
tmpmap["can_email_buy"] = tb.GetCanEmailBuy() tmpmap["can_email_buy"] = tb.GetCanEmailBuy()
currencyList := []struct{ currencyList := []struct {
Name string `json:"name"` Name string `json:"name"`
Address string `json:"address"` Address string `json:"address"`
}{} }{}
currencysMeta.Range( currencysMeta.Range(
@ -114,6 +114,8 @@ func (this *RechargeApi) BuyWithEmail(c *gin.Context) {
func (this *RechargeApi) internalBuy(c *gin.Context, func (this *RechargeApi) internalBuy(c *gin.Context,
netId int32, goodsId int32, goodsNum int32, accountAddress string, passportAddress string, netId int32, goodsId int32, goodsNum int32, accountAddress string, passportAddress string,
email string, currencyAddress string) { email string, currencyAddress string) {
accountAddress = strings.ToLower(accountAddress)
passportAddress = strings.ToLower(passportAddress)
currencyMeta := mt.Table.Currency.GetByNetIdAddress(netId, currencyAddress) currencyMeta := mt.Table.Currency.GetByNetIdAddress(netId, currencyAddress)
if currencyMeta == nil { if currencyMeta == nil {
f5.RspErr(c, 2, "server internal error") f5.RspErr(c, 2, "server internal error")

View File

@ -26,7 +26,7 @@ func (this *UserApi) Info(c *gin.Context) {
Diamond string `json:"diamond"` Diamond string `json:"diamond"`
}{} }{}
rspObj.Email = c.MustGet("email").(string) rspObj.Email = c.MustGet("email").(string)
contributionPoint, _ := service.Contribution.GetAddressContribution(accountAddress) contributionPoint, _ := service.Contribution.GetAddressContribution(accountAddress, false)
var gold float64 var gold float64
var diamond float64 var diamond float64
{ {

View File

@ -160,9 +160,10 @@ func internalMetaMaskJwtAuth(c *gin.Context, jwtToken string) {
} }
if jsonRspObj.Decoded.Plat != jccommon.BC_POLY_POLY_METAKASK { if jsonRspObj.Decoded.Plat != jccommon.BC_POLY_POLY_METAKASK {
rspObj.ErrCode = 501 rspObj.ErrCode = 501
rspObj.ErrMsg = "not summport platform" rspObj.ErrMsg = "not support this platform"
c.JSON(200, rspObj) c.JSON(200, rspObj)
c.Abort() c.Abort()
f5.GetSysLog().Info("not support this platform:%s", rsp.GetRawData())
return return
} }
openId := fmt.Sprintf("%d_2006_%s", openId := fmt.Sprintf("%d_2006_%s",

View File

@ -2,17 +2,20 @@ package service
import ( import (
"f5" "f5"
"fmt"
"main/constant" "main/constant"
"q5" "q5"
"time"
) )
type accountContricution struct { type accountContricution struct {
history float64 history float64
loadhistory bool loadhistory bool
contribution float64 contribution float64
gcTime int64 rechargeContri float64
loweremail string gcTime int64
accountid string loweremail string
accountid string
} }
type contribution struct { type contribution struct {
@ -25,6 +28,7 @@ type contribution struct {
func (this *contribution) init() { func (this *contribution) init() {
this.accountContricutionlist = q5.ConcurrentMap[string, *accountContricution]{} this.accountContricutionlist = q5.ConcurrentMap[string, *accountContricution]{}
go this.checkContributionList()
} }
func (this *contribution) unInit() { func (this *contribution) unInit() {
@ -40,7 +44,7 @@ func (this *contribution) GetEmailAccountId(accountAddress string) (string, stri
return "", "" return "", ""
} }
func (this *contribution) GetAddressContribution(accountAddress string) (float64, error) { func (this *contribution) GetAddressContribution(accountAddress string, onlyrecharge bool) (float64, error) {
accinfo, exist := this.accountContricutionlist.Load(accountAddress) accinfo, exist := this.accountContricutionlist.Load(accountAddress)
var beforcontribution float64 = 0 var beforcontribution float64 = 0
if nowseconds := f5.GetApp().GetRealSeconds(); !exist || (*accinfo).gcTime+60 < nowseconds { if nowseconds := f5.GetApp().GetRealSeconds(); !exist || (*accinfo).gcTime+60 < nowseconds {
@ -158,6 +162,7 @@ func (this *contribution) GetAddressContribution(accountAddress string) (float64
if ds.Next() { if ds.Next() {
tmp, _ := q5.ToFloat64Ex(ds.GetByIndex(0)) tmp, _ := q5.ToFloat64Ex(ds.GetByIndex(0))
(*accinfo).contribution += tmp (*accinfo).contribution += tmp
(*accinfo).rechargeContri = tmp
} }
}) })
} }
@ -170,6 +175,10 @@ func (this *contribution) GetAddressContribution(accountAddress string) (float64
this.GetGlobalContribution(true) this.GetGlobalContribution(true)
} }
if onlyrecharge {
return (*accinfo).rechargeContri, nil
}
return (*accinfo).contribution, nil return (*accinfo).contribution, nil
} }
@ -244,3 +253,24 @@ func (this *contribution) GetGlobalContribution(instant bool) (float64, error) {
return this.globalContribution, nil return this.globalContribution, nil
} }
func (this *contribution) checkContributionList() {
fmt.Println("checkContributionList start")
for {
if time.Now().UTC().Hour() == 0 {
nowseconds := f5.GetApp().GetRealSeconds()
deletelist := []string{}
this.accountContricutionlist.Range(func(key string, value *accountContricution) bool {
if value.gcTime+86400 < nowseconds {
deletelist = append(deletelist, key)
}
return true
})
for _, account := range deletelist {
this.accountContricutionlist.Delete(account)
}
}
time.Sleep((time.Second * 1800))
}
}

View File

@ -3,6 +3,7 @@ package service
import ( import (
"q5" "q5"
"f5" "f5"
"strings"
"main/constant" "main/constant"
) )
@ -31,6 +32,7 @@ func AddRechargeOrder(orderId string, shortOrderId string,
} }
if email != "" { if email != "" {
q5.AppendSlice(&fields, []string{"email", email}) q5.AppendSlice(&fields, []string{"email", email})
q5.AppendSlice(&fields, []string{"lower_case_email", strings.ToLower(email)})
} }
f5.GetGoStyleDb().UpsertEx( f5.GetGoStyleDb().UpsertEx(
constant.BCNFT_DB, constant.BCNFT_DB,