aa
This commit is contained in:
@@ -192,7 +192,7 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e
|
||||
}
|
||||
//发布任务要扣除任务总额的保证金,不够扣就要进行充值
|
||||
if err == nil && job.Status != model.JobStatusFailed {
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDeposit, job.TotalPrice, job.ID); err != nil {
|
||||
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeDeposit, job.TotalPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -243,14 +243,14 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
||||
}
|
||||
price = job.TotalPrice - price
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, price, jobID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeJobCancelOverdue, price, jobID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//3、任务状态被取消
|
||||
job.Status = model.JobStatusFailed
|
||||
// job.DeletedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, job, "Status"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, job, "Status"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -409,13 +409,13 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi
|
||||
}
|
||||
}()
|
||||
dao.WrapAddIDCULEntity(jobOrder, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, jobOrder); err != nil {
|
||||
if err = dao.CreateEntityTx(txDB, jobOrder); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//用户接受任务,任务剩余次数-1
|
||||
job.SurplusCount -= 1
|
||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, job, "SurplusCount"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -429,7 +429,7 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -481,7 +481,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
//如果当前任务状态正常,剩余数量就加1
|
||||
if job.Status >= 0 {
|
||||
job.SurplusCount += 1
|
||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, job, "SurplusCount"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -494,7 +494,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
//2、账户收入
|
||||
//是固定返现才会退一笔任务单价
|
||||
if job.CashbackType == model.JobCashbackPrice {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.AvgPrice, jobID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeJobCancelOverdue, job.AvgPrice, jobID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -506,14 +506,14 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
if userBill == nil {
|
||||
return fmt.Errorf("未查询到该用户的账单!")
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, jobOrder.UserActualPrice, jobID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeJobCancelOverdue, jobOrder.UserActualPrice, jobID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//3、任务订单状态被取消
|
||||
jobOrder.Status = model.JobOrderStatusCancel
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -617,7 +617,7 @@ func UpdateDropShippingJobOrders(db *dao.DaoDB, timer *time.Timer, jobID int, jo
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -746,7 +746,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -771,19 +771,19 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
if len(messageGroupsResult) == 1 {
|
||||
if messageGroupsResult[0].DividePercentage != 0 {
|
||||
if userBillGroupMaster, err := dao.GetUserBill(db, messageGroupsResult[0].UserID, ""); err == nil {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeDivide, price*messageGroupsResult[0].DividePercentage/100, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBillGroupMaster, model.BillTypeDivide, price*messageGroupsResult[0].DividePercentage/100, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJobDivide, price*(100-messageGroupsResult[0].DividePercentage)/100, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBillJobOrder, model.BillTypeJobDivide, price*(100-messageGroupsResult[0].DividePercentage)/100, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -792,14 +792,14 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
}
|
||||
} else if len(messageGroupMembers) == 0 { //若没有在某个群组,则得到全部
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
jobOrder.Status = model.JobOrderStatusFinish
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -809,12 +809,12 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
//一件代发处理,审核相当于发货
|
||||
jobOrder.VendorWaybillID = vendorWaybillID
|
||||
jobOrder.Status = model.JobOrderStatusFinish
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "VendorWaybillID"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, jobOrder, "Status", "VendorWaybillID"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -828,7 +828,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
if job.Status < 0 {
|
||||
if job.CashbackType == model.JobCashbackPrice {
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -836,7 +836,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
} else {
|
||||
//审核不通过的话,要重新变成待上传,再重新开个定时器
|
||||
jobOrder.Status = model.JobOrderStatusAccept
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -845,7 +845,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
JobID: job.ID,
|
||||
JobOrderID: jobOrder.JobOrderID,
|
||||
}
|
||||
if _, err = dao.DeleteEntity(db, jobTimer, "JobID", "JobOrderID"); err != nil {
|
||||
if _, err = dao.DeleteEntityTx(txDB, jobTimer, "JobID", "JobOrderID"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -919,7 +919,7 @@ func RefreshJobStatus(ctx *jxcontext.Context) (err error) {
|
||||
}
|
||||
price = job.TotalPrice - price
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, price, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeJobCancelOverdue, price, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -930,7 +930,7 @@ func RefreshJobStatus(ctx *jxcontext.Context) (err error) {
|
||||
if job2 != nil {
|
||||
job2.Status = model.JobStatusOverdue
|
||||
// job.DeletedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, job2, "Status"); err != nil {
|
||||
if _, err = dao.UpdateEntityTx(txDB, job2, "Status"); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
@@ -999,7 +999,7 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
|
||||
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!")
|
||||
}
|
||||
//账户支出
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, mtwmMemberPrice, 1); err != nil {
|
||||
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeSpJob, mtwmMemberPrice, 1); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
@@ -1128,7 +1128,7 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
}
|
||||
}()
|
||||
//账户支出明细
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -1206,7 +1206,7 @@ func CancelJdDelivery(ctx *jxcontext.Context, vendorWaybillID, reason string) (e
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
@@ -1268,12 +1268,19 @@ func RefreshJdDelivery(ctx *jxcontext.Context) (err error) {
|
||||
}
|
||||
dOrder := &model.DeliveryOrder{}
|
||||
dOrder.VendorWaybillID = v.VendorWaybillID
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if err = dao.GetEntity(db, dOrder, "VendorWaybillID"); err == nil {
|
||||
if isCancel {
|
||||
//退钱给发快递的
|
||||
dOrder.Status = model.OrderStatusCanceled
|
||||
userBill, _ := dao.GetUserBill(db, v.UserID, "")
|
||||
err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeSpJob, v.PayPrice+v.DiffPrice, 2)
|
||||
err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeSpJob, v.PayPrice+v.DiffPrice, 2)
|
||||
} else if isFinished {
|
||||
//快递任务要完成
|
||||
dOrder.Status = model.OrderStatusFinished
|
||||
@@ -1284,13 +1291,14 @@ func RefreshJdDelivery(ctx *jxcontext.Context) (err error) {
|
||||
return retVal, err
|
||||
}
|
||||
if err == nil {
|
||||
dao.UpdateEntity(db, dOrder, "Status")
|
||||
dao.UpdateEntityTx(txDB, dOrder, "Status")
|
||||
} else {
|
||||
if strings.Contains(err.Error(), "审核状态不正确") {
|
||||
dao.UpdateEntity(db, dOrder, "Status")
|
||||
dao.UpdateEntityTx(txDB, dOrder, "Status")
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
return retVal, err
|
||||
}, list)
|
||||
@@ -1362,6 +1370,13 @@ func CheckJdDeliveryWeight(ctx *jxcontext.Context) (err error) {
|
||||
if waybill.DeliveryID == "" {
|
||||
return retVal, err
|
||||
}
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
if waybill.DeliveryID == deliveryOrder.VendorWaybillID {
|
||||
deliveryOrder.IsWeight = 1 //合格
|
||||
if waybill.Weight > 3 && math.Floor(deliveryOrder.Weight) < math.Floor(waybill.Weight) {
|
||||
@@ -1369,7 +1384,8 @@ func CheckJdDeliveryWeight(ctx *jxcontext.Context) (err error) {
|
||||
if err != nil {
|
||||
return retVal, err
|
||||
}
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeJdWaybillOverWeight, utils.Float64TwoInt(diffPrice), 2); err != nil {
|
||||
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeJdWaybillOverWeight, utils.Float64TwoInt(diffPrice), 2); err != nil {
|
||||
txDB.Rollback()
|
||||
return retVal, err
|
||||
}
|
||||
deliveryOrder.IsWeight = 2 //超重
|
||||
@@ -1377,7 +1393,8 @@ func CheckJdDeliveryWeight(ctx *jxcontext.Context) (err error) {
|
||||
}
|
||||
}
|
||||
deliveryOrder.ActualWeight = waybill.Weight
|
||||
dao.UpdateEntity(db, deliveryOrder, "IsWeight", "ActualWeight", "DiffPrice")
|
||||
dao.UpdateEntityTx(txDB, deliveryOrder, "IsWeight", "ActualWeight", "DiffPrice")
|
||||
dao.Commit(db, txDB)
|
||||
return retVal, err
|
||||
}, deliveryOrders)
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
@@ -1550,7 +1567,7 @@ func ConfirmDropShippingJob(ctx *jxcontext.Context, jobOrderID int) (err error)
|
||||
return
|
||||
}
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
if err = financial.AddIncomeUpdateAccount(txDB, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -5,9 +5,10 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"github.com/astaxie/beego/client/orm"
|
||||
)
|
||||
|
||||
func AddBillIncome(db *dao.DaoDB, billID int64, billType, incomePrice, jobID int) (err error) {
|
||||
func AddBillIncome(txDB orm.TxOrmer, billID int64, billType, incomePrice, jobID int) (err error) {
|
||||
billIncome := &model.BillIncome{
|
||||
BillID: billID,
|
||||
Type: billType,
|
||||
@@ -15,10 +16,10 @@ func AddBillIncome(db *dao.DaoDB, billID int64, billType, incomePrice, jobID int
|
||||
JobID: jobID,
|
||||
}
|
||||
dao.WrapAddIDCULEntity(billIncome, jxcontext.AdminCtx.GetUserName())
|
||||
return dao.CreateEntity(db, billIncome)
|
||||
return dao.CreateEntityTx(txDB, billIncome)
|
||||
}
|
||||
|
||||
func AddBillExpend(db *dao.DaoDB, billID int64, billType, expendPrice, jobID int) (err error) {
|
||||
func AddBillExpend(txDB orm.TxOrmer, billID int64, billType, expendPrice, jobID int) (err error) {
|
||||
billExpend := &model.BillExpend{
|
||||
BillID: billID,
|
||||
Type: billType,
|
||||
@@ -26,41 +27,41 @@ func AddBillExpend(db *dao.DaoDB, billID int64, billType, expendPrice, jobID int
|
||||
JobID: jobID,
|
||||
}
|
||||
dao.WrapAddIDCULEntity(billExpend, jxcontext.AdminCtx.GetUserName())
|
||||
return dao.CreateEntity(db, billExpend)
|
||||
return dao.CreateEntityTx(txDB, billExpend)
|
||||
}
|
||||
func AddUserBill(db *dao.DaoDB, billID int64, userID string) (err error) {
|
||||
func AddUserBill(txDB orm.TxOrmer, billID int64, userID string) (err error) {
|
||||
userBillInsert := &model.UserBill{
|
||||
BillID: billID,
|
||||
UserID: userID,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userBillInsert, jxcontext.AdminCtx.GetUserName())
|
||||
return dao.CreateEntity(db, userBillInsert)
|
||||
return dao.CreateEntityTx(txDB, userBillInsert)
|
||||
}
|
||||
|
||||
func GetUserBillDetail(ctx *jxcontext.Context, userID, fromTime, toTime string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
|
||||
return dao.GetUserBillDetail(dao.GetDB(), userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), pageSize, offset)
|
||||
}
|
||||
|
||||
func AddExpendUpdateAccount(db *dao.DaoDB, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
||||
func AddExpendUpdateAccount(txDB orm.TxOrmer, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
||||
//1、账户支出增加一条记录
|
||||
err = AddBillExpend(db, userBill.BillID, billType, price, jobID)
|
||||
err = AddBillExpend(txDB, userBill.BillID, billType, price, jobID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//2、账户表余额减少相应值
|
||||
userBill.AccountBalance -= price
|
||||
_, err = dao.UpdateEntity(db, userBill, "AccountBalance")
|
||||
_, err = dao.UpdateEntityTx(txDB, userBill, "AccountBalance")
|
||||
return err
|
||||
}
|
||||
|
||||
func AddIncomeUpdateAccount(db *dao.DaoDB, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
||||
func AddIncomeUpdateAccount(txDB orm.TxOrmer, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
||||
//2、账户收入增加一条记录
|
||||
err = AddBillIncome(db, userBill.BillID, billType, price, jobID)
|
||||
err = AddBillIncome(txDB, userBill.BillID, billType, price, jobID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//1、根据任务剩余数量退钱到账户余额中
|
||||
userBill.AccountBalance += price
|
||||
_, err = dao.UpdateEntity(db, userBill, "AccountBalance")
|
||||
_, err = dao.UpdateEntityTx(txDB, userBill, "AccountBalance")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -263,6 +263,18 @@ func DeleteEntity(db *DaoDB, item interface{}, cols ...string) (num int64, err e
|
||||
return num, err
|
||||
}
|
||||
|
||||
func DeleteEntityTx(txDB orm.TxOrmer, item interface{}, cols ...string) (num int64, err error) {
|
||||
if txDB == nil {
|
||||
return
|
||||
}
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
num, err = txDB.Delete(item, cols...)
|
||||
//num, err = db.Db.Delete(item, cols...)
|
||||
return err
|
||||
}, reflect.TypeOf(item).Name())
|
||||
return num, err
|
||||
}
|
||||
|
||||
func ExecuteSQL(db *DaoDB, sql string, params ...interface{}) (num int64, err error) {
|
||||
if db == nil {
|
||||
db = GetDB()
|
||||
|
||||
Reference in New Issue
Block a user