Files
jx-print/dao/print_setting.go
邹宗楠 7d874eca22 1
2022-08-11 13:49:12 +08:00

113 lines
3.1 KiB
Go

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
}