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.CustomerPrintNum) } if param.PrintSetting != "" { sql += ` ,print_setting = ? ` param2 = append(param2, param.CustomerPrintNum) } 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 }