获取打印消息

This commit is contained in:
suyl
2021-07-01 13:52:06 +08:00
parent aa0eee9812
commit 92b6d309e4
4 changed files with 110 additions and 20 deletions

View File

@@ -2,6 +2,7 @@ package controllers
import (
"crypto/md5"
"encoding/json"
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
@@ -33,6 +34,8 @@ const (
keyName = "name"
keyStatus = "status"
keyOrderNo = "order_no"
keyContent = "content"
keyMsgID = "msg_id"
)
var (
@@ -273,27 +276,67 @@ func (c *ApiController) DelPrinterSeq(dataMap map[string]interface{}) (data, err
return "", errCode, err
}
//发送打印消息
func (c *ApiController) DoPrint(dataMap map[string]interface{}) (data, errCode string, err error) {
var (
content = dataMap["data"].(string)
printNo = dataMap["print_no"].(string)
orderNo = utils.Interface2Int64WithDefault(dataMap["order_no"], 0)
db = dao.GetDB()
printNo, content string
orderNo, appID int
)
globals.SugarLogger.Debugf("Begin API DoPrint data: [%v]", utils.Format4Output(dataMap, false))
if orderNo == 0 {
return data, model.ErrCodeOpenAPIParamErrNormal, fmt.Errorf("参数错误order_no 不能为空")
if _, ok := dataMap[keyPrintNo].(string); !ok {
return buildParamErrCodeAndErr(keyPrintNo)
} else {
if printNo = dataMap[keyPrintNo].(string); printNo == "" {
return buildParamErrCodeAndErr(keyPrintNo)
}
}
if _, ok := dataMap[keyContent].(string); !ok {
return buildParamErrCodeAndErr(keyContent)
} else {
if content = dataMap[keyContent].(string); content == "" {
return buildParamErrCodeAndErr(keyContent)
}
}
if _, ok := dataMap[keyOrderNo].(int); !ok {
return buildParamErrCodeAndErr(keyOrderNo)
} else {
if orderNo = dataMap[keyOrderNo].(int); orderNo == 0 {
return buildParamErrCodeAndErr(keyOrderNo)
}
}
appID = dataMap[keyAppID].(int)
msgID := time.Now().Format("20060102150405") + "_" + jxutils.RandStringBytes(8)
printMsg := &model.PrintMsg{
PrintNo: printNo,
Content: content,
OrderNo: int(orderNo),
MsgID: msgID,
}
dao.WrapAddIDCULDEntity(printMsg, "")
if err = dao.CreateEntity(db, printMsg); err != nil {
return data, model.ErrCodeGeneralFailed, err
if err = cms.DoPrint(appID, msgID, content, printNo, orderNo); err != nil {
return "", model.ErrCodeGeneralFailed, err
}
return msgID, errCode, err
}
//获取某打印消息
func (c *ApiController) GetPrintMsg(dataMap map[string]interface{}) (data, errCode string, err error) {
var (
msgID string
appID int
)
globals.SugarLogger.Debugf("Begin API GetPrintMsg data: [%v]", utils.Format4Output(dataMap, false))
if _, ok := dataMap[keyMsgID].(string); !ok {
return buildParamErrCodeAndErr(keyMsgID)
} else {
if msgID = dataMap[keyMsgID].(string); msgID == "" {
return buildParamErrCodeAndErr(keyMsgID)
}
}
appID = dataMap[keyAppID].(int)
if printMsg, err := cms.GetPrintMsg(appID, msgID); err != nil {
return "", model.ErrCodeGeneralFailed, err
} else if printMsg == nil {
return "", model.ErrCodeGeneralFailed, fmt.Errorf("未查询到该消息! msg_id: %v", msgID)
} else {
if byteData, err := json.Marshal(printMsg); err == nil {
data = string(byteData)
} else {
return "", model.ErrCodeGeneralFailed, err
}
}
return data, errCode, err
}