From 2f98eed6103ed707286b70fdb0c0ad8fcd41addb Mon Sep 17 00:00:00 2001 From: jakezhu9 Date: Fri, 10 Mar 2023 15:00:19 +0800 Subject: [PATCH] fix: batch update categories list --- service/impl/category.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/service/impl/category.go b/service/impl/category.go index 2141942..6dfff57 100644 --- a/service/impl/category.go +++ b/service/impl/category.go @@ -427,10 +427,16 @@ func (c *categoryUpdateExecutor) UpdateBatch(ctx context.Context, categoryParams err := dal.Transaction(ctx, func(txCtx context.Context) error { categoryDAL := dal.GetQueryByCtx(txCtx).Category - err := categoryDAL.WithContext(txCtx).Omit(categoryDAL.CreateTime).Save(categories...) - if err != nil { - return WrapDBErr(err) + for _, category := range categories { + resultInfo, err := categoryDAL.WithContext(txCtx).Where(categoryDAL.ID.Eq(category.ID)).Select(field.Star).Omit(categoryDAL.CreateTime).Updates(category) + if err != nil { + return WrapDBErr(err) + } + if resultInfo.RowsAffected != 1 { + return xerr.DB.New("").WithMsg("update failed") + } } + if err := c.prepare(txCtx, categoryParams); err != nil { return err }