From 72c29abdd4b22f873a45f176c19639eafc4f47d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 9 Dec 2020 16:06:48 +0800 Subject: [PATCH] a --- business/jxstore/cms/job.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 5b39d752f..3a8ed2f36 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -611,6 +611,7 @@ func ImprotMtMembers(ctx *jxcontext.Context, mtMembers []*model.MtMember) (err e func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err error) { var ( db = dao.GetDB() + db2 = dao.GetDB() userID = ctx.GetUserID() ) dao.Begin(db) @@ -646,16 +647,25 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e dao.Rollback(db) return errCode, err } + dao.Commit(db) for { - mtMember, err := dao.GetMtMember(db) + dao.Begin(db2) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db2) + panic(r) + } + }() + mtMember, err := dao.GetMtMember(db2) if mtMember == nil { return errCode, fmt.Errorf("补券中,请稍后再试!") } err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink) mtMember.DeletedAt = time.Now() - dao.UpdateEntity(db, mtMember, "DeletedAt") + dao.UpdateEntity(db2, mtMember, "DeletedAt") + dao.Commit(db2) if err == nil { - job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) + job, err := dao.GetJob(db2, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) _, errCode, err = AcceptJob(ctx, job.ID) if errCode != "" { return errCode, err @@ -666,7 +676,6 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e break } } - dao.Commit(db) return errCode, err }