audit job
This commit is contained in:
@@ -157,7 +157,7 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//2、账户收入增加一条记录
|
||||
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, userBill.DepositBalance); err != nil {
|
||||
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.SurplusCount*job.AvgPrice); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//3、任务状态被取消
|
||||
@@ -279,7 +279,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//2、账户收入增加一条记录
|
||||
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, userBill.DepositBalance); err != nil {
|
||||
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.AvgPrice); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//3、任务订单状态被取消
|
||||
@@ -322,6 +322,9 @@ func SubmitJob(ctx *jxcontext.Context, jobOrder *model.JobOrder) (err error) {
|
||||
if jobOrder.JobID == 0 || jobOrder.JobOrderID == 0 {
|
||||
return fmt.Errorf("传入数据有误!")
|
||||
}
|
||||
job := &model.Job{}
|
||||
job.ID = jobOrder.JobID
|
||||
err = dao.GetEntity(db, &job)
|
||||
jobOrder2 := &model.JobOrder{}
|
||||
jobOrder2.JobOrderID = jobOrder.JobOrderID
|
||||
err = dao.GetEntity(db, &jobOrder2, "JobOrderID")
|
||||
@@ -331,10 +334,79 @@ func SubmitJob(ctx *jxcontext.Context, jobOrder *model.JobOrder) (err error) {
|
||||
if jobOrder2.Status >= model.JobOrderStatusWaitAudit {
|
||||
return fmt.Errorf("任务订单状态有误!")
|
||||
}
|
||||
if ctx.GetUserID() != jobOrder2.UserID {
|
||||
return fmt.Errorf("任务订单接收人有误!")
|
||||
}
|
||||
jobOrder2.Img = jobOrder.Img
|
||||
jobOrder2.Content = jobOrder.Content
|
||||
jobOrder2.SubmitAuditAt = time.Now()
|
||||
jobOrder2.Status = model.JobOrderStatusWaitAudit
|
||||
dao.UpdateEntity(db, jobOrder2, "Img", "Content", "SubmitAuditAt", "Status")
|
||||
if _, err = dao.UpdateEntity(db, jobOrder2, "Img", "Content", "SubmitAuditAt", "Status"); err == nil {
|
||||
//审核定时
|
||||
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
jobOrder := &model.JobOrder{}
|
||||
jobOrder.JobOrderID = int64(jobOrderID)
|
||||
err = dao.GetEntity(db, &jobOrder, "JobOrderID")
|
||||
job := &model.Job{}
|
||||
job.ID = jobOrder.JobID
|
||||
err = dao.GetEntity(db, &job)
|
||||
if ctx.GetUserID() != job.UserID {
|
||||
return fmt.Errorf("任务发起人才能审核!")
|
||||
}
|
||||
//审核时,若此任务已过期或者已取消,不通过则应将此任务保证金退还给发起人,通过则应将单次任务保证金给接受人
|
||||
//若此任务未过期,不通过则此任务剩余数量将+1,通过则应将单次任务保证金给接受人
|
||||
jobOrder.Status = status
|
||||
jobOrder.Comment = comment
|
||||
jobOrder.AuditAt = time.Now()
|
||||
jobOrder.LastOperator = ctx.GetUserName()
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
if status == model.JobOrderStatusAuditPass {
|
||||
//接收人账户增加任务单次
|
||||
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||
userBillJobOrder.AccountBalance += job.AvgPrice
|
||||
if _, err = dao.UpdateEntity(db, userBillJobOrder, "AccountBalance"); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//接收人账户收入增加一条
|
||||
if err = financial.AddBillIncome(db, userBillJobOrder.BillID, model.OrderTypeJob, 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 {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
//2、账户收入增加一条记录
|
||||
if err = financial.AddBillIncome(db, userBill.BillID, model.OrderTypeDeposit, job.AvgPrice); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
} else {
|
||||
job.SurplusCount += 1
|
||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||
dao.Rollback(db)
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user