三平台商品 水印,京东商城订单转移

This commit is contained in:
苏尹岚
2020-06-17 18:31:25 +08:00
parent 9cf268ae78
commit 472c1f34e1
6 changed files with 52 additions and 23 deletions

View File

@@ -1183,16 +1183,18 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
if len(storeMaps) > 0 {
order.StoreID = storeID
order.StoreName = storeMaps[0].StoreName
order.VendorStoreID = storeMaps[0].VendorStoreID
} else {
return "", fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID)
}
if len(order.VendorOrderID) > 12 {
suffix := utils.Str2Int(order.VendorOrderID[12:len(order.VendorOrderID)])
suffix++
order.VendorOrderID = order.VendorOrderID2 + utils.Int2Str(suffix)
order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*10) + utils.Int2Str(suffix)
}
for _, sku := range skus {
sku.VendorOrderID = order.VendorOrderID
sku.ID = 0
order.Skus = append(order.Skus, sku)
}
order.Status = model.OrderStatusNew

View File

@@ -2562,7 +2562,7 @@ func UpdateSkuExinfoMap(ctx *jxcontext.Context, nameIDs []int, imgWaterMark stri
EndAt: toTimeP,
}
dao.WrapAddIDCULDEntity(skuEx, ctx.GetUserName())
skuExs, _ := dao.GetSkuExinfos(db, []int{nameID}, vendorID, "", utils.ZeroTimeValue, utils.ZeroTimeValue)
skuExs, _ := dao.GetSkuExinfos(db, []int{nameID}, []int{vendorID}, "", utils.ZeroTimeValue, utils.ZeroTimeValue)
if len(skuExs) > 0 {
skuEx2 := skuExs[0]
skuEx2.DeletedAt = time.Now()

View File

@@ -1108,23 +1108,26 @@ func (v *VendorSync) SyncJdsStoresSkus(ctx *jxcontext.Context, storeIDs []int, i
}
func syncJdsStoreStock(ctx *jxcontext.Context, db *dao.DaoDB, storeSkus []*model.StoreSkuBind, storeMap *model.StoreMap) (err error) {
task := tasksch.NewParallelTask("syncJdsStoreStock", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeSku := batchItemList[0].(*model.StoreSkuBind)
stock := 0
if storeSku.Status == model.StoreSkuBindStatusNormal {
stock = 9999
for _, storeSku := range storeSkus {
stock := 0
if storeSku.Status == model.StoreSkuBindStatusNormal {
stock = 9999
}
storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID})
if storeSku.JdsID != 0 && len(storeSku2) > 0 {
if storeSku.Status != storeSku2[0].Status {
err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID))
}
storeSku2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{storeSku.SkuID})
if storeSku.JdsID != 0 && len(storeSku2) > 0 {
if storeSku.Status != storeSku2[0].Status {
err = api.JdShopAPI.UpdateSkuSiteStock(storeSku.JdsID, stock, utils.Str2Int(storeMap.VendorStoreID))
}
}
return retVal, err
}, storeSkus)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
}
}
// task := tasksch.NewParallelTask("syncJdsStoreStock", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeSku := batchItemList[0].(*model.StoreSkuBind)
// return retVal, err
// }, storeSkus)
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
return err
}
@@ -1214,3 +1217,19 @@ func buildStoreSkuBindInfo(db *dao.DaoDB, storeID int, storeBind *dao.StoreSkuSy
skuBindInfo.Skus = skus
return skuBindInfo
}
func SyncSkuExperfixAndWatermark(ctx *jxcontext.Context) (err error) {
var (
db = dao.GetDB()
)
dao.GetSkuExinfos(db, nil, []int{model.VendorIDMTWM, model.VendorIDEBAI, model.VendorIDJD}, "", utils.ZeroTimeValue, utils.ZeroTimeValue)
// task := tasksch.NewParallelTask("syncJdsStoreStock", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// storeSku := batchItemList[0].(*model.StoreSkuBind)
// return retVal, err
// }, storeSkus)
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
return err
}

View File

@@ -419,6 +419,8 @@ func doDailyWork() {
orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, time.Now().AddDate(0, 0, -3).Format("20060102"), time.Now().Format("20060102"))
//同步上架京东商城待售商品
cms.RefreshJdsSkusStatus(jxcontext.AdminCtx)
//同步商品额外前缀和水印图
cms.SyncSkuExperfixAndWatermark(jxcontext.AdminCtx)
}
func RefreshRealMobile(ctx *jxcontext.Context, vendorID int, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) {

View File

@@ -380,7 +380,7 @@ func InsertUpcDepot(db *DaoDB, result *aliupcapi.GetAliUpcInfoResult) (err error
return err
}
func GetSkuExinfos(db *DaoDB, nameIDs []int, vendorID int, exPrefix string, fromTime, toTime time.Time) (skuExinfoMaps []*model.SkuExinfoMap, err error) {
func GetSkuExinfos(db *DaoDB, nameIDs []int, vendorIDs []int, exPrefix string, fromTime, toTime time.Time) (skuExinfoMaps []*model.SkuExinfoMap, err error) {
sql := `
SELECT *
FROM sku_exinfo_map
@@ -393,9 +393,9 @@ func GetSkuExinfos(db *DaoDB, nameIDs []int, vendorID int, exPrefix string, from
sql += " AND name_id IN (" + GenQuestionMarks(len(nameIDs)) + ")"
sqlParams = append(sqlParams, nameIDs)
}
if vendorID != -1 {
sql += " AND vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
if len(vendorIDs) > 0 {
sql += " AND vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
sqlParams = append(sqlParams, vendorIDs)
}
if exPrefix != "" {
sql += " AND ex_prefix LIKE ?"

View File

@@ -316,10 +316,16 @@ func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrg
}
func genSkuParamsFromStoreSkuInfo2(storeSku *dao.StoreSkuSyncInfo, isCreate, isExd bool) (params map[string]interface{}) {
var img string
if storeSku.ImgMix != "" {
img = storeSku.ImgMix
} else {
img = storeSku.Img
}
photos := []map[string]interface{}{
map[string]interface{}{
"is_master": true,
"url": storeSku.Img,
"url": img,
},
}
if storeSku.Img2 != "" {