package orderman import ( "errors" "time" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/orm" ) const ( maxLastHours = 2 * 24 // 最多只能查询两天内的订单数据 ) var ( ErrCanNotFindOrder = errors.New("找不到相应订单") ) func (c *OrderManager) GetStoreOrderInfo(storeID string, lastHours int, fromStatus, toStatus int) (orders []*model.GoodsOrderExt, err error) { if lastHours > maxLastHours { lastHours = maxLastHours } if toStatus == 0 { toStatus = fromStatus } db := orm.NewOrm() _, err = db.Raw(` SELECT t1.*, t2.status waybill_status, t2.courier_name, t2.courier_mobile 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.Status >= ? AND t1.Status <= ? `, storeID, time.Now().Add(-time.Duration(lastHours)*time.Hour), fromStatus, toStatus).QueryRows(&orders) if err == nil { return orders, nil } globals.SugarLogger.Infof("GetStoreOrderInfo storeID:%s failed with error:%v", storeID, err) return nil, err } func (c *OrderManager) GetOrderSkuInfo(vendorOrderID string, vendorID int) (skus []*model.OrderSkuExt, err error) { db := orm.NewOrm() num, err := db.Raw(` SELECT t1.*, t3.img image FROM order_sku t1 LEFT JOIN jx_sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id LEFT JOIN jx_sku_name t3 ON t2.nameid = t3.id WHERE vendor_order_id = ? AND vendor_id = ? `, vendorOrderID, vendorID).QueryRows(&skus) if err == nil && num > 0 { return skus, nil } if err == nil { err = ErrCanNotFindOrder globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d can not find order, num:%d", vendorOrderID, vendorID, num) } else { globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err) } return nil, err }