1
This commit is contained in:
@@ -61,7 +61,7 @@ func GetPrinters(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
if !CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = print_server.GetPrinters(c, param.AppID, param.PrintNo, param.Name, param.Status, param.IsOnline, param.Offset, param.PageSize)
|
||||
retVal, err = print_server.GetPrinters(tokenInfo.User.UserID, param.AppID, param.PrintNo, param.Name, param.Status, param.IsOnline, param.Offset, param.PageSize)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model/app_model"
|
||||
"github.com/jmoiron/sqlx"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// QueryPrintBill 查询打印机账户是否存在
|
||||
@@ -29,6 +30,27 @@ func QueryPrintBill(db *sqlx.Tx, userId, printNo string) ([]*app_model.PrintBill
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// QueryPrintBillList 查询打印机余额
|
||||
func QueryPrintBillList(userId string, printNo []string) ([]*app_model.PrintBill, error) {
|
||||
db := globals.GetTxDb()
|
||||
sql := `SELECT * FROM print_bill WHERE 1 = 1 `
|
||||
var param []interface{}
|
||||
if userId != "" {
|
||||
sql += ` AND user_id = ? `
|
||||
param = append(param, userId)
|
||||
}
|
||||
if len(printNo) > 0 {
|
||||
sql += " AND print_no IN (" + GenQuestionMarks(len(printNo)) + ")"
|
||||
param = append(param, printNo)
|
||||
}
|
||||
|
||||
var result []*app_model.PrintBill
|
||||
if err := db.Select(&result, sql, param...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// InitPrintBill 初始化打印机账户
|
||||
func InitPrintBill(txDB *sqlx.Tx, param *app_model.PrintBill) error {
|
||||
if err := InsertTx(txDB, param); err != nil {
|
||||
@@ -61,3 +83,20 @@ func UpdatePrintToSystem(db *sqlx.Tx, printNo string) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GenQuestionMarks(count int) (marks string) {
|
||||
if count > 0 {
|
||||
if count == 1 {
|
||||
marks = "?"
|
||||
} else {
|
||||
builder := &strings.Builder{}
|
||||
builder.Grow(1 + (count-1)*3)
|
||||
builder.WriteString("?")
|
||||
for i := 1; i < count; i++ {
|
||||
builder.WriteString(", ?")
|
||||
}
|
||||
marks = builder.String()
|
||||
}
|
||||
}
|
||||
return marks
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
func GetPrinters(db *sqlx.DB, appID int, printNo string, status, statusNeq, flowFlag int) (printers []*model.Printer, err error) {
|
||||
func GetPrinters(db *sqlx.DB, appID int, printNo string, status, statusNeq, flowFlag int, userId string) (printers []*model.Printer, err error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM printer
|
||||
@@ -36,6 +36,10 @@ func GetPrinters(db *sqlx.DB, appID int, printNo string, status, statusNeq, flow
|
||||
sql += " AND flow_flag = ?"
|
||||
sqlParams = append(sqlParams, flowFlag)
|
||||
}
|
||||
if userId != "" {
|
||||
sql += " AND user_id = ?"
|
||||
sqlParams = append(sqlParams, userId)
|
||||
}
|
||||
if err = db.Select(&printers, sql, sqlParams...); err == nil {
|
||||
return printers, err
|
||||
}
|
||||
@@ -83,7 +87,6 @@ func GetPrintersPage(db *sqlx.DB, appID int, printNo, name string, status, isOnl
|
||||
if err = db.Select(&printers, sql+sqlOther, sqlParams...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.PagedInfo{TotalCount: count, Data: printers}, err
|
||||
}
|
||||
|
||||
|
||||
@@ -93,8 +93,9 @@ type PrintInfo struct {
|
||||
}
|
||||
|
||||
type PagedInfo struct {
|
||||
TotalCount int `json:"totalCount"`
|
||||
Data interface{} `json:"data"`
|
||||
TotalCount int `json:"totalCount"`
|
||||
Data interface{} `json:"data"`
|
||||
PrintBill map[string]int64 `json:"print_bill"`
|
||||
}
|
||||
|
||||
type ModelIDCULD struct {
|
||||
|
||||
@@ -30,7 +30,7 @@ func QueryPrintKeyIsExit(printInfo *model.PrintInfo, phone, bizId, code string,
|
||||
return false, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", printInfo.PrintNo)
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appId, printInfo.PrintNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appId, printInfo.PrintNo, 0, 0, 0, "")
|
||||
// 打印机已经被绑定
|
||||
if len(printers) != 0 {
|
||||
// 修改绑定
|
||||
@@ -57,7 +57,7 @@ func DeletePrintCheck(printNo string, phone, bizId, code string, appId int) erro
|
||||
return fmt.Errorf("验证码错误")
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appId, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appId, printNo, 0, 0, 0, "")
|
||||
if len(printers) != 1 {
|
||||
return fmt.Errorf("打印机不存在或异常,联系管理员")
|
||||
}
|
||||
@@ -85,7 +85,7 @@ func AddPrinters(txDB *sqlx.Tx, tokenInfo *model.TokenInfo, appID int, printInfo
|
||||
errs = append(errs, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", v.PrintNo))
|
||||
continue
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0, "")
|
||||
if len(printers) != 0 && printers[0].UserId != "system" {
|
||||
errs = append(errs, fmt.Errorf("打印机已经被绑定!print_no :%s 。", v.PrintNo))
|
||||
continue
|
||||
@@ -122,7 +122,11 @@ func AddPrinters(txDB *sqlx.Tx, tokenInfo *model.TokenInfo, appID int, printInfo
|
||||
}
|
||||
|
||||
func GetPrinters(appID int, printNo, name string, status, isOnline, offset, pageSize int, userId string) (page *model.PagedInfo, err error) {
|
||||
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
||||
page, err = dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func GetPrintIsUse(printNo string) (bool, string, error) {
|
||||
@@ -140,7 +144,7 @@ func DelPrinters(appID int, tokenInfo *model.TokenInfo, printNos string) (err er
|
||||
if apps, _ := dao.GetApps(db, appID, "", ""); len(apps) == 0 {
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, printNos, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNos, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
return fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNos)
|
||||
}
|
||||
@@ -167,7 +171,7 @@ func UpdatePrinter(appID int, tokenInfo *model.TokenInfo, printNo, name, sound s
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
return fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
}
|
||||
@@ -231,7 +235,7 @@ func GetPrintMessages(appID int, tokenInfo *model.TokenInfo, printNo, msgID stri
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
return nil, fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
return nil, fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
}
|
||||
@@ -243,9 +247,10 @@ func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_m
|
||||
db = globals.GetDB()
|
||||
weekCount, DayCount, DayUnCount = 0, 0, 0
|
||||
onlineC, offlineC, flowC, paperC = 0, 0, 0, 0
|
||||
userId = tokenInfo.User.UserID
|
||||
)
|
||||
getPrinterReportResult = &app_model.GetPrinterReportResult{}
|
||||
apps, _ := dao.GetApps(db, 0, tokenInfo.User.UserID, "")
|
||||
apps, _ := dao.GetApps(db, 0, userId, "")
|
||||
if len(apps) == 0 {
|
||||
apps = []*model.Apps{
|
||||
&model.Apps{
|
||||
@@ -255,7 +260,7 @@ func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_m
|
||||
}
|
||||
}
|
||||
for _, app := range apps {
|
||||
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0, userId)
|
||||
for _, printer := range printers {
|
||||
weeks, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -7)), utils.Time2Str(time.Now()), 0)
|
||||
weekCount += len(weeks)
|
||||
@@ -264,13 +269,13 @@ func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_m
|
||||
dayUns, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -1)), utils.Time2Str(time.Now()), 1)
|
||||
DayUnCount += len(dayUns)
|
||||
}
|
||||
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0)
|
||||
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0, userId)
|
||||
onlineC += len(onlines)
|
||||
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0)
|
||||
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0, userId)
|
||||
offlineC += len(offlines)
|
||||
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1)
|
||||
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1, userId)
|
||||
flowC += len(flows)
|
||||
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0)
|
||||
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0, userId)
|
||||
paperC += len(papers)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package print_server
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-print/dao"
|
||||
@@ -38,7 +39,7 @@ func AddPrinters(c *gin.Context, tokenInfo *model.TokenInfo, appID int, printInf
|
||||
errs = append(errs, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", v.PrintNo))
|
||||
continue
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, v.PrintNo, 0, 0, 0, "")
|
||||
if len(printers) > 0 {
|
||||
errs = append(errs, fmt.Errorf("此打印机已被其他应用绑定!print_no :%s 。", v.PrintNo))
|
||||
continue
|
||||
@@ -68,8 +69,28 @@ func AddPrinters(c *gin.Context, tokenInfo *model.TokenInfo, appID int, printInf
|
||||
return err
|
||||
}
|
||||
|
||||
func GetPrinters(c *gin.Context, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, "")
|
||||
func GetPrinters(userId string, appID int, printNo, name string, status, isOnline, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
page, err = dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
print2 := make([]model.Printer, 0, 0)
|
||||
if err := json.Unmarshal([]byte(utils.Interface2String(page.Data)), &print2); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
printList := make([]string, 0, len(print2))
|
||||
for _, v := range print2 {
|
||||
printList = append(printList, v.PrintNo)
|
||||
}
|
||||
printBillList, err := dao.QueryPrintBillList(userId, printList)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, v := range printBillList {
|
||||
page.PrintBill[v.PrintNo] = v.PrintBalance
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func DelPrinters(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNos []string) (err error) {
|
||||
@@ -89,7 +110,7 @@ func DelPrinters(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNos
|
||||
errs = append(errs, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", v))
|
||||
continue
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, v, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, v, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
errs = append(errs, fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, v))
|
||||
continue
|
||||
@@ -117,7 +138,7 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
return fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
}
|
||||
@@ -186,7 +207,7 @@ func GetPrintMessages(c *gin.Context, appID int, tokenInfo *model.TokenInfo, pri
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
return nil, fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
return nil, fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
}
|
||||
@@ -208,14 +229,15 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep
|
||||
db = globals.GetDB()
|
||||
weekCount, DayCount, DayUnCount = 0, 0, 0
|
||||
onlineC, offlineC, flowC, paperC = 0, 0, 0, 0
|
||||
userId = tokenInfo.User.UserID
|
||||
)
|
||||
getPrinterReportResult = &GetPrinterReportResult{}
|
||||
apps, _ := dao.GetApps(db, 0, tokenInfo.User.UserID, "")
|
||||
apps, _ := dao.GetApps(db, 0, userId, "")
|
||||
if len(apps) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
for _, app := range apps {
|
||||
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 0, userId)
|
||||
for _, printer := range printers {
|
||||
weeks, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -7)), utils.Time2Str(time.Now()), 0)
|
||||
weekCount += len(weeks)
|
||||
@@ -224,13 +246,13 @@ func GetPrinterReport(c *gin.Context, tokenInfo *model.TokenInfo) (getPrinterRep
|
||||
dayUns, _ := dao.GetPrintMessages(db, printer.PrintNo, "", utils.Time2Str(time.Now().AddDate(0, 0, -1)), utils.Time2Str(time.Now()), 1)
|
||||
DayUnCount += len(dayUns)
|
||||
}
|
||||
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0)
|
||||
onlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOnline, 0, 0, userId)
|
||||
onlineC += len(onlines)
|
||||
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0)
|
||||
offlines, _ := dao.GetPrinters(db, app.ID, "", model.PrinterOffline, 0, 0, userId)
|
||||
offlineC += len(offlines)
|
||||
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1)
|
||||
flows, _ := dao.GetPrinters(db, app.ID, "", 0, 0, 1, userId)
|
||||
flowC += len(flows)
|
||||
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0)
|
||||
papers, _ := dao.GetPrinters(db, app.ID, "", model.PrinterStatusWithouPaper, 0, 0, userId)
|
||||
paperC += len(papers)
|
||||
}
|
||||
getPrinterReportResult.WeekPrintCount = weekCount
|
||||
|
||||
@@ -28,7 +28,7 @@ func SimFlowDaySettle() (err error) {
|
||||
return
|
||||
}
|
||||
//找出所有状态不为 超流量的打印机(iccid卡)
|
||||
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0, "")
|
||||
for _, v := range printers {
|
||||
//查询前一日使用的流量数
|
||||
if v.IccID != "" {
|
||||
@@ -92,7 +92,7 @@ func SimFlowMonthSettle() {
|
||||
return
|
||||
}
|
||||
//找出所有有iccid 卡的
|
||||
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, 0, "", 0, 0, 0, "")
|
||||
for _, v := range printers {
|
||||
if v.IccID != "" {
|
||||
if err := FlowIncome(db, v.IccID, 30, "MB", model.FlowIncomeTypeJX, ""); err == nil {
|
||||
@@ -127,7 +127,7 @@ func GetCardsInfo(tokenInfo *model.TokenInfo, appID int, printNo string, cardSta
|
||||
db = globals.GetDB()
|
||||
)
|
||||
if printNo != "" {
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0)
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo, 0, 0, 0, "")
|
||||
if len(printers) == 0 {
|
||||
err = fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user