85 lines
2.5 KiB
Go
85 lines
2.5 KiB
Go
package dao
|
|
|
|
import (
|
|
"time"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
)
|
|
|
|
func GetStoreOrderAfterTime(db *DaoDB, storeID int, orderTime time.Time, lastOrderSeqID int64) (orderList []*model.GoodsOrderExt, err error) {
|
|
sql := `
|
|
SELECT t1.*,
|
|
t2.status waybill_status, t2.courier_name, t2.courier_mobile,
|
|
t2.actual_fee, t2.desired_fee, t2.waybill_created_at, t2.waybill_finished_at
|
|
FROM goods_order t1
|
|
LEFT JOIN waybill t2 ON t1.vendor_waybill_id = t2.vendor_waybill_id AND t1.waybill_vendor_id = t2.waybill_vendor_id
|
|
WHERE IF(t1.jx_store_id <> 0, t1.jx_store_id, t1.store_id) = ? AND t1.order_created_at >= ? AND t1.id > ? AND t1.status < ?
|
|
ORDER BY t1.order_created_at DESC, t1.id DESC;
|
|
`
|
|
sqlParams := []interface{}{
|
|
storeID,
|
|
orderTime,
|
|
lastOrderSeqID,
|
|
model.OrderStatusEndBegin,
|
|
}
|
|
return orderList, GetRows(db, &orderList, sql, sqlParams...)
|
|
}
|
|
|
|
func SetOrderPrintFlag(db *DaoDB, userName string, vendorOrderID string, vendorID int, isPrinted bool) (err error) {
|
|
if isPrinted {
|
|
err = SetOrderFlag(db, userName, vendorOrderID, vendorID, model.OrderFlagMaskPrinted)
|
|
} else {
|
|
err = SetOrderFlag(db, userName, vendorOrderID, vendorID, ^model.OrderFlagMaskPrinted)
|
|
}
|
|
return err
|
|
}
|
|
|
|
func SetOrderFlag(db *DaoDB, userName string, vendorOrderID string, vendorID int, flag int) (err error) {
|
|
_, err = ExecuteSQL(db, `
|
|
UPDATE goods_order
|
|
SET flag = flag | ?
|
|
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
`, flag, vendorOrderID, vendorID)
|
|
return err
|
|
}
|
|
|
|
func ClearOrderFlag(db *DaoDB, userName string, vendorOrderID string, vendorID int, flag int) (err error) {
|
|
_, err = ExecuteSQL(db, `
|
|
UPDATE goods_order
|
|
SET flag = flag & ?
|
|
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
`, flag, vendorOrderID, vendorID)
|
|
return err
|
|
}
|
|
|
|
func SetAfsOrderFlag(db *DaoDB, userName string, afsOrderID string, vendorID int, flag int) (err error) {
|
|
_, err = ExecuteSQL(db, `
|
|
UPDATE afs_order
|
|
SET flag = flag | ?
|
|
WHERE afs_order_id = ? AND vendor_id = ?
|
|
`, flag, afsOrderID, vendorID)
|
|
return err
|
|
}
|
|
|
|
func GetAfsOrders(db *DaoDB, vendorID int, vendorOrderID, afsOrderID string) (afsOrderList []*model.AfsOrder, err error) {
|
|
sql := `
|
|
SELECT *
|
|
FROM afs_order t1
|
|
WHERE t1.vendor_id = ?
|
|
`
|
|
sqlParams := []interface{}{
|
|
vendorID,
|
|
}
|
|
if vendorOrderID != "" {
|
|
sql += " AND t1.vendor_order_id = ?"
|
|
sqlParams = append(sqlParams, vendorOrderID)
|
|
}
|
|
if afsOrderID != "" {
|
|
sql += " AND t1.afs_order_id = ?"
|
|
sqlParams = append(sqlParams, afsOrderID)
|
|
}
|
|
sql += " ORDER BY t1.afs_order_id DESC"
|
|
err = GetRows(db, &afsOrderList, sql, sqlParams...)
|
|
return afsOrderList, err
|
|
}
|