package dao import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "time" ) func GetInvoiceInfo(db *DaoDB, vendorOrderId string) (*model.InvoiceMsg, error) { data := &model.InvoiceMsg{} sql := ` SELECT * FROM invoice_msg WHERE order_id = ? ` err := GetRow(db, data, sql, []interface{}{vendorOrderId}...) return data, err } func GetStoreInvoiceList(storeID int, startTime, endTime time.Time, status string, offset, pageSize int) (info *model.PagedInfo, err error) { parameter := []interface{}{} sql := ` SELECT * FROM invoice_msg WHERE 1=1 ` if storeID != 0 { sql += ` AND store_id = ? ` parameter = append(parameter, storeID) } if !utils.IsTimeZero(startTime) { sql += ` AND created_at >= ? ` parameter = append(parameter, startTime) } if !utils.IsTimeZero(endTime) { sql += ` AND created_at <= ? ` parameter = append(parameter, endTime) } if status != "" { switch status { case "1": // 未回复 sql += ` AND invoice_url = ""` case "2": // 已回复 sql += ` AND invoice_url <> ""` } } sql += " LIMIT ? OFFSET ?" parameter = append(parameter, jxutils.FormalizePageSize(pageSize), offset) db := GetDB() txDB, _ := Begin(db) defer Commit(db, txDB) data := make([]*model.InvoiceMsg, 0, 0) if err = GetRowsTx(txDB, &data, sql, parameter...); err == nil { pagedInfo := &model.PagedInfo{ TotalCount: GetLastTotalRowCount2(db, txDB), Data: data, } return pagedInfo, nil } return nil, err }