diff --git a/business/jxstore/cms/print.go b/business/jxstore/cms/print.go index 0ae704ff9..35a689ef8 100644 --- a/business/jxstore/cms/print.go +++ b/business/jxstore/cms/print.go @@ -119,7 +119,7 @@ func DelPrinter(appID int, printNos []string) (err error) { return err } -func UpdatePrinter(appID int, printNo, name, sim, sound string, volume int) (err error) { +func UpdatePrinter(appID int, printNo string, name, sim, sound *string, volume *int) (err error) { var ( db = dao.GetDB() fields []string @@ -128,20 +128,20 @@ func UpdatePrinter(appID int, printNo, name, sim, sound string, volume int) (err if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 { return fmt.Errorf("该应用下未找到该打印机!print_no : %v", printNo) } else { - if printers[0].Name != name { - printers[0].Name = name + if printers[0].Name != *name { + printers[0].Name = *name fields = append(fields, "name") } - if printers[0].SIM != sim { - printers[0].SIM = sim + if printers[0].SIM != *sim { + printers[0].SIM = *sim fields = append(fields, "sim") } - if printers[0].Sound != sound { - printers[0].Sound = sound + if printers[0].Sound != *sound { + printers[0].Sound = *sound fields = append(fields, "sound") } - if printers[0].Volume != volume { - printers[0].Volume = volume + if printers[0].Volume != *volume { + printers[0].Volume = *volume fields = append(fields, "volume") } if _, err = dao.UpdateEntity(db, printers[0], fields...); err != nil { diff --git a/controllers/api_controller.go b/controllers/api_controller.go index a00b7f7d3..7879d3860 100644 --- a/controllers/api_controller.go +++ b/controllers/api_controller.go @@ -247,29 +247,38 @@ func (c *ApiController) DelPrinter(dataMap map[string]interface{}) (data, errCod //修改打印机信息 func (c *ApiController) UpdatePrinter(dataMap map[string]interface{}) (data, errCode string, err error) { var ( - printNo, name, sim, sound string - appID, volume int - ok bool + printNo string + name, sim, sound *string + volume *int + appID int ) globals.SugarLogger.Debugf("Begin API UpdatePrinter data: [%v]", utils.Format4Output(dataMap, false)) - if _, ok = dataMap[keyPrintNo].(string); !ok { + if _, ok := dataMap[keyPrintNo].(string); !ok { return buildParamErrCodeAndErr(keyPrintNo) } else { if printNo = dataMap[keyPrintNo].(string); printNo == "" { return buildParamErrCodeAndErr(keyPrintNo) } } - if name, ok = dataMap[keyName].(string); !ok { - name = "" + if nameStr, ok := dataMap[keyName].(string); !ok { + name = nil + } else { + name = &nameStr } - if sim, ok = dataMap["sim"].(string); !ok { - sim = "" + if simStr, ok := dataMap["sim"].(string); !ok { + sim = nil + } else { + sim = &simStr } - if sound, ok = dataMap["sound"].(string); !ok { - sound = "" + if soundStr, ok := dataMap["sound"].(string); !ok { + sound = nil + } else { + sound = &soundStr } - if volume, ok = dataMap["volume"].(int); !ok { - volume = 0 + if volumeInt, ok := dataMap["volume"].(int); !ok { + volume = nil + } else { + volume = &volumeInt } appID = utils.Str2Int(dataMap[keyAppID].(string)) if err = cms.UpdatePrinter(appID, printNo, name, sim, sound, volume); err != nil {