From b30d35b72bce8577a9a67d423bd405d0ac47cb1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 24 Aug 2022 11:24:54 +0800 Subject: [PATCH] 1 --- business/dao/print_activation.go | 19 +++++++++++++++++++ business/dao/print_bind_store.go | 12 ++++++++---- business/jxstore/cms/print.go | 16 ++++++++++++++-- 3 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 business/dao/print_activation.go diff --git a/business/dao/print_activation.go b/business/dao/print_activation.go new file mode 100644 index 000000000..27034ed75 --- /dev/null +++ b/business/dao/print_activation.go @@ -0,0 +1,19 @@ +package dao + +import ( + "git.rosy.net.cn/jx-callback/business/model" +) + +func CheckHeard(printNo string) (bool, error) { + var data *model.PrintActivation + err := GetRow(GetDB(), &data, `SELECT * FROM printer_activation WHERE print_no = ?`, []interface{}{printNo}...) + if err != nil { + return false, err + } + + if data == nil { + return false, nil + } + + return true, nil +} diff --git a/business/dao/print_bind_store.go b/business/dao/print_bind_store.go index dd5acd0d8..ae638f7bc 100644 --- a/business/dao/print_bind_store.go +++ b/business/dao/print_bind_store.go @@ -15,7 +15,7 @@ func QueryPrintBindStore(printNo string) ([]*model.PrintBindStore, error) { } // BindStoreList 绑定门店信息 -func BindStoreList(req *model.AddPrinterParam) error { +func BindStoreList(req *model.AddPrinterParam, userId string) error { param := &model.PrintBindStore{ CreatedAt: time.Now(), UpdatedAt: time.Now(), @@ -23,9 +23,13 @@ func BindStoreList(req *model.AddPrinterParam) error { StoreName: req.Name, StoreVendor: 9, // 绑定平台,全平台 PrintNo: req.PrintNo, - UserId: "system", // 所属用户 - StoreStatus: 1, // 门店开启 - BindStatus: 1, // 绑定状态 + StoreStatus: 1, // 门店开启 + BindStatus: 1, // 绑定状态 + } + if userId != "" { + param.UserId = userId + } else { + param.UserId = "system" } return CreateEntity(GetDB(), param) } diff --git a/business/jxstore/cms/print.go b/business/jxstore/cms/print.go index 9a79ef7ba..1c0ec6e27 100644 --- a/business/jxstore/cms/print.go +++ b/business/jxstore/cms/print.go @@ -62,13 +62,15 @@ func AddPrinter(appID int, printers []*model.AddPrinterParam) (err error) { continue } have := false + userId := "" for _, bsl := range bindStoreList { if bsl.StoreID == v.StoreId { have = true + userId = bsl.UserId } } if !have { - if err := dao.BindStoreList(printers[0]); err != nil { + if err := dao.BindStoreList(printers[0], userId); err != nil { errs = append(errs, fmt.Errorf("BindStoreList err : %v ", err)) continue } @@ -81,6 +83,16 @@ func AddPrinter(appID int, printers []*model.AddPrinterParam) (err error) { errs = append(errs, err) continue } + // 检查心跳 + exits, err := dao.CheckHeard(v.PrintNo) + if err != nil { + errs = append(errs, fmt.Errorf("CheckHeard err : %v ", err)) + continue + } + if !exits { + errs = append(errs, fmt.Errorf("打印机未激活,请激活后在绑定")) + continue + } printer := &model.Printer{ AppID: appID, @@ -159,7 +171,7 @@ func InitPrint(printer *model.Printer, printParam *model.AddPrinterParam) error } // 初始化绑定信息 - if err := dao.BindStoreList(printParam); err != nil { + if err := dao.BindStoreList(printParam, ""); err != nil { txDb.Rollback() return err }