package dao import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" "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 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 }