testprint
This commit is contained in:
@@ -132,3 +132,32 @@ func UpdatePrinter(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
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"` //打印内容
|
||||||
|
}{}
|
||||||
|
)
|
||||||
|
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离线
|
IsOnline int `json:"is_online" db:"is_online"` //1在线,0离线
|
||||||
SIM string `json:"sim" db:"sim"` //sim卡号
|
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("/getPrinters", controllers.GetPrinters)
|
||||||
print.GET("/delPrinters", controllers.DelPrinters)
|
print.GET("/delPrinters", controllers.DelPrinters)
|
||||||
print.GET("/updatePrinter", controllers.UpdatePrinter)
|
print.GET("/updatePrinter", controllers.UpdatePrinter)
|
||||||
|
print.GET("/testPrint", controllers.TestPrint)
|
||||||
|
|
||||||
//v1是不需要token的
|
//v1是不需要token的
|
||||||
v1 := r.Group("v1")
|
v1 := r.Group("v1")
|
||||||
|
|||||||
@@ -117,3 +117,30 @@ func UpdatePrinter(c *gin.Context, appID int, tokenInfo *model.TokenInfo, printN
|
|||||||
}
|
}
|
||||||
return err
|
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 (
|
var (
|
||||||
letterBytes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
letterBytes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
|
letterBytesNum = "0123456789"
|
||||||
)
|
)
|
||||||
|
|
||||||
func RandStringBytes(n int) string {
|
func RandStringBytes(n int) string {
|
||||||
@@ -42,6 +43,14 @@ func RandStringBytes(n int) string {
|
|||||||
return string(b)
|
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) {
|
func Captcha(c *gin.Context, length ...int) {
|
||||||
l := captcha.DefaultLen
|
l := captcha.DefaultLen
|
||||||
w, h := 107, 36
|
w, h := 107, 36
|
||||||
|
|||||||
Reference in New Issue
Block a user