diff --git a/business/jxstore/cms/api_print.go b/business/jxstore/cms/api_print.go index f8e23a51a..550daa4e9 100644 --- a/business/jxstore/cms/api_print.go +++ b/business/jxstore/cms/api_print.go @@ -268,9 +268,9 @@ func DelPrinter(appID int, printNos []string, storeId string) (err error) { return err } -func QueryPrintList(printNo, printKey string, status, isOnline int, page, size int) ([]*model.Printer, error) { - prints, err := dao.QueryPrintList(dao.GetDB(), printNo, printKey, status, isOnline, page, size) - return prints, err +func QueryPrintList(printNo, printKey string, status, isOnline int, page, size int) ([]*model.Printer, int, error) { + prints, count, err := dao.QueryPrintList(dao.GetDB(), printNo, printKey, status, isOnline, page, size) + return prints, count, err } func UpdatePrinter(appID int, printNo string, name, sim, sound *string, volume *int) (err error) { var ( diff --git a/business/model/dao/dao_print.go b/business/model/dao/dao_print.go index 27ac423fe..2b584c593 100644 --- a/business/model/dao/dao_print.go +++ b/business/model/dao/dao_print.go @@ -125,7 +125,7 @@ func DeletePrintMsg() { return } -func QueryPrintList(db *DaoDB, printNo, printKey string, status, isOnline int, page, size int) (print []*model.Printer, err error) { +func QueryPrintList(db *DaoDB, printNo, printKey string, status, isOnline int, page, size int) (print []*model.Printer, count int, err error) { sql := ` SELECT * FROM printer WHERE 1=1 ` @@ -151,6 +151,18 @@ func QueryPrintList(db *DaoDB, printNo, printKey string, status, isOnline int, p sql += ` ORDER BY status desc,is_online desc LIMIT ? OFFSET ? ` sqlParams = append(sqlParams, size, page) - err = GetRows(db, &print, sql, sqlParams...) - return print, err + tx, _ := Begin(db) + defer func() { + if r := recover(); r != nil { + Rollback(db, tx) + } + }() + defer Commit(db, tx) + + if err = GetRowsTx(tx, &print, sql, sqlParams...); err != nil { + Rollback(db, tx) + return nil, 0, err + } + count = GetLastTotalRowCountTx(tx) + return print, count, err } diff --git a/controllers/api_controller.go b/controllers/api_controller.go index 050d24f33..f3860e252 100644 --- a/controllers/api_controller.go +++ b/controllers/api_controller.go @@ -221,7 +221,7 @@ func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCod type QueryPrintList struct { } -func (c *ApiController) QueryPrintList(dataMap map[string]interface{}) (data []*model.Printer, errCode string, err error) { +func (c *ApiController) QueryPrintList(dataMap map[string]interface{}) (data map[string]interface{}, errCode string, err error) { var ( printNo string printKey string @@ -261,7 +261,11 @@ func (c *ApiController) QueryPrintList(dataMap map[string]interface{}) (data []* } else { size = s } - data, err = cms.QueryPrintList(printNo, printKey, status, isOnline, page, size) + list, count, err := cms.QueryPrintList(printNo, printKey, status, isOnline, page, size) + data = map[string]interface{}{ + "printList": list, + "count": count, + } return }