exprefix索引,order修改

This commit is contained in:
苏尹岚
2019-12-20 14:32:14 +08:00
parent fc588aec60
commit 0a8a0faec4
6 changed files with 29 additions and 29 deletions

View File

@@ -939,7 +939,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
} }
if len(dateVendorList) > 0 { if len(dateVendorList) > 0 {
var missingOrderList []*tOrderVendorPair var missingOrderList []*tOrderVendorPair
var updateOrderStatusList []*tOrderVendorPair var updateOrderStatusList []*model.GoodsOrder
db := dao.GetDB() db := dao.GetDB()
vendorStoreIDMap := make(map[int]string) vendorStoreIDMap := make(map[int]string)
if storeID > 0 { if storeID > 0 {
@@ -994,14 +994,14 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
if goodsOrder == nil { if goodsOrder == nil {
missingOrderList = append(missingOrderList, pair) missingOrderList = append(missingOrderList, pair)
} else { } else {
if goodsOrder.Status != model.OrderStatusFinished && goodsOrder.Status != model.OrderStatusCanceled { if model.IsOrderFinalStatus(goodsOrder.Status) {
if goodsOrder.BusinessType == model.BusinessTypeImmediate { if goodsOrder.BusinessType == model.BusinessTypeImmediate {
if time.Now().Sub(goodsOrder.CreatedAt).Hours() >= orderSubTimeImmediatelyArrive { if time.Now().Sub(goodsOrder.CreatedAt).Hours() >= orderSubTimeImmediatelyArrive {
updateOrderStatusList = append(updateOrderStatusList, pair) updateOrderStatusList = append(updateOrderStatusList, goodsOrder)
} }
} else { } else {
if time.Now().Sub(goodsOrder.ExpectedDeliveredTime).Hours() >= orderSubTimeDelayArrive { if time.Now().Sub(goodsOrder.ExpectedDeliveredTime).Hours() >= orderSubTimeDelayArrive {
updateOrderStatusList = append(updateOrderStatusList, pair) updateOrderStatusList = append(updateOrderStatusList, goodsOrder)
} }
} }
} }
@@ -1027,12 +1027,12 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
case 2: case 2:
task3 := tasksch.NewParallelTask("AmendMissingOrders UpdateOrders", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, task3 := tasksch.NewParallelTask("AmendMissingOrders UpdateOrders", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
pair := batchItemList[0].(*tOrderVendorPair) goodsOrder := batchItemList[0].(*model.GoodsOrder)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(pair.VendorID); handler != nil { if handler := partner.GetPurchaseOrderHandlerFromVendorID(goodsOrder.VendorID); handler != nil {
order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID) status, err2 := handler.GetOrderStatus(goodsOrder.VendorOrgCode, goodsOrder.VendorOrderID)
if err = err2; err == nil { if err = err2; err == nil {
if order.Status == model.OrderStatusCanceled || order.Status == model.OrderStatusFinished { if status == model.OrderStatusCanceled || status == model.OrderStatusFinished {
err = c.UpdateOrderFields(order, []string{"Status"}) _, err = dao.UpdateEntity(db, goodsOrder, "Status")
} }
} }
} }

View File

@@ -1344,10 +1344,10 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
db = dao.GetDB() db = dao.GetDB()
) )
if fromTime != "" { if fromTime != "" {
fromTimeP = utils.Str2Time(fromTime) fromTimeP = utils.Time2Date(utils.Str2Time(fromTime))
} }
if toTime != "" { if toTime != "" {
toTimeP = utils.Str2Time(toTime) toTimeP = utils.Time2Date(utils.Str2Time(toTime))
} }
if toTimeP.Before(fromTimeP) { if toTimeP.Before(fromTimeP) {
return "", fmt.Errorf("结束时间不可以小于开始时间!开始时间:[%v],结束时间:[%v]", fromTimeP, toTimeP) return "", fmt.Errorf("结束时间不可以小于开始时间!开始时间:[%v],结束时间:[%v]", fromTimeP, toTimeP)

View File

@@ -2532,8 +2532,15 @@ func GetVendorStoreSkuPrice(ctx *jxcontext.Context, vendorIDs []int, skuID int,
storeDetail *dao.StoreDetail storeDetail *dao.StoreDetail
inStoreSku = &partner.StoreSkuInfo{} inStoreSku = &partner.StoreSkuInfo{}
) )
storeMap := &model.StoreMap{
skuNameList, err := dao.GetSkus(dao.GetDB(), []int{skuID}, nil, nil, nil) VendorID: vendorID,
Status: model.SkuStatusNormal,
VendorStoreID: vendorStoreID,
}
db := dao.GetDB()
dao.GetEntity(db, storeMap, "StoreID")
fmt.Println(storeMap.StoreID)
skuNameList, err := dao.GetSkus(db, []int{skuID}, nil, nil, nil)
if err != nil { if err != nil {
return retVal, err return retVal, err
} }

View File

@@ -165,20 +165,13 @@ func syncStoreSku() {
if (time.Now().Unix()/24*3600)%10 == 0 { if (time.Now().Unix()/24*3600)%10 == 0 {
syncFlag |= model.SyncFlagSaleMask syncFlag |= model.SyncFlagSaleMask
} }
db := dao.GetDB()
task := tasksch.NewParallelTask("同步京西与平台数据", nil, jxcontext.AdminCtx, task := tasksch.NewParallelTask("同步京西与平台数据", nil, jxcontext.AdminCtx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
step := batchItemList[0].(int) step := batchItemList[0].(int)
errList := errlist.New() errList := errlist.New()
switch step { switch step {
case 0: case 0:
//清除skuname中额外前缀过期的时间 _, err = cms.CurVendorSync.LoopMultiStoresVendors(jxcontext.AdminCtx, dao.GetDB(), "同步多门店平台商品库", false, true,
err = cms.DeleteSkuNameExPrefixOverdue(db)
//为sku和storeSkuBind打上要更新商品额外前缀的标记
err = cms.SetMultiStoreSkuSyncModifyStatus(db, partner.GetMultiStoreVendorIDs())
err = cms.SetSingleStoreSkuSyncModifyStatus(db, partner.GetSingleStoreVendorIDs())
case 1:
_, err = cms.CurVendorSync.LoopMultiStoresVendors(jxcontext.AdminCtx, db, "同步多门店平台商品库", false, true,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
vendorInfo := batchItemList[0].(*cms.MultiStoreVendorInfo) vendorInfo := batchItemList[0].(*cms.MultiStoreVendorInfo)
_, err = cms.FullSyncVendorStuff(jxcontext.AdminCtx, task, vendorInfo.VendorID, vendorInfo.OrgCode, false, true) _, err = cms.FullSyncVendorStuff(jxcontext.AdminCtx, task, vendorInfo.VendorID, vendorInfo.OrgCode, false, true)
@@ -187,20 +180,20 @@ func syncStoreSku() {
errList.AddErr(err) errList.AddErr(err)
// cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, dao.GetDB(), partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true) // cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, dao.GetDB(), partner.GetMultiStoreVendorIDs(), nil, false, nil, []int{27379}, syncFlag, true, true)
_, err = cms.CurVendorSync.FullSyncStoresSkus(jxcontext.AdminCtx, db, partner.GetMultiStoreVendorIDs(), nil, false, []int{27379}, true, true) _, err = cms.CurVendorSync.FullSyncStoresSkus(jxcontext.AdminCtx, dao.GetDB(), partner.GetMultiStoreVendorIDs(), nil, false, []int{27379}, true, true)
errList.AddErr(err) errList.AddErr(err)
case 2: case 1:
_, err = cms.CurVendorSync.AmendAndPruneStoreStuff(jxcontext.AdminCtx, partner.GetSingleStoreVendorIDs(), nil, false, true, cms.AmendPruneAll, false) _, err = cms.CurVendorSync.AmendAndPruneStoreStuff(jxcontext.AdminCtx, partner.GetSingleStoreVendorIDs(), nil, false, true, cms.AmendPruneAll, false)
errList.AddErr(err) errList.AddErr(err)
SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID) SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID)
taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, db, partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true) taskID, err2 := cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, dao.GetDB(), partner.GetSingleStoreVendorIDs(), nil, false, nil, nil, syncFlag, true, true)
errList.AddErr(err2) errList.AddErr(err2)
SaveImportantTaskID(TaskNameSyncStoreSku, taskID) SaveImportantTaskID(TaskNameSyncStoreSku, taskID)
} }
err = errList.GetErrListAsOne() err = errList.GetErrListAsOne()
return retVal, err return retVal, err
}, []int{0, 1, 2}) }, []int{0, 1})
tasksch.HandleTask(task, nil, true).Run() tasksch.HandleTask(task, nil, true).Run()
} }

View File

@@ -170,7 +170,7 @@ type SkuName struct {
Prefix string `orm:"size(255)" json:"prefix"` Prefix string `orm:"size(255)" json:"prefix"`
Name string `orm:"size(255);index" json:"name"` Name string `orm:"size(255);index" json:"name"`
ExPrefix string `orm:"size(255);index" json:"exPrefix"` ExPrefix string `orm:"size(255)" json:"exPrefix"`
ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"` ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"`
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"` ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
@@ -211,7 +211,7 @@ func (*SkuName) TableUnique() [][]string {
func (*SkuName) TableIndex() [][]string { func (*SkuName) TableIndex() [][]string {
return [][]string{ return [][]string{
[]string{"ExPrefix", "ExPrefixBegin", "ExPrefixEnd"}, []string{"ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "DeletedAt"},
} }
} }

View File

@@ -320,7 +320,7 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas
params.SkuID = utils.Str2Int64WithDefault(storeSkuList[0].VendorSkuID, 0) params.SkuID = utils.Str2Int64WithDefault(storeSkuList[0].VendorSkuID, 0)
} }
} }
page1, err := api.EbaiAPI.SkuList(vendorStoreID, params) page1, err := api.EbaiAPI.SkuList(utils.Int2Str(storeID), params)
if err == nil { if err == nil {
skuNameList = append(skuNameList, vendorSkuList2Jx(page1.List)...) skuNameList = append(skuNameList, vendorSkuList2Jx(page1.List)...)
if page1.Pages > 1 { if page1.Pages > 1 {
@@ -334,7 +334,7 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas
PageSize: ebaiapi.MaxSkuListPageSize, PageSize: ebaiapi.MaxSkuListPageSize,
Page: batchItemList[0].(int), Page: batchItemList[0].(int),
} }
pageSku, err2 := api.EbaiAPI.SkuList(vendorStoreID, callParams) pageSku, err2 := api.EbaiAPI.SkuList(utils.Int2Str(storeID), callParams)
if err2 == nil { if err2 == nil {
return pageSku.List, err2 return pageSku.List, err2
} }