This commit is contained in:
suyl
2021-07-13 16:31:46 +08:00
parent 41f36bd16c
commit cf3d09b39a
2 changed files with 72 additions and 33 deletions

View File

@@ -54,25 +54,11 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
errs = append(errs, fmt.Errorf("此应用已经绑定了该打印机print_no : %v ", v.PrintNo)) errs = append(errs, fmt.Errorf("此应用已经绑定了该打印机print_no : %v ", v.PrintNo))
continue continue
} }
//验证手机号 //验证
if v.SIM != "" { if err = checkPrinterInfo(v.PrintNo, v.Name, v.Sound, v.SIM, v.Volume); err != nil {
if regexpMobile.FindString(v.SIM) == "" { errs = append(errs, err)
errs = append(errs, fmt.Errorf("请输入正确的sim卡号码print_no : %v ", v.PrintNo))
continue continue
} }
}
if v.Volume != 0 {
if v.Volume < 0 || v.Volume > 5 {
errs = append(errs, fmt.Errorf("请输入正确的音量print_no : %v ", v.PrintNo))
continue
}
}
if v.Sound != "" {
if soundMap[v.Sound] == "" {
errs = append(errs, fmt.Errorf("请输入正确的提示音print_no : %v ", v.PrintNo))
continue
}
}
printer := &model.Printer{ printer := &model.Printer{
AppID: appID, AppID: appID,
PrintNo: v.PrintNo, PrintNo: v.PrintNo,
@@ -96,6 +82,30 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
return err return err
} }
func checkPrinterInfo(printNo, name, sound, sim string, volume int) (err error) {
if sim != "" {
if regexpMobile.FindString(sim) == "" {
return fmt.Errorf("请输入正确的sim卡号码print_no : %v ", printNo)
}
}
if volume != 0 {
if volume < 0 || volume > 5 {
return fmt.Errorf("请输入正确的音量print_no : %v ", printNo)
}
}
if sound != "" {
if soundMap[sound] == "" {
return fmt.Errorf("请输入正确的提示音print_no : %v ", printNo)
}
}
if name != "" {
if len(name) > 20 {
return fmt.Errorf("打印机备注不能超过20个字符print_no : %v ", printNo)
}
}
return err
}
func DelPrinter(appID int, printNos []string) (err error) { func DelPrinter(appID int, printNos []string) (err error) {
var ( var (
db = dao.GetDB() db = dao.GetDB()
@@ -128,22 +138,48 @@ func UpdatePrinter(appID int, printNo string, name, sim, sound *string, volume *
if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 { if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 {
return fmt.Errorf("该应用下未找到该打印机print_no : %v", printNo) return fmt.Errorf("该应用下未找到该打印机print_no : %v", printNo)
} else { } else {
if name != nil && printers[0].Name != *name { if name != nil {
if *name != "" {
if len(*name) > 20 {
return fmt.Errorf("打印机备注不能超过20个字符print_no : %v ", printNo)
}
}
if printers[0].Name != *name {
printers[0].Name = *name printers[0].Name = *name
fields = append(fields, "name") fields = append(fields, "name")
} }
if sim != nil && printers[0].SIM != *sim { }
if sim != nil {
if *sim != "" {
if regexpMobile.FindString(*sim) == "" {
return fmt.Errorf("请输入正确的sim卡号码print_no : %v ", printNo)
}
}
if printers[0].SIM != *sim {
printers[0].SIM = *sim printers[0].SIM = *sim
fields = append(fields, "sim") fields = append(fields, "sim")
} }
if sound != nil && printers[0].Sound != *sound { }
if sound != nil {
if soundMap[*sound] == "" {
return fmt.Errorf("请输入正确的提示音print_no : %v ", printNo)
}
if printers[0].Sound != *sound {
printers[0].Sound = *sound printers[0].Sound = *sound
fields = append(fields, "sound") fields = append(fields, "sound")
} }
if volume != nil && printers[0].Volume != *volume { }
if volume != nil {
if *volume != 0 {
if *volume < 0 || *volume > 5 {
return fmt.Errorf("请输入正确的音量print_no : %v ", printNo)
}
}
if printers[0].Volume != *volume {
printers[0].Volume = *volume printers[0].Volume = *volume
fields = append(fields, "volume") fields = append(fields, "volume")
} }
}
if _, err = dao.UpdateEntity(db, printers[0], fields...); err != nil { if _, err = dao.UpdateEntity(db, printers[0], fields...); err != nil {
return err return err
} }

View File

@@ -38,6 +38,9 @@ const (
keyOrderNo = "order_no" keyOrderNo = "order_no"
keyContent = "content" keyContent = "content"
keyMsgID = "msg_id" keyMsgID = "msg_id"
keySound = "sound"
keyVolume = "volume"
keySim = "sim"
) )
var ( var (
@@ -265,17 +268,17 @@ func (c *ApiController) UpdatePrinter(dataMap map[string]interface{}) (data, err
} else { } else {
name = &nameStr name = &nameStr
} }
if simStr, ok := dataMap["sim"].(string); !ok { if simStr, ok := dataMap[keySim].(string); !ok {
sim = nil sim = nil
} else { } else {
sim = &simStr sim = &simStr
} }
if soundStr, ok := dataMap["sound"].(string); !ok { if soundStr, ok := dataMap[keySound].(string); !ok {
sound = nil sound = nil
} else { } else {
sound = &soundStr sound = &soundStr
} }
if volumeInt, ok := dataMap["volume"].(int); !ok { if volumeInt, ok := dataMap[keyVolume].(int); !ok {
volume = nil volume = nil
} else { } else {
volume = &volumeInt volume = &volumeInt