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
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ type JobOrder struct {
|
||||
AuditAt time.Time `json:"auditAt"` //审核日期
|
||||
Content string `josn:"content"` //任务审核内容
|
||||
Img string `json:"img"` //任务审核图片
|
||||
Comment string `json:"comment"` //审核理由
|
||||
}
|
||||
|
||||
func (v *JobOrder) TableIndex() [][]string {
|
||||
|
||||
@@ -34,6 +34,7 @@ const (
|
||||
OrderTypeDefendPrice = 3 //守价订单
|
||||
|
||||
OrderTypeDeposit = 1 //保证金
|
||||
OrderTypeJob = 2 //任务金
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -170,3 +170,19 @@ func (c *JobController) SubmitJob() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 审核任务
|
||||
// @Description 审核任务
|
||||
// @Param token header string true "认证token"
|
||||
// @Param jobOrderID formData int true "jobOrderID"
|
||||
// @Param status formData int true "审核标志,15 是通过,20是不通过"
|
||||
// @Param comment formData string true "审核理由"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /AuditJob [post]
|
||||
func (c *JobController) AuditJob() {
|
||||
c.callAuditJob(func(params *tJobAuditJobParams) (retVal interface{}, errCode string, err error) {
|
||||
err = cms.AuditJob(params.Ctx, params.JobOrderID, params.Status, params.Comment)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -160,6 +160,15 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"],
|
||||
beego.ControllerComments{
|
||||
Method: "AuditJob",
|
||||
Router: `/AuditJob`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"],
|
||||
beego.ControllerComments{
|
||||
Method: "CancelAcceptJob",
|
||||
|
||||
Reference in New Issue
Block a user