- StoreSkuSyncInfo中添加SkuID,以这个字段为必须存在的sku_id
This commit is contained in:
@@ -47,6 +47,8 @@ type StoreSkuSyncInfo struct {
|
|||||||
UnitPrice int64
|
UnitPrice int64
|
||||||
StoreSkuStatus int
|
StoreSkuStatus int
|
||||||
SkuSyncStatus int8
|
SkuSyncStatus int8
|
||||||
|
SkuID int `orm:"column(sku_id)"`
|
||||||
|
|
||||||
model.Sku
|
model.Sku
|
||||||
VendorSkuID string `orm:"column(vendor_sku_id)"`
|
VendorSkuID string `orm:"column(vendor_sku_id)"`
|
||||||
Prefix string
|
Prefix string
|
||||||
@@ -146,7 +148,7 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
|
|||||||
}
|
}
|
||||||
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status, %s vendor_name_id,
|
SELECT t1.id bind_id, t1.sku_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status, %s vendor_name_id,
|
||||||
t2.*,
|
t2.*,
|
||||||
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img, t3.upc, t3.%s desc_img,
|
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img, t3.upc, t3.%s desc_img,
|
||||||
t4.%s_category_id vendor_vendor_cat_id, t4.%s_price_percentage cat_price_percentage
|
t4.%s_category_id vendor_vendor_cat_id, t4.%s_price_percentage cat_price_percentage
|
||||||
@@ -201,7 +203,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf
|
|||||||
|
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, t2.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status,
|
SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, t2.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status,
|
||||||
t2.*,
|
t2.*, t2.id sku_id,
|
||||||
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img,
|
t3.id name_id, t3.prefix, t3.name, t3.unit, IF(t3.%s <> '', t3.%s, t3.img) img,
|
||||||
t4.%s_category_id vendor_vendor_cat_id,
|
t4.%s_category_id vendor_vendor_cat_id,
|
||||||
t4.%s_sync_status cat_sync_status, t4.%s_id vendor_cat_id,
|
t4.%s_sync_status cat_sync_status, t4.%s_id vendor_cat_id,
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
if storeSku.SkuSyncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask) != 0 || storeSku.BindID == 0 || storeSku.NameID == 0 { // 关注或取消关注
|
if storeSku.SkuSyncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask) != 0 || storeSku.BindID == 0 || storeSku.NameID == 0 { // 关注或取消关注
|
||||||
stock := &jdapi.SkuStock{
|
stock := &jdapi.SkuStock{
|
||||||
OutSkuId: utils.Int2Str(storeSku.ID),
|
OutSkuId: utils.Int2Str(storeSku.SkuID),
|
||||||
StockQty: model.MaxStoreSkuStockQty,
|
StockQty: model.MaxStoreSkuStockQty,
|
||||||
}
|
}
|
||||||
if storeSku.SkuSyncStatus&model.SyncFlagDeletedMask != 0 || storeSku.DeletedAt != utils.DefaultTimeValue || storeSku.BindID == 0 || storeSku.NameID == 0 {
|
if storeSku.SkuSyncStatus&model.SyncFlagDeletedMask != 0 || storeSku.DeletedAt != utils.DefaultTimeValue || storeSku.BindID == 0 || storeSku.NameID == 0 {
|
||||||
@@ -60,20 +60,20 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
if storeSku.SkuSyncStatus&(model.SyncFlagPriceMask|model.SyncFlagNewMask) != 0 {
|
if storeSku.SkuSyncStatus&(model.SyncFlagPriceMask|model.SyncFlagNewMask) != 0 {
|
||||||
skuPriceInfoList = append(skuPriceInfoList, &jdapi.SkuPriceInfo{
|
skuPriceInfoList = append(skuPriceInfoList, &jdapi.SkuPriceInfo{
|
||||||
OutSkuId: utils.Int2Str(storeSku.ID),
|
OutSkuId: utils.Int2Str(storeSku.SkuID),
|
||||||
Price: constrainPrice(jxutils.CaculateSkuVendorPrice(int(storeSku.Price), int(storeDetail.PricePercentage), storeSku.CatPricePercentage)),
|
Price: constrainPrice(jxutils.CaculateSkuVendorPrice(int(storeSku.Price), int(storeDetail.PricePercentage), storeSku.CatPricePercentage)),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if storeSku.SkuSyncStatus&(model.SyncFlagSaleMask|model.SyncFlagNewMask) != 0 {
|
if storeSku.SkuSyncStatus&(model.SyncFlagSaleMask|model.SyncFlagNewMask) != 0 {
|
||||||
vendibility := &jdapi.StockVendibility{
|
vendibility := &jdapi.StockVendibility{
|
||||||
OutSkuId: utils.Int2Str(storeSku.ID),
|
OutSkuId: utils.Int2Str(storeSku.SkuID),
|
||||||
DoSale: true,
|
DoSale: true,
|
||||||
}
|
}
|
||||||
if storeSku.StoreSkuStatus != model.StoreSkuBindStatusNormal {
|
if storeSku.StoreSkuStatus != model.StoreSkuBindStatusNormal {
|
||||||
vendibility.DoSale = false
|
vendibility.DoSale = false
|
||||||
} else if !alreadyAddStock { // 如果是设置可售则自动将库存加满
|
} else if !alreadyAddStock { // 如果是设置可售则自动将库存加满
|
||||||
stock := &jdapi.SkuStock{
|
stock := &jdapi.SkuStock{
|
||||||
OutSkuId: utils.Int2Str(storeSku.ID),
|
OutSkuId: utils.Int2Str(storeSku.SkuID),
|
||||||
StockQty: model.MaxStoreSkuStockQty,
|
StockQty: model.MaxStoreSkuStockQty,
|
||||||
}
|
}
|
||||||
skuStockList = append(skuStockList, stock)
|
skuStockList = append(skuStockList, stock)
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
} else if skuItem.SkuSyncStatus&(model.SyncFlagStoreSkuModifiedMask|model.SyncFlagNewMask) != 0 {
|
} else if skuItem.SkuSyncStatus&(model.SyncFlagStoreSkuModifiedMask|model.SyncFlagNewMask) != 0 {
|
||||||
foodData := make(map[string]interface{})
|
foodData := make(map[string]interface{})
|
||||||
foodDataList[0] = foodData
|
foodDataList[0] = foodData
|
||||||
foodData[mtwmapi.KeyAppFoodCode] = utils.Int2Str(skuItem.ID)
|
foodData[mtwmapi.KeyAppFoodCode] = utils.Int2Str(skuItem.SkuID)
|
||||||
skus := []map[string]interface{}{
|
skus := []map[string]interface{}{
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"sku_id": foodData[mtwmapi.KeyAppFoodCode],
|
"sku_id": foodData[mtwmapi.KeyAppFoodCode],
|
||||||
@@ -279,7 +279,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
foodData["skus"] = skus
|
foodData["skus"] = skus
|
||||||
if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0 {
|
if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0 {
|
||||||
globals.SugarLogger.Debugf("mtwm SyncStoreSkus3 skuID:%d, SkuSyncStatus:%d", skuItem.ID, skuItem.SkuSyncStatus)
|
globals.SugarLogger.Debugf("mtwm SyncStoreSkus3 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.SkuSyncStatus)
|
||||||
mergeStoreSkuStatus := jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus)
|
mergeStoreSkuStatus := jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus)
|
||||||
if !(skuItem.SkuSyncStatus&model.SyncFlagNewMask != 0 && mergeStoreSkuStatus != model.SkuStatusNormal) {
|
if !(skuItem.SkuSyncStatus&model.SyncFlagNewMask != 0 && mergeStoreSkuStatus != model.SkuStatusNormal) {
|
||||||
if skuItem.Img == "" {
|
if skuItem.Img == "" {
|
||||||
@@ -313,7 +313,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
if globals.EnableMtwmStoreWrite {
|
if globals.EnableMtwmStoreWrite {
|
||||||
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
||||||
storeSkuBind.MtwmID = int64(skuItem.ID)
|
storeSkuBind.MtwmID = int64(skuItem.SkuID)
|
||||||
updateFields = append(updateFields, model.FieldMtwmID)
|
updateFields = append(updateFields, model.FieldMtwmID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -324,7 +324,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if skuItem.SkuSyncStatus&(model.SyncFlagSaleMask) != 0 {
|
if skuItem.SkuSyncStatus&(model.SyncFlagSaleMask) != 0 {
|
||||||
globals.SugarLogger.Debugf("mtwm SyncStoreSkus4 skuID:%d, SkuSyncStatus:%d", skuItem.ID, skuItem.SkuSyncStatus)
|
globals.SugarLogger.Debugf("mtwm SyncStoreSkus4 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.SkuSyncStatus)
|
||||||
sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||||
if globals.EnableMtwmStoreWrite {
|
if globals.EnableMtwmStoreWrite {
|
||||||
err = api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus)
|
err = api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus)
|
||||||
|
|||||||
Reference in New Issue
Block a user