Files
jx-callback/business/model/dao/invoice_dao.go
邹宗楠 14b6c34652 1
2025-08-12 17:52:30 +08:00

56 lines
1.5 KiB
Go

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
}