This commit is contained in:
suyl
2021-07-20 17:43:28 +08:00
parent 807f16107a
commit 5ee7e6326c
2 changed files with 27 additions and 16 deletions

View File

@@ -267,11 +267,13 @@ func printFail() (err error) {
if err = checkPrintMsg(printMsg); err == nil {
tcpClient.s.RLock()
if tcpClient.Clients[printMsg.PrintNo] != nil {
if tcpClient.Clients[printMsg.PrintNo].Status == printerStatusOnline {
if tcpClient.Clients[printMsg.PrintNo].C != nil {
c = tcpClient.Clients[printMsg.PrintNo].C
data, err = buildMsg(printMsg)
}
}
}
tcpClient.s.RUnlock()
if c != nil {
if _, err = c.Write(data); err != nil {
@@ -417,7 +419,7 @@ func HandleCheckTcpHeart() {
}
}
func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) {
func buildMsg(printMsg *dao.GetPrintMsgsResult) (data []byte, err error) {
var (
content = printMsg.Content
orderNo = printMsg.OrderNo
@@ -452,7 +454,7 @@ func getCheckSum(str string) (check string) {
}
//内容中的标签替换成指令
func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
func replaceContent(content string, printMsg *dao.GetPrintMsgsResult) (result string) {
var (
lenqr int
hexLenqr string
@@ -550,7 +552,10 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
return result
}
func checkPrintMsg(printMsg *model.PrintMsg) (err error) {
func checkPrintMsg(printMsg *dao.GetPrintMsgsResult) (err error) {
if printMsg.FlowFlag == 1 {
return fmt.Errorf("打印机当月流量已经超过30MB请及时充值printNo:[%v]", printMsg.PrintNo)
}
if printMsg.Content == "" {
return fmt.Errorf("此打印信息内容为空printMsg printNo:[%v], orderNo :[%v]", printMsg.PrintNo, printMsg.OrderNo)
}

View File

@@ -25,32 +25,38 @@ func GetPrintMsgNoPage(db *DaoDB, printNo string, orderNo int64) (prints []*mode
return prints, err
}
func GetPrintMsgs(db *DaoDB, statuss []int, beginAt, endAt time.Time, offset, pageSize int) (prints []*model.PrintMsg, err error) {
type GetPrintMsgsResult struct {
*model.PrintMsg
FlowFlag int `json:"flowFlag"`
}
func GetPrintMsgs(db *DaoDB, statuss []int, beginAt, endAt time.Time, offset, pageSize int) (prints []*GetPrintMsgsResult, err error) {
sql := `
SELECT *
FROM print_msg
WHERE 1 = 1 AND deleted_at = ?
SELECT a.*, b.flow_flag
FROM print_msg a
LEFT JOIN printer b ON a.print_no = b.print_no AND b.deleted_at = ?
WHERE 1 = 1 AND a.deleted_at = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue}
sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
if len(statuss) > 0 {
sql += " AND status IN(" + GenQuestionMarks(len(statuss)) + ")"
sql += " AND a.status IN(" + GenQuestionMarks(len(statuss)) + ")"
sqlParams = append(sqlParams, statuss)
}
if !utils.IsTimeZero(beginAt) {
sql += " AND created_at > ?"
sql += " AND a.created_at > ?"
sqlParams = append(sqlParams, beginAt)
}
if !utils.IsTimeZero(endAt) {
sql += " AND created_at < ?"
sql += " AND a.created_at < ?"
sqlParams = append(sqlParams, endAt)
}
sql += " ORDER BY created_at LIMIT ? OFFSET ?"
sql += " ORDER BY a.created_at LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
err = GetRows(db, &prints, sql, sqlParams)
return prints, err
}
func GetPrintMsgsFail(db *DaoDB, beginAt, endAt time.Time) (prints []*model.PrintMsg, err error) {
func GetPrintMsgsFail(db *DaoDB, beginAt, endAt time.Time) (prints []*GetPrintMsgsResult, err error) {
sql := `
SELECT *
FROM print_msg