54 lines
1.7 KiB
Go
54 lines
1.7 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, ^int8(model.OrderFlagMaskPrinted))
|
|
}
|
|
return err
|
|
}
|
|
|
|
func SetOrderFlag(db *DaoDB, userName string, vendorOrderID string, vendorID int, flag int8) (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 int8) (err error) {
|
|
_, err = ExecuteSQL(db, `
|
|
UPDATE goods_order
|
|
SET flag = flag & ?
|
|
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
`, flag, vendorOrderID, vendorID)
|
|
return err
|
|
}
|