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 { if err = checkPrintMsg(printMsg); err == nil {
tcpClient.s.RLock() tcpClient.s.RLock()
if tcpClient.Clients[printMsg.PrintNo] != nil { if tcpClient.Clients[printMsg.PrintNo] != nil {
if tcpClient.Clients[printMsg.PrintNo].Status == printerStatusOnline {
if tcpClient.Clients[printMsg.PrintNo].C != nil { if tcpClient.Clients[printMsg.PrintNo].C != nil {
c = tcpClient.Clients[printMsg.PrintNo].C c = tcpClient.Clients[printMsg.PrintNo].C
data, err = buildMsg(printMsg) data, err = buildMsg(printMsg)
} }
} }
}
tcpClient.s.RUnlock() tcpClient.s.RUnlock()
if c != nil { if c != nil {
if _, err = c.Write(data); err != 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 ( var (
content = printMsg.Content content = printMsg.Content
orderNo = printMsg.OrderNo 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 ( var (
lenqr int lenqr int
hexLenqr string hexLenqr string
@@ -550,7 +552,10 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
return result 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 == "" { if printMsg.Content == "" {
return fmt.Errorf("此打印信息内容为空printMsg printNo:[%v], orderNo :[%v]", printMsg.PrintNo, printMsg.OrderNo) 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 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 := ` sql := `
SELECT * SELECT a.*, b.flow_flag
FROM print_msg FROM print_msg a
WHERE 1 = 1 AND deleted_at = ? 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 { if len(statuss) > 0 {
sql += " AND status IN(" + GenQuestionMarks(len(statuss)) + ")" sql += " AND a.status IN(" + GenQuestionMarks(len(statuss)) + ")"
sqlParams = append(sqlParams, statuss) sqlParams = append(sqlParams, statuss)
} }
if !utils.IsTimeZero(beginAt) { if !utils.IsTimeZero(beginAt) {
sql += " AND created_at > ?" sql += " AND a.created_at > ?"
sqlParams = append(sqlParams, beginAt) sqlParams = append(sqlParams, beginAt)
} }
if !utils.IsTimeZero(endAt) { if !utils.IsTimeZero(endAt) {
sql += " AND created_at < ?" sql += " AND a.created_at < ?"
sqlParams = append(sqlParams, endAt) sqlParams = append(sqlParams, endAt)
} }
sql += " ORDER BY created_at LIMIT ? OFFSET ?" sql += " ORDER BY a.created_at LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset) sqlParams = append(sqlParams, pageSize, offset)
err = GetRows(db, &prints, sql, sqlParams) err = GetRows(db, &prints, sql, sqlParams)
return prints, err 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 := ` sql := `
SELECT * SELECT *
FROM print_msg FROM print_msg