- 添加自提假订单处理

This commit is contained in:
gazebo
2019-09-11 17:31:07 +08:00
parent 3919aafe83
commit 569abe56b5
4 changed files with 50 additions and 27 deletions

View File

@@ -43,7 +43,7 @@ type StoresOrderSaleInfo struct {
EarningPrice int64 `json:"earningPrice"` // 预估结算给门店老板的钱
}
func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID, lastHours int) (countInfo []*model.GoodsOrderCountInfo, err error) {
func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID, lastHours int, isIncludeFake bool) (countInfo []*model.GoodsOrderCountInfo, err error) {
globals.SugarLogger.Debugf("GetStoreOrderCountInfo storeID:%d", storeID)
if lastHours > maxLastHours {
lastHours = maxLastHours
@@ -52,14 +52,24 @@ func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID, l
}
db := dao.GetDB()
err = dao.GetRows(db, &countInfo, `
sql := `
SELECT t1.lock_status, t1.status, COUNT(*) count
FROM goods_order t1
WHERE t1.vendor_id <> 2 AND IF(t1.vendor_id = ?, t1.store_id, IF(t1.jx_store_id != 0, t1.jx_store_id, t1.store_id) ) = ?
AND t1.order_created_at >= ?
AND t1.order_created_at >= ?`
sqlParams := []interface{}{
model.VendorIDWSC,
storeID,
time.Now().Add(-time.Duration(lastHours) * time.Hour),
}
if !isIncludeFake {
sql += " AND (t1.flag & ?) = 0"
sqlParams = append(sqlParams, model.OrderFlagMaskFake)
}
sql += `
GROUP BY 1,2
ORDER BY 1,2
`, model.VendorIDWSC, storeID, time.Now().Add(-time.Duration(lastHours)*time.Hour))
ORDER BY 1,2`
err = dao.GetRows(db, &countInfo, sql, sqlParams...)
if err == nil {
return countInfo, nil
}
@@ -219,7 +229,7 @@ func (c *OrderManager) ExportMTWaybills(ctx *jxcontext.Context, fromDateStr, toD
return nil, err
}
func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku bool, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (orders []*model.GoodsOrderExt, totalCount int, err error) {
func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (orders []*model.GoodsOrderExt, totalCount int, err error) {
globals.SugarLogger.Debugf("getOrders from:%s to:%s", fromDateStr, toDateStr)
pageSize = jxutils.FormalizePageSize(pageSize)
@@ -359,6 +369,10 @@ func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku bool, from
sqlParams = append(sqlParams, cities)
}
}
if !isIncludeFake {
sqlWhere += " AND (t1.flag & ?) = 0"
sqlParams = append(sqlParams, model.OrderFlagMaskFake)
}
}
if params["vendorIDs"] != nil {
var vendorIDs []int
@@ -398,9 +412,9 @@ func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku bool, from
return orders, totalCount, err
}
func (c *OrderManager) GetOrders(ctx *jxcontext.Context, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
globals.SugarLogger.Debugf("GetOrders from:%s to:%s", fromDateStr, toDateStr)
orders, totalCount, err := c.getOrders(ctx, false, fromDateStr, toDateStr, isDateFinish, params, offset, pageSize)
orders, totalCount, err := c.getOrders(ctx, false, isIncludeFake, fromDateStr, toDateStr, isDateFinish, params, offset, pageSize)
if err == nil {
pagedInfo = &model.PagedInfo{
TotalCount: totalCount,
@@ -422,7 +436,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
switch step {
case 0:
orders, _, err = c.getOrders(ctx, true, fromDateStr, toDateStr, true, mapParams, 0, -1)
orders, _, err = c.getOrders(ctx, true, true, fromDateStr, toDateStr, true, mapParams, 0, -1)
case 1:
afsSkuMap, err = c.getAfsOrderSkuInfo4ExportOrders(ctx, fromDateStr, toDateStr)
case 2: