1
This commit is contained in:
@@ -90,6 +90,50 @@ func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnl
|
|||||||
return &model.PagedInfo{TotalCount: count, Data: printers}, err
|
return &model.PagedInfo{TotalCount: count, Data: printers}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetPrintAndBill(db *sqlx.DB, appID int, printNo, name string, status, isOnline, offset, pageSize int, userId string) (page *model.PageInfoAndPrintBill, err error) {
|
||||||
|
sqlCount := `SELECT COUNT(id) count `
|
||||||
|
sql := `SELECT * `
|
||||||
|
sqlOther := ` FROM printer WHERE 1 = 1 AND deleted_at = ?`
|
||||||
|
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||||
|
if appID != 0 {
|
||||||
|
sqlOther += " AND app_id = ?"
|
||||||
|
sqlParams = append(sqlParams, appID)
|
||||||
|
}
|
||||||
|
if printNo != "" {
|
||||||
|
sqlOther += " AND print_no = ?"
|
||||||
|
sqlParams = append(sqlParams, printNo)
|
||||||
|
}
|
||||||
|
if name != "" {
|
||||||
|
sqlOther += " AND name LIKE ?"
|
||||||
|
sqlParams = append(sqlParams, "%"+name+"%")
|
||||||
|
}
|
||||||
|
if status != model.StatusAll {
|
||||||
|
sqlOther += " AND status = ?"
|
||||||
|
sqlParams = append(sqlParams, status)
|
||||||
|
}
|
||||||
|
if isOnline != model.StatusAll {
|
||||||
|
sqlOther += " AND is_online = ?"
|
||||||
|
sqlParams = append(sqlParams, isOnline)
|
||||||
|
}
|
||||||
|
if userId != "" {
|
||||||
|
sqlOther += " AND user_id = ?"
|
||||||
|
sqlParams = append(sqlParams, userId)
|
||||||
|
}
|
||||||
|
//查总数
|
||||||
|
count := 0
|
||||||
|
row := db.DB.QueryRow(sqlCount+sqlOther, sqlParams...)
|
||||||
|
if err = row.Scan(&count); err != nil {
|
||||||
|
return page, err
|
||||||
|
}
|
||||||
|
sqlOther += " LIMIT ? OFFSET ?"
|
||||||
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
|
var printers []*model.Printer
|
||||||
|
if err = db.Select(&printers, sql+sqlOther, sqlParams...); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &model.PageInfoAndPrintBill{TotalCount: count, Data: printers}, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetPrintIsUse(printNo string) (bool, string, error) {
|
func GetPrintIsUse(printNo string) (bool, string, error) {
|
||||||
sql := `SELECT * FROM printer WHERE deleted_at = ? AND print_no = ?`
|
sql := `SELECT * FROM printer WHERE deleted_at = ? AND print_no = ?`
|
||||||
param := []interface{}{utils.DefaultTimeValue, printNo}
|
param := []interface{}{utils.DefaultTimeValue, printNo}
|
||||||
|
|||||||
@@ -93,9 +93,13 @@ type PrintInfo struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type PagedInfo struct {
|
type PagedInfo struct {
|
||||||
TotalCount int `json:"totalCount"`
|
TotalCount int `json:"totalCount"`
|
||||||
Data interface{} `json:"data"`
|
Data interface{} `json:"data"`
|
||||||
PrintBill map[string]int64 `json:"printBill"`
|
}
|
||||||
|
|
||||||
|
type PageInfoAndPrintBill struct {
|
||||||
|
TotalCount int `json:"totalCount"`
|
||||||
|
Data []*Printer `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ModelIDCULD struct {
|
type ModelIDCULD struct {
|
||||||
@@ -198,6 +202,7 @@ type Printer struct {
|
|||||||
FlowFlag int `json:"flow_flag" db:"flow_flag"` //是否超流量了,1表示超了
|
FlowFlag int `json:"flow_flag" db:"flow_flag"` //是否超流量了,1表示超了
|
||||||
OfflineCount int `json:"offline_count" db:"offline_count"` //掉线次数
|
OfflineCount int `json:"offline_count" db:"offline_count"` //掉线次数
|
||||||
UserId string `json:"user_id" db:"user_id"` //打印机所属用户
|
UserId string `json:"user_id" db:"user_id"` //打印机所属用户
|
||||||
|
PrintBill int64 `json:"-" db:"-"` // 账户余额
|
||||||
}
|
}
|
||||||
|
|
||||||
type PrintMsg struct {
|
type PrintMsg struct {
|
||||||
|
|||||||
@@ -121,31 +121,30 @@ func AddPrinters(txDB *sqlx.Tx, tokenInfo *model.TokenInfo, appID int, printInfo
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetPrinters(appID int, printNo, name string, status, isOnline, offset, pageSize int, userId string) (page *model.PagedInfo, err error) {
|
func GetPrinters(appID int, printNo, name string, status, isOnline, offset, pageSize int, userId string) (page *model.PageInfoAndPrintBill, err error) {
|
||||||
page, err = dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
page, err = dao.GetPrintAndBill(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("============page1 %s", utils.Format4Output(page, false))
|
|
||||||
print2 := page.Data.([]model.Printer)
|
|
||||||
// make([]model.Printer, 0, 0)
|
|
||||||
//if err := json.Unmarshal([]byte(utils.Interface2String(page.Data)), &print2); err != nil {
|
|
||||||
// return nil, err
|
|
||||||
//}
|
|
||||||
|
|
||||||
printList := make([]interface{}, 0, len(print2))
|
printList := make([]interface{}, 0, len(page.Data))
|
||||||
for _, v := range print2 {
|
for _, v := range page.Data {
|
||||||
printList = append(printList, v.PrintNo)
|
printList = append(printList, v.PrintNo)
|
||||||
}
|
}
|
||||||
|
|
||||||
printBillList, err := dao.QueryPrintBillList(userId, printList)
|
printBillList, err := dao.QueryPrintBillList(userId, printList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
page.PrintBill = make(map[string]int64, len(printBillList))
|
|
||||||
for _, v := range printBillList {
|
for _, v := range printBillList {
|
||||||
page.PrintBill[v.PrintNo] = v.PrintBalance
|
for _, b := range page.Data {
|
||||||
|
if v.PrintNo != b.PrintNo {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
b.PrintBill = v.PrintBalance
|
||||||
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("============page2 %s", utils.Format4Output(page, false))
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user