From 5a95250bcd621d0211d53b065bda5737405db71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 19 Oct 2020 10:38:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=B8=AA=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/job.go | 32 +++++++++++++++---------------- business/jxstore/financial/pay.go | 8 ++++---- business/model/bill.go | 9 ++++++++- business/model/order.go | 4 ++-- 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index a27512884..bc2d834d8 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -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 { diff --git a/business/jxstore/financial/pay.go b/business/jxstore/financial/pay.go index d2219cc08..514776d82 100644 --- a/business/jxstore/financial/pay.go +++ b/business/jxstore/financial/pay.go @@ -43,15 +43,15 @@ func OnPayFinished(order *model.Order) (err error) { } //根据订单类型来操作账户 switch order.Type { - case model.OrderTypeDeposit: - //如果是发布任务的保证金 + case model.OrderTypeAccount: + //如果是账户充值(发布任务等) //1、账户收入表增加一条保证金记录 if err = AddBillIncome(db, billID, order.Type, order.PayPrice); err != nil { dao.Rollback(db) } //2、账户表保证金总额增加相应值 - userBill.DepositBalance += order.PayPrice - if _, err = dao.UpdateEntity(db, userBill, "DepositBalance"); err != nil { + userBill.AccountBalance += order.PayPrice + if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil { dao.Rollback(db) } default: diff --git a/business/model/bill.go b/business/model/bill.go index 6bea28f79..00e996d3f 100644 --- a/business/model/bill.go +++ b/business/model/bill.go @@ -1,5 +1,13 @@ package model +const ( + BillTypeDeposit = 1 //发布任务 + BillTypeJob = 2 //做任务实得 + BillTypeMember = 3 //开通会员 + BillTypeJobCancelOverdue = 4 //任务过期或取消 + BillTypeJobAuditUnPassWithCancelOverdue = 5 //任务不通过时,任务已取消或过期 +) + //账单收入表 type BillIncome struct { ModelIDCUL @@ -39,7 +47,6 @@ type UserBill struct { BillID int64 `orm:"column(bill_id)" json:"billID"` //账单ID UserID string `orm:"column(user_id)" json:"userID"` //用户ID AccountBalance int `json:"accountBalance"` //账户余额 - DepositBalance int `json:"depositBalance"` //保证金余额 } func (v *UserBill) TableUnique() [][]string { diff --git a/business/model/order.go b/business/model/order.go index 302a8df21..fd0b99db4 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -33,8 +33,8 @@ const ( OrderTypeSupplyGoods = 2 //进货订单 OrderTypeDefendPrice = 3 //守价订单 - OrderTypeDeposit = 1 //保证金 - OrderTypeJob = 2 //任务金 + OrderTypeAccount = 1 //任务保证金 + OrderTypeMember = 2 //开通会员 ) var (