|
|
|
|
@@ -67,7 +67,7 @@ func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) {
|
|
|
|
|
return fmt.Errorf("未查询到该用户的账单!")
|
|
|
|
|
}
|
|
|
|
|
job.TotalPrice = job.Count * job.AvgPrice
|
|
|
|
|
if userBill.DepositBalance < job.TotalPrice {
|
|
|
|
|
if userBill.AccountBalance < job.TotalPrice {
|
|
|
|
|
job.Status = model.JobStatusFailed
|
|
|
|
|
} else {
|
|
|
|
|
job.Status = model.JobStatusDoing
|
|
|
|
|
@@ -116,12 +116,12 @@ func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) {
|
|
|
|
|
//发布任务要扣除任务总额的保证金,不够扣就要进行充值
|
|
|
|
|
if err == nil && job.Status != model.JobStatusFailed {
|
|
|
|
|
//1、账户支出增加一条记录
|
|
|
|
|
if err = financial.AddBillExpend(db, userBill.BillID, model.OrderTypeDeposit, job.TotalPrice); err != nil {
|
|
|
|
|
if err = financial.AddBillExpend(db, userBill.BillID, model.BillTypeDeposit, job.TotalPrice); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//2、账户表保证金总额减少相应值
|
|
|
|
|
userBill.DepositBalance -= job.TotalPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "DepositBalance"); err != nil {
|
|
|
|
|
//2、账户表余额减少相应值
|
|
|
|
|
userBill.AccountBalance -= job.TotalPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -151,13 +151,13 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
|
|
|
|
panic(r)
|
|
|
|
|
}
|
|
|
|
|
}()
|
|
|
|
|
//1、根据任务剩余数量退钱到任务保证金余额中
|
|
|
|
|
userBill.DepositBalance += job.SurplusCount * job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "DepositBalance"); err != nil {
|
|
|
|
|
//1、根据任务剩余数量退钱到账户余额中
|
|
|
|
|
userBill.AccountBalance += job.SurplusCount * job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//2、账户收入增加一条记录
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.SurplusCount*job.AvgPrice); err != nil {
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.BillTypeJobCancelOverdue, job.SurplusCount*job.AvgPrice); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//3、任务状态被取消
|
|
|
|
|
@@ -274,12 +274,12 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
|
|
|
|
}
|
|
|
|
|
//如果状态不正常(取消或者过期)就要把这一笔退回去
|
|
|
|
|
//1、根据任务剩余数量退钱到任务保证金余额中
|
|
|
|
|
userBill.DepositBalance += job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "DepositBalance"); err != nil {
|
|
|
|
|
userBill.AccountBalance += job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//2、账户收入增加一条记录
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.AvgPrice); err != nil {
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.BillTypeJobCancelOverdue, job.AvgPrice); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//3、任务订单状态被取消
|
|
|
|
|
@@ -399,19 +399,19 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//接收人账户收入增加一条
|
|
|
|
|
if err = financial.AddBillIncome(db, userBillJobOrder.BillID, model.OrderTypeJob, job.AvgPrice); err != nil {
|
|
|
|
|
if err = financial.AddBillIncome(db, userBillJobOrder.BillID, model.BillTypeJob, job.AvgPrice); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if job.Status < 0 {
|
|
|
|
|
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
|
|
|
|
//1、根据任务剩余数量退钱到任务保证金余额中
|
|
|
|
|
userBill.DepositBalance += job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "DepositBalance"); err != nil {
|
|
|
|
|
userBill.AccountBalance += job.AvgPrice
|
|
|
|
|
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
//2、账户收入增加一条记录
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.AvgPrice); err != nil {
|
|
|
|
|
if err = financial.AddBillIncome(db, userBill.BillID, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice); err != nil {
|
|
|
|
|
dao.Rollback(db)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
|