1
This commit is contained in:
@@ -6,17 +6,50 @@ import (
|
||||
"git.rosy.net.cn/jx-print/dao"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
"git.rosy.net.cn/jx-print/model/app_model"
|
||||
"git.rosy.net.cn/jx-print/putils"
|
||||
"github.com/jmoiron/sqlx"
|
||||
"time"
|
||||
)
|
||||
|
||||
// QueryPrintKeyIsExit 查询用户打印机以及绑定信息
|
||||
func QueryPrintKeyIsExit(printInfo *model.PrintInfo, phone, bizId, code string, appId int) error {
|
||||
func QueryPrintKeyIsExit(printInfo *model.PrintInfo, phone, bizId, code string, appId int) (bool, error) {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
)
|
||||
// 电话号码校验
|
||||
have, err := SendVerifyCodeServer.VerifySecret(phone, bizId, code)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if !have {
|
||||
return false, fmt.Errorf("验证码错误")
|
||||
}
|
||||
|
||||
if printInfo.PrintNo == "" {
|
||||
return false, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", printInfo.PrintNo)
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appId, printInfo.PrintNo, 0, 0, 0)
|
||||
// 打印机已经被绑定
|
||||
if len(printers) != 0 {
|
||||
// 修改绑定
|
||||
if printers[0].PrintKey != "" && printers[0].PrintKey != phone {
|
||||
return false, fmt.Errorf("用户微信电话号码,与绑定打印机号码不一致")
|
||||
} else {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// DeletePrintCheck 删除打印机时,校验手机账号等等
|
||||
func DeletePrintCheck(printNo string, phone, bizId, code string, appId int) error {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
)
|
||||
//电话号码校验
|
||||
have, err := SendVerifyCodeServer.VerifySecret(phone, bizId, code)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -24,22 +57,18 @@ func QueryPrintKeyIsExit(printInfo *model.PrintInfo, phone, bizId, code string,
|
||||
return fmt.Errorf("验证码错误")
|
||||
}
|
||||
|
||||
if printInfo.PrintNo == "" {
|
||||
return fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", printInfo.PrintNo)
|
||||
printers, _ := dao.GetPrinters(db, appId, printNo, 0, 0, 0)
|
||||
if len(printers) != 1 {
|
||||
return fmt.Errorf("打印机不存在或异常,联系管理员")
|
||||
}
|
||||
|
||||
printers, _ := dao.GetPrinters(db, appId, printInfo.PrintNo, 0, 0, 0)
|
||||
// 打印机已经被绑定
|
||||
if len(printers) != 0 {
|
||||
// 修改绑定
|
||||
if printers[0].PrintKey != "" && printers[0].PrintKey != phone {
|
||||
return fmt.Errorf("打印机已经被其他用户绑定,修改绑定请联系商家")
|
||||
}
|
||||
if printers[0].PrintKey != phone {
|
||||
return fmt.Errorf("打印机绑定电话与删除时绑定电话不匹配")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func AddPrinters(tokenInfo *model.TokenInfo, appID int, printInfo []*model.PrintInfo) (err error) {
|
||||
func AddPrinters(txDB *sqlx.Tx, tokenInfo *model.TokenInfo, appID int, printInfo []*model.PrintInfo, phone string) (err error) {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
errs []error
|
||||
@@ -48,7 +77,7 @@ func AddPrinters(tokenInfo *model.TokenInfo, appID int, printInfo []*model.Print
|
||||
if len(printInfo) > 50 {
|
||||
return fmt.Errorf("每次最多添加50台!")
|
||||
}
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
if apps, _ := dao.GetApps(db, appID, "", ""); len(apps) == 0 {
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
for _, v := range printInfo {
|
||||
@@ -69,7 +98,7 @@ func AddPrinters(tokenInfo *model.TokenInfo, appID int, printInfo []*model.Print
|
||||
AppID: appID,
|
||||
PrintNo: v.PrintNo,
|
||||
Name: v.Name,
|
||||
PrintKey: v.PrintKey,
|
||||
PrintKey: phone,
|
||||
Status: model.PrinterStatusNormal,
|
||||
IsOnline: model.PrinterOffline,
|
||||
Sound: "sounda",
|
||||
@@ -77,11 +106,11 @@ func AddPrinters(tokenInfo *model.TokenInfo, appID int, printInfo []*model.Print
|
||||
UserId: tokenInfo.User.UserID,
|
||||
}
|
||||
if len(printers) > 0 {
|
||||
if err = dao.Update(db, printer, "UserId"); err != nil {
|
||||
if err = dao.UpdateTx(txDB, printer, "user_id"); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
} else {
|
||||
if err = dao.Insert(db, printer); err != nil {
|
||||
if err = dao.InsertTx(txDB, printer); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
@@ -96,7 +125,11 @@ func GetPrinters(appID int, printNo, name string, status, isOnline, offset, page
|
||||
return dao.GetPrintersPage(globals.GetDB(), appID, printNo, name, status, isOnline, offset, pageSize, userId)
|
||||
}
|
||||
|
||||
func DelPrinters(appID int, tokenInfo *model.TokenInfo, printNos []string) (err error) {
|
||||
func GetPrintIsUse(printNo string) (bool, error) {
|
||||
return dao.GetPrintIsUse(printNo)
|
||||
}
|
||||
|
||||
func DelPrinters(appID int, tokenInfo *model.TokenInfo, printNos string) (err error) {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
errs []error
|
||||
@@ -105,30 +138,22 @@ func DelPrinters(appID int, tokenInfo *model.TokenInfo, printNos []string) (err
|
||||
if len(printNos) > 50 {
|
||||
return fmt.Errorf("每次最多删除50台!")
|
||||
}
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
if apps, _ := dao.GetApps(db, appID, "", ""); len(apps) == 0 {
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
for _, v := range printNos {
|
||||
if v == "" {
|
||||
errs = append(errs, fmt.Errorf("请输入正确的打印机编号!print_no :%s 。", v))
|
||||
continue
|
||||
}
|
||||
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
|
||||
}
|
||||
if printers[0].UserId != tokenInfo.User.UserID {
|
||||
errs = append(errs, fmt.Errorf("该打印机不属于此用户 :%s 。", v))
|
||||
continue
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, printNos, 0, 0, 0)
|
||||
if len(printers) == 0 {
|
||||
errs = append(errs, fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNos))
|
||||
}
|
||||
if printers[0].UserId != tokenInfo.User.UserID {
|
||||
errs = append(errs, fmt.Errorf("该打印机不属于此用户 :%s 。", printNos))
|
||||
}
|
||||
|
||||
printer := printers[0]
|
||||
printer.DeletedAt = &now
|
||||
printer.LastOperator = tokenInfo.User.Name
|
||||
if err = dao.Update(db, printer, model.FieldLastOperator, model.FieldDeletedAt); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
printer := printers[0]
|
||||
printer.DeletedAt = &now
|
||||
printer.LastOperator = tokenInfo.User.Name
|
||||
if err = dao.Update(db, printer, model.FieldLastOperator, model.FieldDeletedAt); err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
if len(errs) > 0 {
|
||||
err = putils.BuildErr(errs)
|
||||
@@ -142,7 +167,7 @@ func UpdatePrinter(appID int, tokenInfo *model.TokenInfo, printNo, name, sound s
|
||||
now = time.Now()
|
||||
fields []string
|
||||
)
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
if apps, _ := dao.GetApps(db, appID, "", ""); len(apps) == 0 {
|
||||
return fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
|
||||
@@ -216,23 +241,13 @@ func GetPrintMessages(appID int, tokenInfo *model.TokenInfo, printNo, msgID stri
|
||||
return dao.GetPrintMessagesPage(db, printNo, msgID, beginAt, endAt, offset, pageSize)
|
||||
}
|
||||
|
||||
type GetPrinterReportResult struct {
|
||||
WeekPrintCount int `json:"week_print_count"`
|
||||
DayPrintCount int `json:"day_print_count"`
|
||||
DayUnPrintCount int `json:"day_un_print_count"`
|
||||
OnlinePrinterCount int `json:"online_printer_count"`
|
||||
OfflinePrinterCount int `json:"offline_printer_count"`
|
||||
FlowPrinterCount int `json:"flow_printer_count"`
|
||||
PaperPrinterCount int `json:"paper_printer_count"`
|
||||
}
|
||||
|
||||
func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *GetPrinterReportResult, err error) {
|
||||
func GetPrinterReport(tokenInfo *model.TokenInfo) (getPrinterReportResult *app_model.GetPrinterReportResult, err error) {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
weekCount, DayCount, DayUnCount = 0, 0, 0
|
||||
onlineC, offlineC, flowC, paperC = 0, 0, 0, 0
|
||||
)
|
||||
getPrinterReportResult = &GetPrinterReportResult{}
|
||||
getPrinterReportResult = &app_model.GetPrinterReportResult{}
|
||||
apps, _ := dao.GetApps(db, 0, tokenInfo.User.UserID, "")
|
||||
if len(apps) == 0 {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user