定时更改商品可售状态

This commit is contained in:
苏尹岚
2019-11-15 09:47:10 +08:00
parent bcc534289a
commit 7305f1a6af
6 changed files with 87 additions and 25 deletions

View File

@@ -329,9 +329,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo
if reorderHandler != nil {
reorderSkuMap = make(map[string][]*dao.StoreSkuSyncInfo)
}
now := time.Now().Hour()*100 + time.Now().Minute()
now := jxutils.OperationTime2HourMinuteFormat(time.Now())
for _, sku := range skus {
if isUpdateSkuSaleStatus(sku, now) {
if isUpdateSkuSaleStatus(sku, storeDetail, now) {
sku.MergedStatus = model.SkuStatusDontSale
} else {
sku.MergedStatus = model.SkuStatusNormal
@@ -802,12 +802,27 @@ func GetSensitiveWord(singleStoreHandler partner.ISingleStoreStoreSkuHandler, st
return ""
}
func isUpdateSkuSaleStatus(sku *dao.StoreSkuSyncInfo, now int) bool {
func isUpdateSkuSaleStatus(sku *dao.StoreSkuSyncInfo, storeDetail *dao.StoreDetail, now int) bool {
//商品可售时间的差集与门店营业时间的交集为不可售,其余为原本状态
openTime := sku.OpenTime
closeTime := sku.CloseTime
var openTime int
var closeTime int
saleBeginTime := sku.StatusSaleBegin
saleEndTime := sku.StatusSaleEnd
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 {
if storeDetail.OpenTime1 < storeDetail.OpenTime2 {
openTime = int(storeDetail.OpenTime1)
} else {
openTime = int(storeDetail.OpenTime2)
}
if storeDetail.CloseTime1 > storeDetail.CloseTime2 {
closeTime = int(storeDetail.CloseTime1)
} else {
closeTime = int(storeDetail.CloseTime2)
}
} else {
openTime = int(storeDetail.OpenTime1)
closeTime = int(storeDetail.CloseTime1)
}
beginAt1, endAt1 := GetTimeMixByInt(0, saleBeginTime, openTime, closeTime)
beginAt2, endAt2 := GetTimeMixByInt(saleEndTime, 2400, openTime, closeTime)
if beginAt1 != 0 && endAt1 != 0 {