This commit is contained in:
gazebo
2019-10-15 09:34:15 +08:00
parent a776e144af
commit 58f4668a6e

View File

@@ -1,13 +1,14 @@
package misc package misc
import ( import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"time"
"strings" "strings"
"sync" "sync"
"time"
"git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
@@ -17,22 +18,22 @@ import (
) )
const ( const (
enableScheduleRefreshStore = true enableScheduleRefreshStore = true
taskParallelCount = 4 taskParallelCount = 4
specialSkuNameKeyWord = "温馨提示" specialSkuNameKeyWord = "温馨提示"
startOpStoreStockNumber = 0 startOpStoreStockNumber = 0
endOpStoreStockNumber = model.MaxStoreSkuStockQty endOpStoreStockNumber = model.MaxStoreSkuStockQty
) )
var ( var (
isDaemonRunning = false isDaemonRunning = false
vendorList = map[int]bool { vendorList = map[int]bool{
model.VendorIDMTWM: true, model.VendorIDMTWM: true,
model.VendorIDEBAI: true, model.VendorIDEBAI: true,
} }
storeListQueueData = map[bool]*StoreListQueueData { storeListQueueData = map[bool]*StoreListQueueData{
true : &StoreListQueueData{}, true: &StoreListQueueData{},
false : &StoreListQueueData{}, false: &StoreListQueueData{},
} }
// vendorStoreRefreshTimeList = map[int][]string { // vendorStoreRefreshTimeList = map[int][]string {
// model.VendorIDMTWM: []string { // model.VendorIDMTWM: []string {
@@ -65,15 +66,16 @@ var (
) )
type StoreListQueueData struct { type StoreListQueueData struct {
waitQueue []*cms.StoreExt waitQueue []*cms.StoreExt
processQueue []*cms.StoreExt processQueue []*cms.StoreExt
locker sync.RWMutex locker sync.RWMutex
} }
func (s *StoreListQueueData) GetProcessQueue() []*cms.StoreExt { func (s *StoreListQueueData) GetProcessQueue() (outQueue []*cms.StoreExt) {
s.locker.RLock() s.locker.RLock()
defer s.locker.RUnlock() defer s.locker.RUnlock()
return s.processQueue outQueue = append(outQueue, s.processQueue...)
return outQueue
} }
func (s *StoreListQueueData) InsertToWaitQueue(storeInfo *cms.StoreExt) { func (s *StoreListQueueData) InsertToWaitQueue(storeInfo *cms.StoreExt) {
@@ -144,7 +146,7 @@ func SetSpecialSkuStatus(ctx *jxcontext.Context, storeID, vendorID int, vendorSt
singleStoreHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler) singleStoreHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
for _, skuNameInfo := range storeSkuNameList { for _, skuNameInfo := range storeSkuNameList {
for _, skuInfo := range skuNameInfo.SkuList { for _, skuInfo := range skuNameInfo.SkuList {
if IsSpecialSku(skuNameInfo.Name) || IsSpecialSku(skuInfo.SkuName) { if IsSpecialSku(skuNameInfo.Name) || IsSpecialSku(skuInfo.SkuName) {
storeSkuList := []*partner.StoreSkuInfo{&skuInfo.StoreSkuInfo} storeSkuList := []*partner.StoreSkuInfo{&skuInfo.StoreSkuInfo}
singleStoreHandler.UpdateStoreSkusStatus(ctx, storeID, vendorStoreID, storeSkuList, model.SkuStatusNormal) singleStoreHandler.UpdateStoreSkusStatus(ctx, storeID, vendorStoreID, storeSkuList, model.SkuStatusNormal)
} }
@@ -190,7 +192,7 @@ func GetFilterStoreList(storeList []*cms.StoreExt, vendorMap, storeIDMap map[int
} }
temp := *storeInfo temp := *storeInfo
newStoreInfo := &temp newStoreInfo := &temp
newStoreInfo.StoreMaps = []map[string]interface{} {vendorStoreInfo} newStoreInfo.StoreMaps = []map[string]interface{}{vendorStoreInfo}
outStoreList = append(outStoreList, newStoreInfo) outStoreList = append(outStoreList, newStoreInfo)
} }
} }
@@ -293,6 +295,7 @@ func StartOrEndOpStoreEx(ctx *jxcontext.Context, isStart bool, startTime, endTim
func IsJXCS() bool { func IsJXCS() bool {
return globals.IsMainProductEnv() return globals.IsMainProductEnv()
} }
// func GetVendorStoreRefreshTime(vendorID int) (startTimeList, stopTimeList []string) { // func GetVendorStoreRefreshTime(vendorID int) (startTimeList, stopTimeList []string) {
// isJXCS := globals.IsMainProductEnv() // isJXCS := globals.IsMainProductEnv()
// refreshTimeList := vendorStoreRefreshTimeList[vendorID] // refreshTimeList := vendorStoreRefreshTimeList[vendorID]
@@ -374,7 +377,7 @@ func InitEx() {
value.TransferWaitQueueToProcessQueue() value.TransferWaitQueueToProcessQueue()
} }
} }
PeriodlyCall(time.Second, periodlyFunc) PeriodlyCall(60*time.Second, periodlyFunc)
} }
return result, err return result, err
} }