This commit is contained in:
suyl
2021-07-08 17:56:55 +08:00
parent a7315eeb12
commit c20d156e19
2 changed files with 62 additions and 47 deletions

View File

@@ -16,38 +16,44 @@ type PrintInfo struct {
AppID int
}
func AddPrinter(appID int, printNo, printKey, name string) (err error) {
func AddPrinter(appID int, printers []*model.Printer) (err error) {
var (
db = dao.GetDB()
)
//看有没有重复的
if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) > 0 {
return fmt.Errorf("此应用已经绑定了该打印机print_no : %v", printNo)
if len(printers) > 50 {
return fmt.Errorf("一次最多只能绑定50台")
}
printer := &model.Printer{
AppID: appID,
PrintNo: printNo,
PrintKey: printKey,
Name: name,
Status: model.PrinterStatusOffline,
}
dao.WrapAddIDCULDEntity(printer, "")
if err = dao.CreateEntity(db, printer); err != nil {
return err
for _, v := range printers {
if printers2, _ := dao.GetPrinters(db, appID, v.PrintNo); len(printers2) > 0 {
return fmt.Errorf("此应用已经绑定了该打印机print_no : %v", v.PrintNo)
}
printer := &model.Printer{
AppID: appID,
PrintNo: v.PrintNo,
Name: v.Name,
SIM: v.SIM,
Status: model.PrinterStatusOffline,
}
dao.WrapAddIDCULDEntity(printer, "")
if err = dao.CreateEntity(db, printer); err != nil {
return err
}
}
return err
}
func DelPrinter(appID int, printNo string) (err error) {
func DelPrinter(appID int, printNos []string) (err error) {
var (
db = dao.GetDB()
)
//看有没有
if printers, _ := dao.GetPrinters(db, appID, printNo); len(printers) == 0 {
return fmt.Errorf("该应用下未找到该打印机print_no : %v", printNo)
} else {
if _, err = dao.DeleteEntity(db, printers[0]); err != nil {
return err
for _, v := range printNos {
if printers, _ := dao.GetPrinters(db, appID, v); len(printers) == 0 {
return fmt.Errorf("该应用下未找到该打印机print_no : %v", v)
} else {
printers[0].DeletedAt = time.Now()
if _, err = dao.UpdateEntity(db, printers[0], "DeletedAt"); err != nil {
return err
}
}
}
return err

View File

@@ -188,7 +188,7 @@ func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCod
var (
printers []*model.Printer
printersStr string
//appID int
appID int
)
globals.SugarLogger.Debugf("Begin API AddPrinter data: [%v]", utils.Format4Output(dataMap, false))
if _, ok := dataMap["prints"].(string); !ok {
@@ -201,34 +201,43 @@ func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCod
if err = utils.UnmarshalUseNumber([]byte(printersStr), &printers); err != nil {
return buildParamErrCodeAndErr("prints")
}
//for _, v := range printers {
// if v.PrintNo {
//
// }
//}
//appID = utils.Str2Int(dataMap[keyAppID].(string))
//if err = cms.AddPrinter(appID, printers); err != nil {
// return "", model.ErrCodeGeneralFailed, err
//}
return "", errCode, err
}
//删除打印机绑定,暂不支持批量
func (c *ApiController) DelPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
var (
printNo string
appID int
)
globals.SugarLogger.Debugf("Begin API DelPrinter data: [%v]", utils.Format4Output(dataMap, false))
if _, ok := dataMap[keyPrintNo].(string); !ok {
return buildParamErrCodeAndErr(keyPrintNo)
} else {
if printNo = dataMap[keyPrintNo].(string); printNo == "" {
return buildParamErrCodeAndErr(keyPrintNo)
for _, v := range printers {
if v.PrintNo == "" {
return buildParamErrCodeAndErr("prints")
}
}
appID = utils.Str2Int(dataMap[keyAppID].(string))
if err = cms.DelPrinter(appID, printNo); err != nil {
if err = cms.AddPrinter(appID, printers); err != nil {
return "", model.ErrCodeGeneralFailed, err
}
return "", errCode, err
}
//删除打印机绑定
func (c *ApiController) DelPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
var (
printNos []string
printNosStr string
appID int
)
globals.SugarLogger.Debugf("Begin API DelPrinter data: [%v]", utils.Format4Output(dataMap, false))
if _, ok := dataMap["print_nos"].(string); !ok {
return buildParamErrCodeAndErr("print_nos")
} else {
if printNosStr = dataMap["print_nos"].(string); printNosStr == "" {
return buildParamErrCodeAndErr("print_nos")
}
}
if err = utils.UnmarshalUseNumber([]byte(printNosStr), &printNos); err != nil {
return buildParamErrCodeAndErr("print_nos")
}
for _, v := range printNos {
if v == "" {
return buildParamErrCodeAndErr("print_nos")
}
}
appID = utils.Str2Int(dataMap[keyAppID].(string))
if err = cms.DelPrinter(appID, printNos); err != nil {
return "", model.ErrCodeGeneralFailed, err
}
return "", errCode, err