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 }