From ab472a32f6bae61db21a07f2fe44e077e503b2f5 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Thu, 23 Nov 2023 11:31:55 +0800 Subject: [PATCH] fix --- .../internal/logic/savecanteentypeproductlogic.go | 13 ++++++------- .../internal/logic/calculatecartpricelogic.go | 3 +-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/server/canteen/internal/logic/savecanteentypeproductlogic.go b/server/canteen/internal/logic/savecanteentypeproductlogic.go index d66abf4d..a35b3b5a 100644 --- a/server/canteen/internal/logic/savecanteentypeproductlogic.go +++ b/server/canteen/internal/logic/savecanteentypeproductlogic.go @@ -61,7 +61,6 @@ func (l *SaveCanteenTypeProductLogic) SaveCanteenTypeProduct(req *types.SaveCant now := time.Now().UTC().Unix() //开启事务 err = l.svcCtx.MysqlConn.Transaction(func(tx *gorm.DB) error { - canteenProductModel = gmodel.NewFsCanteenProductModel(tx) sort := int64(0) //新的变更记录 mapUpdateCanteenPid := make(map[int64]struct{}) @@ -73,12 +72,12 @@ func (l *SaveCanteenTypeProductLogic) SaveCanteenTypeProduct(req *types.SaveCant } if v.Id > 0 { //更新 mapUpdateCanteenPid[v.Id] = struct{}{} - err = canteenProductModel.UpdateById(l.ctx, v.Id, &gmodel.FsCanteenProduct{ + err = tx.WithContext(l.ctx).Model(&gmodel.FsCanteenProduct{}).Where("id = ?", v.Id).Updates(&gmodel.FsCanteenProduct{ SizeId: &v.SizeId, Sid: &v.SId, Sort: &sort, ProductId: sizeInfo.ProductId, - }) + }).Error if err != nil { return err } @@ -86,7 +85,7 @@ func (l *SaveCanteenTypeProductLogic) SaveCanteenTypeProduct(req *types.SaveCant } //新增 addStatus := int64(1) - err = canteenProductModel.Create(l.ctx, &gmodel.FsCanteenProduct{ + err = tx.WithContext(l.ctx).Model(&gmodel.FsCanteenProduct{}).Create(&gmodel.FsCanteenProduct{ SizeId: &v.SizeId, Sid: &v.SId, Sort: &sort, @@ -94,7 +93,7 @@ func (l *SaveCanteenTypeProductLogic) SaveCanteenTypeProduct(req *types.SaveCant Ctime: &now, CanteenType: &req.Id, ProductId: sizeInfo.ProductId, - }) + }).Error if err != nil { return err } @@ -110,9 +109,9 @@ func (l *SaveCanteenTypeProductLogic) SaveCanteenTypeProduct(req *types.SaveCant return nil } delStatus := int64(0) - if err = canteenProductModel.UpdateByIdArr(l.ctx, diffCanteenProductId, &gmodel.FsCanteenProduct{ + if err = tx.WithContext(l.ctx).Model(&gmodel.FsCanteenProduct{}).Where("id in (?)", diffCanteenProductId).Updates(&gmodel.FsCanteenProduct{ Status: &delStatus, - }); err != nil { + }).Error; err != nil { return err } return nil diff --git a/server/shopping-cart/internal/logic/calculatecartpricelogic.go b/server/shopping-cart/internal/logic/calculatecartpricelogic.go index 617363ee..aa07d1f3 100644 --- a/server/shopping-cart/internal/logic/calculatecartpricelogic.go +++ b/server/shopping-cart/internal/logic/calculatecartpricelogic.go @@ -91,7 +91,6 @@ func (l *CalculateCartPriceLogic) CalculateCartPrice(req *types.CalculateCartPri subTotalPrice := int64(0) //开启事物 err = l.svcCtx.MysqlConn.Transaction(func(tx *gorm.DB) error { - shoppingCartModel := gmodel.NewFsShoppingCartModel(tx) for _, cart := range carts { modelInfo, ok := mapModel[*cart.ModelId] if !ok { @@ -138,7 +137,7 @@ func (l *CalculateCartPriceLogic) CalculateCartPrice(req *types.CalculateCartPri subTotalPrice += totalPrice } //更新购物车购买数量 - if err = shoppingCartModel.Update(l.ctx, cart.Id, userinfo.UserId, updData); err != nil { + if err = tx.WithContext(l.ctx).Model(&gmodel.FsShoppingCart{}).Where("id = ? and user_id = ?", cart.Id, userinfo.UserId).Updates(updData).Error; err != nil { logx.Error(err) return errors.New(fmt.Sprintf("failed to update cart`s purchase quantity:%d", cart.Id)) }