rptin
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user