1
This commit is contained in:
parent
91c45259b5
commit
01add69d2c
@ -27,7 +27,7 @@ func (ea *RechargeApi) RechargeList(c *gin.Context) {
|
||||
Rows []interface{} `json:"rows"`
|
||||
}{}
|
||||
|
||||
currencyMeta := mt.Table.RechargeCurrency.Get(netId)
|
||||
currencyMeta := mt.Table.Currency.Get(netId)
|
||||
if currencyMeta == nil {
|
||||
f5.RspErr(c, 2, "server internal error")
|
||||
return
|
||||
@ -60,7 +60,7 @@ func (this *RechargeApi) Buy(c *gin.Context) {
|
||||
f5.RspErr(c, 1, err.Error())
|
||||
return
|
||||
}
|
||||
currencyMeta := mt.Table.RechargeCurrency.Get(reqJson.NetId)
|
||||
currencyMeta := mt.Table.Currency.Get(reqJson.NetId)
|
||||
if currencyMeta == nil {
|
||||
f5.RspErr(c, 2, "server internal error")
|
||||
return
|
||||
|
@ -7,55 +7,55 @@ import (
|
||||
"main/constant"
|
||||
)
|
||||
|
||||
type RechargeCurrency struct {
|
||||
type Currency struct {
|
||||
currencyName string
|
||||
exchangeRate int64
|
||||
currencyDecimal int64
|
||||
}
|
||||
|
||||
type RechargeCurrencyTable struct {
|
||||
type CurrencyTable struct {
|
||||
f5.CustomMetaTable
|
||||
netIdHash *q5.ConcurrentMap[int32, *RechargeCurrency]
|
||||
netIdHash *q5.ConcurrentMap[int32, *Currency]
|
||||
}
|
||||
|
||||
func (this *RechargeCurrency) init(currencyName string, exchangeRate int64, currencyDecimal int64) {
|
||||
func (this *Currency) init(currencyName string, exchangeRate int64, currencyDecimal int64) {
|
||||
this.currencyName = currencyName
|
||||
this.exchangeRate = exchangeRate
|
||||
this.currencyDecimal = currencyDecimal
|
||||
}
|
||||
|
||||
func (this *RechargeCurrency) GetCurrencyName() string {
|
||||
func (this *Currency) GetCurrencyName() string {
|
||||
return this.currencyName
|
||||
}
|
||||
|
||||
func (this *RechargeCurrency) GetExchangeRate() int64 {
|
||||
func (this *Currency) GetExchangeRate() int64 {
|
||||
return this.exchangeRate
|
||||
}
|
||||
|
||||
func (this *RechargeCurrency) GetCurrencyDecimal() int64 {
|
||||
func (this *Currency) GetCurrencyDecimal() int64 {
|
||||
return this.currencyDecimal
|
||||
}
|
||||
|
||||
func (this *RechargeCurrency) check() {
|
||||
func (this *Currency) check() {
|
||||
if this.GetExchangeRate() <= 0 {
|
||||
panic("RechargeCurrency exchange_rate <= 0")
|
||||
panic("Currency exchange_rate <= 0")
|
||||
return
|
||||
}
|
||||
if this.GetExchangeRate() != constant.RECHARGE_CURRENCY_MAX_EXCHANGE_RAET {
|
||||
panic("RechargeCurrency exchange_rate > uplimit")
|
||||
panic("Currency exchange_rate > uplimit")
|
||||
return
|
||||
}
|
||||
if this.GetCurrencyDecimal() <= 0 {
|
||||
panic("RechargeCurrency currency_decimal <= 0")
|
||||
panic("Currency currency_decimal <= 0")
|
||||
return
|
||||
}
|
||||
if this.GetCurrencyDecimal() != constant.RECHARGE_CURRENCY_MAX_DECIMAL {
|
||||
panic("RechargeCurrency exchange_rate > uplimit")
|
||||
panic("Currency exchange_rate > uplimit")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func (this *RechargeCurrencyTable) Get(netId int32) *RechargeCurrency {
|
||||
func (this *CurrencyTable) Get(netId int32) *Currency {
|
||||
if v, ok := this.netIdHash.Load(netId); ok {
|
||||
return *v
|
||||
} else {
|
||||
@ -63,8 +63,8 @@ func (this *RechargeCurrencyTable) Get(netId int32) *RechargeCurrency {
|
||||
}
|
||||
}
|
||||
|
||||
func (this *RechargeCurrencyTable) Load() {
|
||||
this.netIdHash = new(q5.ConcurrentMap[int32, *RechargeCurrency])
|
||||
func (this *CurrencyTable) Load() {
|
||||
this.netIdHash = new(q5.ConcurrentMap[int32, *Currency])
|
||||
nets := []int32{}
|
||||
{
|
||||
if jsonStr, err := f5.ReadJsonFile("../config/nets.json"); err == nil {
|
||||
@ -89,7 +89,7 @@ func (this *RechargeCurrencyTable) Load() {
|
||||
if err := q5.DecodeJson(jsonStr, ¤cyCfg); err != nil {
|
||||
panic(fmt.Sprintf("load metafile json decode error %s %s", "currency.json", err))
|
||||
}
|
||||
p := new(RechargeCurrency)
|
||||
p := new(Currency)
|
||||
p.init(currencyCfg.CurrencyName, currencyCfg.ExchangeRate, currencyCfg.CurrencyDecimal)
|
||||
p.check()
|
||||
this.netIdHash.Store(netId, p)
|
||||
@ -98,14 +98,14 @@ func (this *RechargeCurrencyTable) Load() {
|
||||
}
|
||||
}
|
||||
|
||||
func (this *RechargeCurrencyTable) PostInit1() {
|
||||
func (this *CurrencyTable) PostInit1() {
|
||||
this.netIdHash.Range(
|
||||
func (key int32, val *RechargeCurrency) bool {
|
||||
func (key int32, val *Currency) bool {
|
||||
netId := key
|
||||
currencyMeta := val
|
||||
Table.Recharge.Traverse(func(ele *Recharge) bool {
|
||||
if int64(ele.GetPrice()) * currencyMeta.GetExchangeRate() != int64(ele.GetDiamond()) {
|
||||
panic(fmt.Sprintf("RechargeCurrency verifyerror net_id:%d id:%d", netId, ele.GetId()))
|
||||
panic(fmt.Sprintf("Currency verifyerror net_id:%d id:%d", netId, ele.GetId()))
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
@ -16,7 +16,7 @@ type table struct {
|
||||
Web3ServiceCluster *Web3ServiceClusterTable
|
||||
Web3SignCluster *Web3SignClusterTable
|
||||
Recharge *RechargeTable
|
||||
RechargeCurrency *RechargeCurrencyTable
|
||||
Currency *CurrencyTable
|
||||
}
|
||||
|
||||
var Table = f5.New(func(this *table) {
|
||||
@ -67,7 +67,7 @@ var Table = f5.New(func(this *table) {
|
||||
this.PrimKey = ""
|
||||
})
|
||||
|
||||
this.RechargeCurrency = new(RechargeCurrencyTable)
|
||||
this.Currency = new(CurrencyTable)
|
||||
|
||||
this.Recharge = f5.New(func(this *RechargeTable) {
|
||||
this.FileName = "../res/recharge@recharge.json"
|
||||
|
Loading…
x
Reference in New Issue
Block a user