check
This commit is contained in:
@@ -54,24 +54,10 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
||||
errs = append(errs, fmt.Errorf("此应用已经绑定了该打印机!print_no : %v ", v.PrintNo))
|
||||
continue
|
||||
}
|
||||
//验证手机号
|
||||
if v.SIM != "" {
|
||||
if regexpMobile.FindString(v.SIM) == "" {
|
||||
errs = append(errs, fmt.Errorf("请输入正确的sim卡号码!print_no : %v ", v.PrintNo))
|
||||
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
|
||||
}
|
||||
//验证
|
||||
if err = checkPrinterInfo(v.PrintNo, v.Name, v.Sound, v.SIM, v.Volume); err != nil {
|
||||
errs = append(errs, err)
|
||||
continue
|
||||
}
|
||||
printer := &model.Printer{
|
||||
AppID: appID,
|
||||
@@ -96,6 +82,30 @@ func AddPrinter(appID int, printers []*model.Printer) (err error) {
|
||||
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) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
@@ -128,21 +138,47 @@ func UpdatePrinter(appID int, printNo string, name, sim, sound *string, volume *
|
||||
if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 {
|
||||
return fmt.Errorf("该应用下未找到该打印机!print_no : %v", printNo)
|
||||
} else {
|
||||
if name != nil && printers[0].Name != *name {
|
||||
printers[0].Name = *name
|
||||
fields = append(fields, "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
|
||||
fields = append(fields, "name")
|
||||
}
|
||||
}
|
||||
if sim != nil && printers[0].SIM != *sim {
|
||||
printers[0].SIM = *sim
|
||||
fields = append(fields, "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
|
||||
fields = append(fields, "sim")
|
||||
}
|
||||
}
|
||||
if sound != nil && printers[0].Sound != *sound {
|
||||
printers[0].Sound = *sound
|
||||
fields = append(fields, "sound")
|
||||
if sound != nil {
|
||||
if soundMap[*sound] == "" {
|
||||
return fmt.Errorf("请输入正确的提示音!print_no : %v ", printNo)
|
||||
}
|
||||
if printers[0].Sound != *sound {
|
||||
printers[0].Sound = *sound
|
||||
fields = append(fields, "sound")
|
||||
}
|
||||
}
|
||||
if volume != nil && printers[0].Volume != *volume {
|
||||
printers[0].Volume = *volume
|
||||
fields = append(fields, "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
|
||||
fields = append(fields, "volume")
|
||||
}
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, printers[0], fields...); err != nil {
|
||||
return err
|
||||
|
||||
@@ -38,6 +38,9 @@ const (
|
||||
keyOrderNo = "order_no"
|
||||
keyContent = "content"
|
||||
keyMsgID = "msg_id"
|
||||
keySound = "sound"
|
||||
keyVolume = "volume"
|
||||
keySim = "sim"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -265,17 +268,17 @@ func (c *ApiController) UpdatePrinter(dataMap map[string]interface{}) (data, err
|
||||
} else {
|
||||
name = &nameStr
|
||||
}
|
||||
if simStr, ok := dataMap["sim"].(string); !ok {
|
||||
if simStr, ok := dataMap[keySim].(string); !ok {
|
||||
sim = nil
|
||||
} else {
|
||||
sim = &simStr
|
||||
}
|
||||
if soundStr, ok := dataMap["sound"].(string); !ok {
|
||||
if soundStr, ok := dataMap[keySound].(string); !ok {
|
||||
sound = nil
|
||||
} else {
|
||||
sound = &soundStr
|
||||
}
|
||||
if volumeInt, ok := dataMap["volume"].(int); !ok {
|
||||
if volumeInt, ok := dataMap[keyVolume].(int); !ok {
|
||||
volume = nil
|
||||
} else {
|
||||
volume = &volumeInt
|
||||
|
||||
Reference in New Issue
Block a user