return
This commit is contained in:
@@ -134,7 +134,10 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e
|
|||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
err = dao.CreateEntity(db, job)
|
if err = dao.CreateEntity(db, job); err != nil {
|
||||||
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
|
}
|
||||||
for _, v := range job.JobSteps {
|
for _, v := range job.JobSteps {
|
||||||
dao.WrapAddIDCULDEntity(v, ctx.GetUserName())
|
dao.WrapAddIDCULDEntity(v, ctx.GetUserName())
|
||||||
v.JobID = job.ID
|
v.JobID = job.ID
|
||||||
@@ -147,11 +150,13 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e
|
|||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
//发布任务要扣除任务总额的保证金,不够扣就要进行充值
|
//发布任务要扣除任务总额的保证金,不够扣就要进行充值
|
||||||
if err == nil && job.Status != model.JobStatusFailed {
|
if err == nil && job.Status != model.JobStatusFailed {
|
||||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDeposit, job.TotalPrice); err != nil {
|
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDeposit, job.TotalPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
@@ -182,11 +187,13 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
|||||||
}()
|
}()
|
||||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.SurplusCount*job.AvgPrice); err != nil {
|
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.SurplusCount*job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
//3、任务状态被取消
|
//3、任务状态被取消
|
||||||
job.Status = model.JobStatusFailed
|
job.Status = model.JobStatusFailed
|
||||||
if _, err = dao.UpdateEntity(db, job, "Status"); err != nil {
|
if _, err = dao.UpdateEntity(db, job, "Status"); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
return err
|
return err
|
||||||
@@ -281,7 +288,6 @@ func AcceptJob(ctx *jxcontext.Context, jobID int) (errCode string, err error) {
|
|||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
|
||||||
//任务限时完成
|
//任务限时完成
|
||||||
timer := checkLimitJobOrders(db, job, jobOrder, model.JobTimerTypeAccept)
|
timer := checkLimitJobOrders(db, job, jobOrder, model.JobTimerTypeAccept)
|
||||||
JobTimerMap[jobOrder.JobOrderID] = timer
|
JobTimerMap[jobOrder.JobOrderID] = timer
|
||||||
@@ -294,19 +300,13 @@ func AcceptJob(ctx *jxcontext.Context, jobID int) (errCode string, err error) {
|
|||||||
if userBill.AccountBalance < job.AvgPrice {
|
if userBill.AccountBalance < job.AvgPrice {
|
||||||
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!")
|
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!")
|
||||||
}
|
}
|
||||||
dao.Begin(db)
|
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil {
|
|
||||||
dao.Rollback(db)
|
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
//账户支出
|
//账户支出
|
||||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, job.AvgPrice); err != nil {
|
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return errCode, err
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
|
||||||
}
|
}
|
||||||
|
dao.Commit(db)
|
||||||
return errCode, err
|
return errCode, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,6 +332,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
|||||||
job.SurplusCount += 1
|
job.SurplusCount += 1
|
||||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||||
@@ -342,11 +343,13 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
|||||||
//2、账户收入
|
//2、账户收入
|
||||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.AvgPrice); err != nil {
|
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
//3、任务订单状态被取消
|
//3、任务订单状态被取消
|
||||||
jobOrder.Status = model.JobOrderStatusCancel
|
jobOrder.Status = model.JobOrderStatusCancel
|
||||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
@@ -491,23 +494,27 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
|
|||||||
}()
|
}()
|
||||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if status == model.JobOrderStatusAuditPass {
|
if status == model.JobOrderStatusAuditPass {
|
||||||
//接收人账户收入
|
//接收人账户收入
|
||||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if job.Status < 0 {
|
if job.Status < 0 {
|
||||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice); err != nil {
|
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
job.SurplusCount += 1
|
job.SurplusCount += 1
|
||||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user