Files
jx-print/dao/print_bill.go
邹宗楠 9e3e72dfe1 1
2022-10-19 17:30:12 +08:00

61 lines
1.7 KiB
Go

package dao
import (
"git.rosy.net.cn/jx-print/globals"
"git.rosy.net.cn/jx-print/model/app_model"
"github.com/jmoiron/sqlx"
)
// QueryPrintBill 查询打印机账户是否存在
func QueryPrintBill(userId, printNo string) ([]*app_model.PrintBill, error) {
sql := `SELECT * FROM print_bill WHERE 1 = 1 `
var param []interface{}
if userId != "" {
sql += ` AND user_id = ? `
param = append(param, userId)
}
if printNo != "" {
sql += ` AND print_no = ? `
param = append(param, printNo)
}
var result []*app_model.PrintBill
if err := globals.GetDB().Select(&result, sql, param...); err != nil {
return nil, err
}
return result, nil
}
// InitPrintBill 初始化打印机账户
func InitPrintBill(txDB *sqlx.Tx, param *app_model.PrintBill) error {
if err := InsertTx(txDB, param); err != nil {
return err
}
return nil
}
// AddMoney 添加充值金额
func AddMoney(db *sqlx.Tx, printNo string, money int64) error {
sql := `UPDATE print_bill SET print_balance = print_balance + ? WHERE print_no = ?`
if _, err := db.Exec(sql, []interface{}{printNo, money}...); err != nil {
return err
}
return nil
}
// UpdateBillToUser 当打印机账户从菜市绑定时,未分配用户,用户再使用小程序绑定时,将打印机分配给用户!
func UpdateBillToUser(db *sqlx.Tx, param *app_model.PrintBill) error {
sql := `UPDATE print_bill SET user_id = ? WHERE print_no = ?`
_, err := globals.GetTxDb().Exec(sql, []string{param.UserId, param.PrintNo})
return err
}
// UpdatePrintToSystem 修改打印机账户所属用户
func UpdatePrintToSystem(db *sqlx.Tx, printNo string) error {
sql := `UPDATE print_bill SET user_id = ? WHERE print_no = ?`
if _, err := db.Exec(sql, []interface{}{"system", printNo}...); err != nil {
return err
}
return nil
}