diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 9ae7b0e31..af73104d1 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -576,14 +576,6 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e var ( db = dao.GetDB() ) - job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) - errCode, err = AcceptJob(ctx, job.ID) - if errCode != "" { - return errCode, err - } - if err != nil { - return errCode, err - } mtMember, err := dao.GetMtMember(db) if mtMember == nil { return errCode, fmt.Errorf("美团会员数量不足,请等待补充!") @@ -594,6 +586,15 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil { mtMember.DeletedAt = time.Now() dao.UpdateEntity(db, mtMember, "DeletedAt") + + job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) + errCode, err = AcceptJob(ctx, job.ID) + if errCode != "" { + return errCode, err + } + if err != nil { + return errCode, err + } } return errCode, err } @@ -602,14 +603,6 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod var ( db = dao.GetDB() ) - job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeJdDelivery}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) - errCode, err = AcceptJob(ctx, job.ID) - if errCode != "" { - return errCode, err - } - if err != nil { - return errCode, err - } if dOrder.Weight == 0 { return errCode, fmt.Errorf("重量必须填写!") } @@ -676,12 +669,22 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod }() if err = dao.CreateEntity(db, dOrder); err != nil { dao.Rollback(db) + return } //账户支出明细 if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, dOrder.PayPrice); err != nil { dao.Rollback(db) + return } dao.Commit(db) + job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeJdDelivery}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) + errCode, err = AcceptJob(ctx, job.ID) + if errCode != "" { + return errCode, err + } + if err != nil { + return errCode, err + } return errCode, err }