Files
jx-print/controllers/print_controller.go
邹宗楠 ecdb628231 打印机
2022-07-11 16:43:16 +08:00

207 lines
6.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controllers
import (
"git.rosy.net.cn/jx-print/model"
"git.rosy.net.cn/jx-print/putils"
"git.rosy.net.cn/jx-print/services/print_server"
"github.com/gin-gonic/gin"
)
//添加打印机 POST
func AddPrinters(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
Prints string `json:"prints" form:"prints" binding:"required"`
}{}
printInfos []*model.PrintInfo
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if err = putils.UnmarshalUseNumber([]byte(param.Prints), &printInfos); err != nil {
buildErrJson(c, err)
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
err = print_server.AddPrinters(c, tokenInfo, param.AppID, printInfos)
return retVal, "", err
}) {
return
}
return
}
//查询打印机 GET
func GetPrinters(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
PrintNo string `json:"print_no" form:"print_no"` //打印机编号
Name string `json:"name" form:"name"` //打印机备注,模糊
Status int `json:"status" form:"status"` //打印机状态。正常还是缺纸
IsOnline int `json:"is_online" form:"is_online"` //在线状态。1在线0离线
Offset int `json:"offset" form:"offset"`
PageSize int `json:"page_size" form:"page_size" binding:"required"`
}{}
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
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)
return retVal, "", err
}) {
return
}
return
}
//删除打印机 POST
func DelPrinters(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
PrintNos string `json:"print_nos" form:"print_nos" binding:"required"` //打印机编号s
}{}
printNos []string
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if err = putils.UnmarshalUseNumber([]byte(param.PrintNos), &printNos); err != nil {
buildErrJson(c, err)
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
err = print_server.DelPrinters(c, param.AppID, tokenInfo, printNos)
return retVal, "", err
}) {
return
}
return
}
//更新打印机 POST
func UpdatePrinter(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
Name string `json:"name" form:"name"` //打印机备注,模糊
Sound string `json:"sound" form:"sound"` //声音类型
Volume int `json:"volume" form:"volume"` //音量大小
}{}
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
err = print_server.UpdatePrinter(c, param.AppID, tokenInfo, param.PrintNo, param.Name, param.Sound, param.Volume)
return retVal, "", err
}) {
return
}
return
}
//测试打印 POST
func TestPrint(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
OrderNo int `json:"order_no" form:"order_no" binding:"required"` //订单序号
Content string `json:"content" form:"content"` //打印内容
}{}
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
retVal, err = print_server.TestPrint(c, param.AppID, tokenInfo, param.PrintNo, param.OrderNo, param.Content)
return retVal, "", err
}) {
return
}
return
}
//查询打印记录 GET
func GetPrintMessages(c *gin.Context) {
var (
err error
tokenInfo *model.TokenInfo
param = &struct {
AppID int `json:"app_id" form:"app_id" binding:"required"`
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
MsgID string `json:"msg_id" form:"msg_id"` //消息ID
BeginAt string `json:"begin_at" form:"begin_at"` //开始时间 默认一周内
EndAt string `json:"end_at" form:"end_at"`
Offset int `json:"offset" form:"offset"`
PageSize int `json:"page_size" form:"page_size" binding:"required"`
}{}
)
if err = c.ShouldBind(&param); err != nil {
buildErrJson(c, err)
return
}
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
retVal, err = print_server.GetPrintMessages(c, param.AppID, tokenInfo, param.PrintNo, param.MsgID, param.BeginAt, param.EndAt, param.Offset, param.PageSize)
return retVal, "", err
}) {
return
}
return
}
//查询打印统计(首页) GET
func GetPrinterReport(c *gin.Context) {
var (
tokenInfo *model.TokenInfo
)
if tokenInfo = checkToken(c); tokenInfo == nil {
return
}
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
retVal, err = print_server.GetPrinterReport(c, tokenInfo)
return retVal, "", err
}) {
return
}
return
}