任务分成

This commit is contained in:
苏尹岚
2020-11-16 14:57:08 +08:00
parent c7e52925c1
commit f920a30389
2 changed files with 30 additions and 14 deletions

View File

@@ -501,20 +501,34 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment string) (e
}
if status == model.JobOrderStatusAuditPass {
//若完成任务的人在某个群组中,则要向群主分成
// if messageGroupMembers, err := dao.GetMessageGroupMembers(db, 0, model.GroupTypeMulit, jobOrder.UserID); err == nil {
// if len(messageGroupMembers) > 1 {
// return fmt.Errorf("审核异常,该任务提交人加入了多个群组!")
// } else if len(messageGroupMembers) == 1 {
// if messageGroupsResult, err := dao.GetMessageGroups(db, "", messageGroupMembers[0].GroupID, model.GroupTypeMulit, false, ""); err == nil {
// }
// }
// }
//接收人账户收入
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
dao.Rollback(db)
return err
if messageGroupMembers, err := dao.GetMessageGroupMembers(db, 0, model.GroupTypeMulit, jobOrder.UserID); err == nil {
if len(messageGroupMembers) > 1 {
return fmt.Errorf("审核异常,该任务提交人加入了多个群组!")
} else if len(messageGroupMembers) == 1 {
if messageGroupsResult, err := dao.GetMessageGroups(db, "", messageGroupMembers[0].GroupID, model.GroupTypeMulit, false, ""); err == nil {
if len(messageGroupsResult) == 1 {
if userBillGroupMaster, err := dao.GetUserBill(db, messageGroupsResult[0].UserID, ""); err == nil {
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeDivide, job.AvgPrice*messageGroupsResult[0].DividePercentage/100); err != nil {
dao.Rollback(db)
return err
}
}
//接收人账户收入
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJobDivide, job.AvgPrice*(100-messageGroupsResult[0].DividePercentage)/100); err != nil {
dao.Rollback(db)
return err
}
}
}
} else if len(messageGroupMembers) == 0 { //若没有在某个群组,则得到全部
//接收人账户收入
userBillJobOrder, err := dao.GetUserBill(db, jobOrder.UserID, "")
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, job.AvgPrice); err != nil {
dao.Rollback(db)
return err
}
}
}
jobOrder.Status = model.JobOrderStatusFinish
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {

View File

@@ -6,6 +6,8 @@ const (
BillTypeJobCancelOverdue = 12 //任务过期或取消
BillTypeJobAuditUnPassWithCancelOverdue = 13 //任务不通过时,任务已取消或过期
BillTypeSpJob = 14 //特殊任务扣除
BillTypeDivide = 15 //群员做任务分成
BillTypeJobDivide = 16 //做任务实得(被扣除分成后)
BillTypeMember = 20 //开通会员