package dao import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" "time" ) func GetPrintMsgNoPage(db *DaoDB, printNo string, orderNo int64) (prints []*model.PrintMsg, err error) { sql := ` SELECT * FROM print_msg WHERE 1 = 1 ` sqlParams := []interface{}{} if printNo != "" { sql += ` AND print_no = ?` sqlParams = append(sqlParams, printNo) } if orderNo != 0 { sql += ` AND order_no = ?` sqlParams = append(sqlParams, orderNo) } sql += " ORDER BY created_at DESC LIMIT 1" err = GetRows(db, &prints, sql, sqlParams) return prints, err } func GetPrintMsgs(db *DaoDB, printNo string, statuss []int, beginAt, endAt time.Time, offset, pageSize int) (prints []*model.PrintMsg, err error) { sql := ` SELECT a.* FROM print_msg a WHERE 1 = 1 AND a.deleted_at = ? ` sqlParams := []interface{}{utils.DefaultTimeValue} if printNo != "" { sql += " AND a.print_no = ?" sqlParams = append(sqlParams, printNo) } if len(statuss) > 0 { sql += " AND a.status IN(" + GenQuestionMarks(len(statuss)) + ")" sqlParams = append(sqlParams, statuss) } if !utils.IsTimeZero(beginAt) { sql += " AND a.created_at > ?" sqlParams = append(sqlParams, beginAt) } if !utils.IsTimeZero(endAt) { sql += " AND a.created_at < ?" sqlParams = append(sqlParams, endAt) } sql += " ORDER BY a.created_at LIMIT ? OFFSET ?" sqlParams = append(sqlParams, pageSize, offset) err = GetRows(db, &prints, sql, sqlParams) return prints, err } func GetPrintMsg2(db *DaoDB, printNo, msgID string, status, statusNeq int) (printMsgs []*model.PrintMsg, err error) { sql := ` SELECT * FROM print_msg WHERE 1 = 1 AND deleted_at = ? ` sqlParams := []interface{}{ utils.DefaultTimeValue, } if status != model.PrintMsgAll { sql += " AND status = ?" sqlParams = append(sqlParams, status) } if statusNeq != model.PrintMsgAll { sql += " AND status <> ?" sqlParams = append(sqlParams, statusNeq) } if printNo != "" { sql += " AND print_no = ?" sqlParams = append(sqlParams, printNo) } if msgID != "" { sql += " AND msg_id = ?" sqlParams = append(sqlParams, msgID) } err = GetRows(db, &printMsgs, sql, sqlParams) return printMsgs, err } func GetPrintMsgsFail(db *DaoDB, beginAt, endAt time.Time) (prints []*model.PrintMsg, err error) { sql := ` SELECT * FROM print_msg WHERE 1 = 1 AND deleted_at = ? AND status <> ? ` sqlParams := []interface{}{utils.DefaultTimeValue, 1} if !utils.IsTimeZero(beginAt) { sql += " AND created_at > ?" sqlParams = append(sqlParams, beginAt) } if !utils.IsTimeZero(endAt) { sql += " AND created_at < ?" sqlParams = append(sqlParams, endAt) } err = GetRows(db, &prints, sql, sqlParams) return prints, err } func GetPrinter(db *DaoDB, printNo string) (print *model.Printer, err error) { sql := ` SELECT * FROM printer WHERE print_no = ? AND deleted_at = ? ` sqlParams := []interface{}{printNo, utils.DefaultTimeValue} err = GetRow(db, &print, sql, sqlParams) return print, err } // DeletePrintMsg 删除超过一个月时间的打印订单信息 func DeletePrintMsg() { sql := ` DELETE FROM print_msg WHERE created_at < ?` num, err := ExecuteSQL(GetDB(), sql, []interface{}{time.Now().AddDate(0, -1, 0)}...) if err != nil { globals.SugarLogger.Debugf("定时删除超过一个月的打印信息错误:%v", err) } globals.SugarLogger.Debugf("定时删除超过一个月的打印信息:%d 条", num) return }