- fix bug in jxutils.ComposeSkuName
- mtwm SyncStoreSkus almost ok
This commit is contained in:
@@ -192,43 +192,48 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
skus, err := dao.GetStoreSkus(db, model.VendorIDMTWM, storeID, skuIDs)
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(skus, false))
|
||||
strStoreID := utils.Int2Str(storeID)
|
||||
rootTask := tasksch.NewParallelTask("mtwm SyncStoreSkus", tasksch.NewParallelConfig().SetBatchSize(200), ctx.GetUserName(), func(rootTask *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
rootTask := tasksch.NewParallelTask("mtwm SyncStoreSkus", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(rootTask *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
foodDataList := make([]map[string]interface{}, len(batchItemList))
|
||||
for k, v := range batchItemList {
|
||||
skuItem := v.(*dao.StoreSkuSyncInfo)
|
||||
foodDataList[k] = make(map[string]interface{})
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(skuItem, false))
|
||||
foodDataList[k][mtwmapi.KeyAppFoodCode] = utils.Int2Str(skuItem.ID)
|
||||
foodDataList[k]["name"] = skuItem.Name
|
||||
foodDataList[k]["description"] = skuItem.Comment
|
||||
foodDataList[k]["price"] = jxutils.IntPrice2Standard(skuItem.Price)
|
||||
foodDataList[k]["min_order_count"] = 1
|
||||
foodDataList[k]["unit"] = skuItem.Unit
|
||||
foodDataList[k]["box_num"] = 0
|
||||
foodDataList[k]["box_price"] = 0
|
||||
foodDataList[k]["category_name"] = skuItem.VendorCatID
|
||||
foodDataList[k]["is_sold_out"] = skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||
foodDataList[k]["picture"] = skuItem.Img
|
||||
// for k, v := range batchItemList {
|
||||
v := batchItemList[0]
|
||||
skuItem := v.(*dao.StoreSkuSyncInfo)
|
||||
if skuItem.SkuSyncStatus&model.SyncFlagDeletedMask != 0 {
|
||||
err = api.MtwmAPI.RetailDelete(strStoreID, utils.Int2Str(skuItem.ID))
|
||||
} else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 {
|
||||
foodData := make(map[string]interface{})
|
||||
foodDataList[0] = foodData
|
||||
foodData[mtwmapi.KeyAppFoodCode] = utils.Int2Str(skuItem.ID)
|
||||
foodData["name"] = jxutils.ComposeSkuName(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 30)
|
||||
foodData["description"] = skuItem.Comment
|
||||
foodData["price"] = jxutils.IntPrice2Standard(skuItem.Price)
|
||||
foodData["min_order_count"] = 1
|
||||
foodData["unit"] = skuItem.Unit
|
||||
foodData["box_num"] = 0
|
||||
foodData["box_price"] = 0
|
||||
foodData["category_name"] = skuItem.VendorCatID
|
||||
foodData["is_sold_out"] = skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||
foodData["picture"] = skuItem.Img
|
||||
if skuItem.VendorVendorCatID != 0 {
|
||||
foodDataList[k]["tag_id"] = utils.Int64ToStr(skuItem.VendorVendorCatID)
|
||||
foodData["tag_id"] = utils.Int64ToStr(skuItem.VendorVendorCatID)
|
||||
} else {
|
||||
foodDataList[k]["tag_id"] = utils.Int64ToStr(defVendorCatID)
|
||||
foodData["tag_id"] = utils.Int64ToStr(defVendorCatID)
|
||||
}
|
||||
foodDataList[k]["skus"] = []map[string]interface{}{
|
||||
foodData["skus"] = []map[string]interface{}{
|
||||
map[string]interface{}{
|
||||
"sku_id": foodDataList[k][mtwmapi.KeyAppFoodCode],
|
||||
"spec": "大",
|
||||
"sku_id": foodData[mtwmapi.KeyAppFoodCode],
|
||||
"spec": jxutils.ComposeSkuSpec(skuItem.SpecQuality, skuItem.SpecUnit),
|
||||
"weight": skuItem.Weight,
|
||||
"price": foodDataList[k]["price"],
|
||||
"price": foodData["price"],
|
||||
"stock": "*",
|
||||
},
|
||||
}
|
||||
// if err = api.MtwmAPI.RetailInitData(strStoreID, utils.Int2Str(skuItem.ID), foodDataList[k]); err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
err = api.MtwmAPI.RetailBatchInitData(strStoreID, foodDataList)
|
||||
}
|
||||
if err == nil {
|
||||
storeSkuBind := &model.StoreSkuBind{}
|
||||
storeSkuBind.ID = skuItem.BindID
|
||||
_, err = dao.UpdateEntity(nil, storeSkuBind, model.FieldMtwmSyncStatus)
|
||||
}
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(foodDataList, false))
|
||||
err = api.MtwmAPI.RetailBatchInitData(strStoreID, foodDataList)
|
||||
return nil, err
|
||||
}, skus)
|
||||
if parentTask != nil {
|
||||
|
||||
Reference in New Issue
Block a user