This commit is contained in:
苏尹岚
2020-12-09 16:06:48 +08:00
parent 6c171a107c
commit 72c29abdd4

View File

@@ -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) { func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err error) {
var ( var (
db = dao.GetDB() db = dao.GetDB()
db2 = dao.GetDB()
userID = ctx.GetUserID() userID = ctx.GetUserID()
) )
dao.Begin(db) dao.Begin(db)
@@ -646,16 +647,25 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
dao.Rollback(db) dao.Rollback(db)
return errCode, err return errCode, err
} }
dao.Commit(db)
for { 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 { if mtMember == nil {
return errCode, fmt.Errorf("补券中,请稍后再试!") return errCode, fmt.Errorf("补券中,请稍后再试!")
} }
err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink) err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink)
mtMember.DeletedAt = time.Now() mtMember.DeletedAt = time.Now()
dao.UpdateEntity(db, mtMember, "DeletedAt") dao.UpdateEntity(db2, mtMember, "DeletedAt")
dao.Commit(db2)
if err == nil { 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) _, errCode, err = AcceptJob(ctx, job.ID)
if errCode != "" { if errCode != "" {
return errCode, err return errCode, err
@@ -666,7 +676,6 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
break break
} }
} }
dao.Commit(db)
return errCode, err return errCode, err
} }