From 138c46f7f1c82e1acde9531aa64d5be05fb1f445 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 7 Aug 2024 13:51:49 +0800 Subject: [PATCH] 1 --- .../marketserver/api/v1/recharge/recharge.go | 11 +++--- server/marketserver/mt/RechargeCurrency.go | 14 +++++++ server/marketserver/mt/export.go | 6 +++ server/marketserver/mtb/mtb.auto_gen.go | 39 +++++++++++++++++++ server/marketserver/proto/mt.proto | 7 ++++ 5 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 server/marketserver/mt/RechargeCurrency.go diff --git a/server/marketserver/api/v1/recharge/recharge.go b/server/marketserver/api/v1/recharge/recharge.go index 9f0efde4..dce7b473 100644 --- a/server/marketserver/api/v1/recharge/recharge.go +++ b/server/marketserver/api/v1/recharge/recharge.go @@ -50,10 +50,7 @@ func (this *RechargeApi) Buy(c *gin.Context) { AccountAddress string `json:"account_address"` }{} if err := c.ShouldBindJSON(&reqJson); err != nil { - c.JSON(http.StatusOK, gin.H{ - "errcode": 1, - "errmsg": err.Error(), - }) + f5.RspErr(c, 1, err.Error()) return } currencyMeta := mt.Table.Contract.GetByNetIdName(reqJson.NetId, "TestToken") @@ -66,6 +63,10 @@ func (this *RechargeApi) Buy(c *gin.Context) { f5.RspErr(c, 2, "goods id param error") return } + if reqJson.Num < 0 { + f5.RspErr(c, 2, "num param error") + return + } nowTime := q5.ToInt32(f5.GetApp().GetRealSeconds()) shortOrderId := f5.GetApp().NewLockNodeUuid() orderId := "" @@ -76,7 +77,7 @@ func (this *RechargeApi) Buy(c *gin.Context) { nowTime, 0, [3]int64{ - 0, + q5.ToInt64(reqJson.Num), q5.ToInt64(goodsMeta.GetId()), shortOrderId, }) diff --git a/server/marketserver/mt/RechargeCurrency.go b/server/marketserver/mt/RechargeCurrency.go new file mode 100644 index 00000000..c79f6e79 --- /dev/null +++ b/server/marketserver/mt/RechargeCurrency.go @@ -0,0 +1,14 @@ +package mt + +import ( + "f5" + "main/mtb" +) + +type RechargeCurrency struct { + mtb.RechargeCurrency +} + +type RechargeCurrencyTable struct { + f5.IdMetaTable[RechargeCurrency] +} diff --git a/server/marketserver/mt/export.go b/server/marketserver/mt/export.go index 45fedb45..28322a6f 100644 --- a/server/marketserver/mt/export.go +++ b/server/marketserver/mt/export.go @@ -16,6 +16,7 @@ type table struct { Web3ServiceCluster *Web3ServiceClusterTable Web3SignCluster *Web3SignClusterTable Recharge *RechargeTable + RechargeCurrency *RechargeCurrencyTable } var Table = f5.New(func(this *table) { @@ -66,6 +67,11 @@ var Table = f5.New(func(this *table) { this.PrimKey = "" }) + this.RechargeCurrency = f5.New(func(this *RechargeCurrencyTable) { + this.FileName = "../config/recharge_currency@recharge_currency.json" + this.PrimKey = "" + }) + this.Recharge = f5.New(func(this *RechargeTable) { this.FileName = "../res/recharge@recharge.json" this.PrimKey = "id" diff --git a/server/marketserver/mtb/mtb.auto_gen.go b/server/marketserver/mtb/mtb.auto_gen.go index 0689ba4d..fa812060 100644 --- a/server/marketserver/mtb/mtb.auto_gen.go +++ b/server/marketserver/mtb/mtb.auto_gen.go @@ -60,6 +60,15 @@ type Config struct { _flags2_ uint64 } +type RechargeCurrency struct { + currency_name string + exchange_rate int32 + currency_decimal int32 + + _flags1_ uint64 + _flags2_ uint64 +} + type Item struct { name string id int32 @@ -313,6 +322,30 @@ func (this *Config) HasJwksUri() bool { return (this._flags1_ & (uint64(1) << 2)) > 0 } +func (this *RechargeCurrency) GetCurrencyName() string { + return this.currency_name +} + +func (this *RechargeCurrency) HasCurrencyName() bool { + return (this._flags1_ & (uint64(1) << 1)) > 0 +} + +func (this *RechargeCurrency) GetExchangeRate() int32 { + return this.exchange_rate +} + +func (this *RechargeCurrency) HasExchangeRate() bool { + return (this._flags1_ & (uint64(1) << 2)) > 0 +} + +func (this *RechargeCurrency) GetCurrencyDecimal() int32 { + return this.currency_decimal +} + +func (this *RechargeCurrency) HasCurrencyDecimal() bool { + return (this._flags1_ & (uint64(1) << 3)) > 0 +} + func (this *Item) GetName() string { return this.name } @@ -475,6 +508,12 @@ func (this *Config) LoadFromKv(kv map[string]interface{}) { f5.ReadMetaTableField(&this.jwks_uri, "jwks_uri", &this._flags1_, 2, kv) } +func (this *RechargeCurrency) LoadFromKv(kv map[string]interface{}) { + f5.ReadMetaTableField(&this.currency_name, "currency_name", &this._flags1_, 1, kv) + f5.ReadMetaTableField(&this.exchange_rate, "exchange_rate", &this._flags1_, 2, kv) + f5.ReadMetaTableField(&this.currency_decimal, "currency_decimal", &this._flags1_, 3, kv) +} + func (this *Item) LoadFromKv(kv map[string]interface{}) { f5.ReadMetaTableField(&this.name, "name", &this._flags1_, 1, kv) f5.ReadMetaTableField(&this.id, "id", &this._flags1_, 2, kv) diff --git a/server/marketserver/proto/mt.proto b/server/marketserver/proto/mt.proto index e7547be8..e6edaa59 100644 --- a/server/marketserver/proto/mt.proto +++ b/server/marketserver/proto/mt.proto @@ -48,6 +48,13 @@ message Config optional string jwks_uri = 2; } +message RechargeCurrency +{ + optional string currency_name = 1; + optional int32 exchange_rate = 2; + optional int32 currency_decimal = 3; +} + message Item { optional string name = 1;