diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index f6307e76f..dbda43f45 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -413,7 +413,16 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi dao.Rollback(db) return } + dao.Commit(db) + if job.JobCategoryID == model.JobCategoryIDDropShipping { + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil { dao.Rollback(db) return @@ -423,6 +432,7 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi dao.Rollback(db) return } + dao.Commit(db) } else { //任务限时完成 timer := checkLimitJobOrders(db, job, jobOrder, model.JobTimerTypeAccept) @@ -430,7 +440,6 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi JobTimers.JobTimerMap[jobOrder.JobOrderID] = timer JobTimers.s.Unlock() } - dao.Commit(db) return jobOrder.JobOrderID, errCode, err }