Files
jx-print/dao/print_setting.go
邹宗楠 22d9045562 1
2022-10-21 11:58:06 +08:00

99 lines
2.9 KiB
Go

package dao
import (
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-print/globals"
settingModel "git.rosy.net.cn/jx-print/model/app_model"
"github.com/jmoiron/sqlx"
)
type PrintSettingDao struct{}
var PrintSettingInfoDao = new(PrintSettingDao)
// QueryPrintNoIsExit 查询打印机绑定设置是否存在
func (p *PrintSettingDao) QueryPrintNoIsExit(printNo string) (bool, error) {
sql := `SELECT COUNT(print_no) count FROM print_setting WHERE deleted_at = ? and print_no = ?`
//查总数
count := 0
row := globals.GetDB().DB.QueryRow(sql, []interface{}{utils.DefaultTimeValue, printNo}...)
if err := row.Scan(&count); err != nil {
return false, err
}
if count != 0 {
return false, nil
}
return true, nil
}
// InsertPrintSetting 插入打印机设置
func (p *PrintSettingDao) InsertPrintSetting(tx *sqlx.Tx, param *settingModel.PrintSetting) error {
return InsertTx(tx, param)
}
// UpdatePrinterSetting 修改打印机配置
func (p *PrintSettingDao) UpdatePrinterSetting(param *settingModel.UpdatePrintSetting) error {
db := globals.GetDB()
sql := `UPDATE print_setting SET `
var param2 []interface{}
if param.CallNameSetting != 0 {
sql += ` call_name_setting = ? `
param2 = append(param2, param.CallNameSetting)
}
if param.BusinessOffLineVoice != 0 {
sql += ` ,business_off_line_voice = ? `
param2 = append(param2, param.BusinessOffLineVoice)
}
if param.BalanceNotEnoughVoice != 0 {
sql += ` ,balance_not_enough_voice = ? `
param2 = append(param2, param.BalanceNotEnoughVoice)
}
if param.EveryDayGreetVoice != 0 {
sql += ` ,every_day_greet_voice = ? `
param2 = append(param2, param.EveryDayGreetVoice)
}
if param.BusinessPrintNum != 0 {
sql += ` ,business_print_num = ? `
param2 = append(param2, param.BusinessPrintNum)
}
if param.CustomerPrintNum != 0 {
sql += ` ,customer_print_num = ? `
param2 = append(param2, param.CustomerPrintNum)
}
if param.VoiceSetting != "" {
sql += ` ,voice_setting = ? `
param2 = append(param2, param.VoiceSetting)
}
if param.PrintSetting != "" {
sql += ` ,print_setting = ? `
param2 = append(param2, param.PrintSetting)
}
sql += ` WHERE print_no = ? `
param2 = append(param2, param.PrintNo)
_, err := db.Exec(sql, param2...)
return err
}
// DeleteSetting 删除打印机设置
func (p *PrintSettingDao) DeleteSetting(printNo string) error {
_, err := globals.GetDB().Exec(`DELETE FROM print_setting WHERE print_no = ?`, []interface{}{printNo}...)
return err
}
// QueryPrintSetting 查询打印机设置
func (p *PrintSettingDao) QueryPrintSetting(printNo string) (*settingModel.PrintSetting, error) {
result := make([]*settingModel.PrintSetting, 0, 0)
sql := `SELECT * FROM print_setting WHERE print_no = ? AND deleted_at = ?`
if err := globals.GetDB().Select(&result, sql, []interface{}{printNo, utils.DefaultTimeValue}...); err != nil {
return nil, err
}
if len(result) != 1 {
return nil, fmt.Errorf("打印机设置查询错误,联系管理员")
}
return result[0], nil
}