package app_server import ( "fmt" "git.rosy.net.cn/jx-print/dao" "git.rosy.net.cn/jx-print/model/app_model" "github.com/jmoiron/sqlx" ) type PrintBill struct { } var PrintBillServer = new(PrintBill) // InitPPrintBill 初始化打印机账户 func (p *PrintBill) InitPPrintBill(tx *sqlx.Tx, bill *app_model.PrintBill) error { // 查询打印机是否有账户,没有添加 result, err := dao.QueryPrintBill(tx, "", bill.PrintNo) if err != nil { return err } if len(result) == 0 { // 无打印机账户信息,初始化打印机账户 if err := dao.InitPrintBill(tx, bill); err != nil { return err } } else if len(result) == 1 /*&& result[0].UserId == "system"*/ { // 有打印机账户属于系统 if err := dao.UpdateBillToUser(tx, bill); err != nil { return err } } else { // 当前情况是打印机被删除过,重新添加 return fmt.Errorf("打印机账户余额数据不唯一,联系管理员") } return nil } // QueryPrintBill 查询打印机余额 func (p *PrintBill) QueryPrintBill(userId, printNo string) (*app_model.PrintBill, error) { result, err := dao.QueryPrintBill(nil, userId, printNo) if err != nil { return nil, err } if len(result) != 1 { return nil, fmt.Errorf("打印机账户异常,不唯一或者未添加,请联系管理员") } return result[0], nil }