68 lines
2.3 KiB
Go
68 lines
2.3 KiB
Go
package financial
|
|
|
|
import (
|
|
"git.rosy.net.cn/baseapi/utils"
|
|
"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(txDB orm.TxOrmer, billID int64, billType, incomePrice, jobID int) (err error) {
|
|
billIncome := &model.BillIncome{
|
|
BillID: billID,
|
|
Type: billType,
|
|
IncomePrice: incomePrice,
|
|
JobID: jobID,
|
|
}
|
|
dao.WrapAddIDCULEntity(billIncome, jxcontext.AdminCtx.GetUserName())
|
|
return dao.CreateEntityTx(txDB, billIncome)
|
|
}
|
|
|
|
func AddBillExpend(txDB orm.TxOrmer, billID int64, billType, expendPrice, jobID int) (err error) {
|
|
billExpend := &model.BillExpend{
|
|
BillID: billID,
|
|
Type: billType,
|
|
ExpendPrice: expendPrice,
|
|
JobID: jobID,
|
|
}
|
|
dao.WrapAddIDCULEntity(billExpend, jxcontext.AdminCtx.GetUserName())
|
|
return dao.CreateEntityTx(txDB, billExpend)
|
|
}
|
|
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.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(txDB orm.TxOrmer, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
|
//1、账户支出增加一条记录
|
|
err = AddBillExpend(txDB, userBill.BillID, billType, price, jobID)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
//2、账户表余额减少相应值
|
|
userBill.AccountBalance -= price
|
|
_, err = dao.UpdateEntityTx(txDB, userBill, "AccountBalance")
|
|
return err
|
|
}
|
|
|
|
func AddIncomeUpdateAccount(txDB orm.TxOrmer, userBill *model.UserBill, billType, price, jobID int) (err error) {
|
|
//2、账户收入增加一条记录
|
|
err = AddBillIncome(txDB, userBill.BillID, billType, price, jobID)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
//1、根据任务剩余数量退钱到账户余额中
|
|
userBill.AccountBalance += price
|
|
_, err = dao.UpdateEntityTx(txDB, userBill, "AccountBalance")
|
|
return err
|
|
}
|