testprint
This commit is contained in:
@@ -132,3 +132,32 @@ func UpdatePrinter(c *gin.Context) {
|
||||
}
|
||||
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"` //打印内容
|
||||
}{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(¶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 = services.TestPrint(c, param.AppID, tokenInfo, param.PrintNo, param.OrderNo, param.Content)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -136,3 +136,17 @@ type Printer struct {
|
||||
IsOnline int `json:"is_online" db:"is_online"` //1在线,0离线
|
||||
SIM string `json:"sim" db:"sim"` //sim卡号
|
||||
}
|
||||
|
||||
type PrintMsg struct {
|
||||
ID int `json:"id" db:"id"`
|
||||
CreatedAt *time.Time `json:"created_at" db:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updated_at" db:"updated_at"`
|
||||
LastOperator string `json:"last_operator" db:"last_operator"`
|
||||
DeletedAt *time.Time `json:"deleted_at" db:"deleted_at"`
|
||||
MsgID string `json:"msg_id" db:"msg_id"` //消息ID
|
||||
PrintNo string `json:"print_no" db:"print_no"` //打印机编号
|
||||
OrderNo int `json:"order_no" db:"order_no"` //订单序号
|
||||
Content string `json:"content"` //订单内容
|
||||
Status int `json:"status"` //打印状态
|
||||
Comment string `json:"comment"` //失败原因
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ func Init(r *gin.Engine) {
|
||||
print.GET("/getPrinters", controllers.GetPrinters)
|
||||
print.GET("/delPrinters", controllers.DelPrinters)
|
||||
print.GET("/updatePrinter", controllers.UpdatePrinter)
|
||||
print.GET("/testPrint", controllers.TestPrint)
|
||||
|
||||
//v1是不需要token的
|
||||
v1 := r.Group("v1")
|
||||
|
||||
@@ -117,3 +117,30 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func TestPrint(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printNo string, orderNo int, content string) (msgID string, err error) {
|
||||
var (
|
||||
db = globals.GetDB()
|
||||
now = time.Now()
|
||||
)
|
||||
msgID = now.Format("20060102150405") + "_" + putils.RandStringBytesWithNumber(8)
|
||||
if apps, _ := dao.GetApps(db, appID, tokenInfo.User.UserID, ""); len(apps) == 0 {
|
||||
return "", fmt.Errorf("未查询到此应用!app_id:%d", appID)
|
||||
}
|
||||
printers, _ := dao.GetPrinters(db, appID, printNo)
|
||||
if len(printers) == 0 {
|
||||
return "", fmt.Errorf("未在该应用下查到此打印机!app_id: %d, print_no: %s", appID, printNo)
|
||||
}
|
||||
printMsg := &model.PrintMsg{
|
||||
CreatedAt: &now,
|
||||
UpdatedAt: &now,
|
||||
LastOperator: tokenInfo.User.Name,
|
||||
DeletedAt: &utils.DefaultTimeValue,
|
||||
PrintNo: printNo,
|
||||
OrderNo: orderNo,
|
||||
Content: content,
|
||||
MsgID: msgID,
|
||||
}
|
||||
err = dao.Insert(db, printMsg)
|
||||
return msgID, err
|
||||
}
|
||||
|
||||
@@ -31,7 +31,8 @@ func init() {
|
||||
}
|
||||
|
||||
var (
|
||||
letterBytes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
letterBytes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
letterBytesNum = "0123456789"
|
||||
)
|
||||
|
||||
func RandStringBytes(n int) string {
|
||||
@@ -42,6 +43,14 @@ func RandStringBytes(n int) string {
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func RandStringBytesWithNumber(n int) string {
|
||||
b := make([]byte, n)
|
||||
for i := range b {
|
||||
b[i] = letterBytesNum[rand.Intn(len(letterBytesNum))]
|
||||
}
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func Captcha(c *gin.Context, length ...int) {
|
||||
l := captcha.DefaultLen
|
||||
w, h := 107, 36
|
||||
|
||||
Reference in New Issue
Block a user