From aecb69307da90756517a72aa9b471556c4d70c6b Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 22 Feb 2024 17:05:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=95=86=E5=BA=97=E8=A3=85?= =?UTF-8?q?=E5=A4=87=E8=B4=AD=E4=B9=B0=E6=B6=88=E8=80=97=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/shop/api_buy.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/modules/shop/api_buy.go b/modules/shop/api_buy.go index 878f5e912..941e3aad6 100644 --- a/modules/shop/api_buy.go +++ b/modules/shop/api_buy.go @@ -115,12 +115,24 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata return } } - need = make([]*cfg.Gameatn, len(conf.Need)) - for i, v := range conf.Need { - need[i] = &cfg.Gameatn{ - A: v.A, - T: v.T, - N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum, + + if egood, ok := record.Preview[good.Id]; ok { + need = make([]*cfg.Gameatn, len(conf.Need)) + for i, v := range egood.Need { + need[i] = &cfg.Gameatn{ + A: v.A, + T: v.T, + N: v.N, + } + } + } else { + need = make([]*cfg.Gameatn, len(conf.Need)) + for i, v := range conf.Need { + need[i] = &cfg.Gameatn{ + A: v.A, + T: v.T, + N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum, + } } }