package dao import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-print/globals" settingModel "git.rosy.net.cn/jx-print/model/app_model" ) 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(param *settingModel.PrintSetting) error { return Insert(globals.GetDB(), 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.SystemVoice != 0 { sql += ` system_voice = ? ` param2 = append(param2, param.SystemVoice) } if param.PrintVoiceSetting != "" { sql += ` print_voice_setting = ? ` param2 = append(param2, param.PrintVoiceSetting) } if param.OrderVoiceSetting != "" { sql += ` order_voice_setting = ? ` param2 = append(param2, param.OrderVoiceSetting) } if param.RiderVoiceSetting != "" { sql += ` rider_voice_setting = ? ` param2 = append(param2, param.RiderVoiceSetting) } if param.CustomerVoiceSetting != "" { sql += ` customer_voice_setting = ? ` param2 = append(param2, param.CustomerVoiceSetting) } if param.PickingSetting != "" { sql += ` picking_setting = ? ` param2 = append(param2, param.PickingSetting) } sql += ` WHERE print_no = ? ` _, 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 in (?)`, []interface{}{printNo}...) return err } // GetUserPrintSetting 获取用户打印机设置 func (p *PrintSettingDao) GetUserPrintSetting(userId, printNo string) { sql := ` SELECT s.* FROM printer p INNER JOIN print_setting s ON s.print_no = p.print_no WHERE p.user_id = ? AND p.print_no = ? ` param := []interface{}{userId, printNo} var setting *settingModel.PrintSetting if err := globals.GetDB().QueryRow(sql, param...).Scan(&setting); err != nil { return } if setting == nil { return } //json.Unmarshal([]byte(setting.)) } // QueryPrintSetting 查询打印机设置 func (p *PrintSettingDao) QueryPrintSetting(printNo string) (*settingModel.PrintSetting, error) { var result *settingModel.PrintSetting if err := globals.GetDB().QueryRow(`SELECT * FROM print_setting WHERE print_no = ? AND deleted_at = ?`, printNo, utils.DefaultTimeValue).Scan(&result); err != nil { return nil, err } return result, nil }