刷新物料订单的标志,每周刷新一次,每周只能申请一次
This commit is contained in:
@@ -2,6 +2,7 @@ package orderman
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -1209,10 +1210,16 @@ func GetMatterStoreOrderCount(ctx *jxcontext.Context, storeID int) (result *Orde
|
|||||||
err = dao.GetRows(db, &orderPays, sql, sqlParams)
|
err = dao.GetRows(db, &orderPays, sql, sqlParams)
|
||||||
if len(orderPays) != 0 {
|
if len(orderPays) != 0 {
|
||||||
orderPay := orderPays[0]
|
orderPay := orderPays[0]
|
||||||
if time.Now().Sub(*orderPay.PayFinishedAt).Hours() < 24*7 {
|
stores, _ := dao.GetStoreList(db, []int{storeID}, nil, nil, nil, "")
|
||||||
flag = false
|
if len(stores) > 0 {
|
||||||
|
store := stores[0]
|
||||||
|
if store.IsBoughtMatter == model.YES {
|
||||||
|
flag = false
|
||||||
|
} else {
|
||||||
|
flag = true
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
flag = true
|
flag = false
|
||||||
}
|
}
|
||||||
orderTime = *orderPay.PayFinishedAt
|
orderTime = *orderPay.PayFinishedAt
|
||||||
} else {
|
} else {
|
||||||
@@ -1235,6 +1242,7 @@ func GetMatterStoreOrderCount(ctx *jxcontext.Context, storeID int) (result *Orde
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
orderCount.Count = int(utils.Float64TwoInt64(math.Ceil(utils.Int2Float64(orderCount.Count) * 1.5)))
|
||||||
orderCount.Flag = flag
|
orderCount.Flag = flag
|
||||||
// orderCount.Count = 1000
|
// orderCount.Count = 1000
|
||||||
return orderCount, err
|
return orderCount, err
|
||||||
|
|||||||
@@ -3083,3 +3083,17 @@ func DisabledStoreWithoutVendor(ctx *jxcontext.Context, isContinueWhenError, isA
|
|||||||
}
|
}
|
||||||
return hint, err
|
return hint, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CleanStoreIsBoughtMatter(ctx *jxcontext.Context) (err error) {
|
||||||
|
//每周一凌晨1点清空
|
||||||
|
if int(time.Now().Weekday()) != 1 {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
db := dao.GetDB()
|
||||||
|
sql := `
|
||||||
|
UPDATE store SET is_bought_matter = ?
|
||||||
|
`
|
||||||
|
sqlParam := []interface{}{model.NO}
|
||||||
|
_, err = dao.ExecuteSQL(db, sql, sqlParam)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
@@ -209,6 +209,9 @@ func Init() {
|
|||||||
ScheduleTimerFunc("SendNoCatSkusToOperater", func() {
|
ScheduleTimerFunc("SendNoCatSkusToOperater", func() {
|
||||||
cms.SendNoCatSkusToOperater(jxcontext.AdminCtx)
|
cms.SendNoCatSkusToOperater(jxcontext.AdminCtx)
|
||||||
}, autoPayForPopluarManList)
|
}, autoPayForPopluarManList)
|
||||||
|
ScheduleTimerFunc("CleanStoreIsBoughtMatter", func() {
|
||||||
|
cms.CleanStoreIsBoughtMatter(jxcontext.AdminCtx)
|
||||||
|
}, priceReferTimeList)
|
||||||
}
|
}
|
||||||
ScheduleTimerFunc("AutoSaleStoreSku", func() {
|
ScheduleTimerFunc("AutoSaleStoreSku", func() {
|
||||||
cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, false)
|
cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, false)
|
||||||
|
|||||||
@@ -337,7 +337,8 @@ type Store struct {
|
|||||||
OperatorPhone3 string `orm:"size(16)" json:"operatorPhone3"` // 饿百运营人电话
|
OperatorPhone3 string `orm:"size(16)" json:"operatorPhone3"` // 饿百运营人电话
|
||||||
OperatorRole3 string `orm:"size(32)" json:"operatorRole3"` // 饿百运营人组(角色)
|
OperatorRole3 string `orm:"size(32)" json:"operatorRole3"` // 饿百运营人组(角色)
|
||||||
|
|
||||||
PromoteInfo string `orm:"size(255)" json:"promoteInfo"` //门店公告(所有平台统一的公告)
|
PromoteInfo string `orm:"size(255)" json:"promoteInfo"` //门店公告(所有平台统一的公告)
|
||||||
|
IsBoughtMatter int `json:"isBoughtMatter"` //这周是否申请过物料
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Store) TableUnique() [][]string {
|
func (*Store) TableUnique() [][]string {
|
||||||
|
|||||||
@@ -900,6 +900,12 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
|||||||
cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stores, err := dao.GetStoreList(db, []int{order.FromStoreID}, nil, nil, nil, "")
|
||||||
|
if len(stores) > 0 {
|
||||||
|
store := stores[0]
|
||||||
|
store.IsBoughtMatter = model.YES
|
||||||
|
dao.UpdateEntity(db, store, "IsBoughtMatter")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -983,6 +989,38 @@ func CancelMatterOrder(db *dao.DaoDB, order *model.GoodsOrder, reason string) (e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stores, _ := dao.GetStoreList(db, []int{order.FromStoreID}, nil, nil, nil, "")
|
||||||
|
if len(stores) > 0 {
|
||||||
|
//如果这周还买过其他物料,则不刷新是否购买标志
|
||||||
|
var (
|
||||||
|
orderPays []*model.OrderPay
|
||||||
|
day int
|
||||||
|
)
|
||||||
|
sql := `
|
||||||
|
SELECT b.*
|
||||||
|
FROM goods_order a
|
||||||
|
JOIN order_pay b ON a.vendor_order_id = b.vendor_order_id
|
||||||
|
WHERE IF(a.store_id = 0, a.jx_store_id, a.store_id) = 666666
|
||||||
|
AND a.from_store_id = ?
|
||||||
|
AND a.status >= ? AND a.status <> ?
|
||||||
|
AND b.status = ?
|
||||||
|
AND b.pay_finished_at <= NOW() AND b.pay_finished_at >= ?
|
||||||
|
`
|
||||||
|
weekInt := int(time.Now().Weekday())
|
||||||
|
if weekInt == 0 {
|
||||||
|
day = 7
|
||||||
|
} else {
|
||||||
|
day = weekInt
|
||||||
|
}
|
||||||
|
lastTime := utils.Str2Time(time.Now().AddDate(0, 0, day-1).Format("2006-01-02") + "01:00:00")
|
||||||
|
sqlParams := []interface{}{order.FromStoreID, model.OrderStatusDelivering, model.OrderStatusCanceled, model.PayStatusYes, lastTime}
|
||||||
|
err = dao.GetRows(db, &orderPays, sql, sqlParams)
|
||||||
|
if len(orderPays) == 0 {
|
||||||
|
store := stores[0]
|
||||||
|
store.IsBoughtMatter = model.NO
|
||||||
|
dao.UpdateEntity(db, store, "IsBoughtMatter")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user