add printer get printers
This commit is contained in:
82
dao/print_dao.go
Normal file
82
dao/print_dao.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
func GetPrinters(db *sqlx.DB, appID int, printNo string) (printers []*model.Printer, err error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM printer
|
||||
WHERE 1 = 1 AND deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
if appID != 0 {
|
||||
sql += " AND app_id = ?"
|
||||
sqlParams = append(sqlParams, appID)
|
||||
}
|
||||
if printNo != "" {
|
||||
sql += " AND print_no = ?"
|
||||
sqlParams = append(sqlParams, printNo)
|
||||
}
|
||||
if err = db.Select(&printers, sql, sqlParams...); err == nil {
|
||||
return printers, err
|
||||
}
|
||||
return printers, err
|
||||
}
|
||||
|
||||
func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
var (
|
||||
printers []*model.Printer
|
||||
count = &struct {
|
||||
Count int `json:"count"`
|
||||
}{}
|
||||
)
|
||||
sqlCount := `
|
||||
SELECT COUNT(*) count
|
||||
`
|
||||
sql := `
|
||||
SELECT *
|
||||
`
|
||||
sqlOhter := `
|
||||
FROM printer
|
||||
WHERE 1 = 1 AND deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
if appID != 0 {
|
||||
sqlOhter += " AND app_id = ?"
|
||||
sqlParams = append(sqlParams, appID)
|
||||
}
|
||||
if printNo != "" {
|
||||
sqlOhter += " AND print_no = ?"
|
||||
sqlParams = append(sqlParams, printNo)
|
||||
}
|
||||
if name != "" {
|
||||
sqlOhter += " AND name LIKE ?"
|
||||
sqlParams = append(sqlParams, "%"+name+"%")
|
||||
}
|
||||
if status != model.StatusAll {
|
||||
sqlOhter += " AND status = ?"
|
||||
sqlParams = append(sqlParams, status)
|
||||
}
|
||||
if isOnline != model.StatusAll {
|
||||
sqlOhter += " AND is_online = ?"
|
||||
sqlParams = append(sqlParams, isOnline)
|
||||
}
|
||||
//查总数
|
||||
row := db.DB.QueryRow(sqlCount+sqlOhter, sqlParams...)
|
||||
if err = row.Scan(count.Count); err != nil {
|
||||
return page, err
|
||||
}
|
||||
sqlOhter += " LIMIT ? OFFSET ?"
|
||||
sqlParams = append(sqlParams, pageSize, offset)
|
||||
if err = db.Select(&printers, sql+sqlOhter, sqlParams...); err == nil {
|
||||
return &model.PagedInfo{
|
||||
TotalCount: count.Count,
|
||||
Data: printers,
|
||||
}, err
|
||||
}
|
||||
return page, err
|
||||
}
|
||||
Reference in New Issue
Block a user