232 lines
6.5 KiB
Go
232 lines
6.5 KiB
Go
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"
|
||
)
|
||
|
||
// AddPrinters 添加打印机 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(¶m); 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(¶m); 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(tokenInfo.User.UserID, 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(¶m); 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(¶m); 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 int64 `json:"order_no" form:"order_no" binding:"required"` //订单序号
|
||
Content string `json:"content" form:"content"` //打印内容
|
||
}{}
|
||
)
|
||
if err = c.ShouldBind(¶m); 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(¶m); 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
|
||
}
|
||
|
||
// 清空打印机缓存数据
|
||
func ClearMsg(c *gin.Context) {
|
||
var (
|
||
err error
|
||
tokenInfo *model.TokenInfo
|
||
param = &struct {
|
||
PrintNo string `json:"print_no" form:"print_no" binding:"required"` //打印机编号
|
||
}{}
|
||
)
|
||
if tokenInfo = CheckToken(c); tokenInfo == nil {
|
||
return
|
||
}
|
||
if err = c.ShouldBind(¶m); err != nil {
|
||
BuildErrJson(c, err)
|
||
return
|
||
}
|
||
if !CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||
err = print_server.ClearMsg(param.PrintNo)
|
||
return "", "", err
|
||
}) {
|
||
return
|
||
}
|
||
return
|
||
}
|