Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -617,8 +617,8 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []strin
|
||||
keywordInt64, keywordInt64,
|
||||
model.ThingTypeSku, utils.DefaultTimeValue, keywordInt64)
|
||||
if isFocus {
|
||||
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
|
||||
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ? OR t4.dd_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64,keywordInt64)
|
||||
}
|
||||
}
|
||||
sql += ")"
|
||||
@@ -875,8 +875,8 @@ func getGetStoresSkusBaseSQL2(db *dao.DaoDB, storeIDs, skuIDs []int, upcs []stri
|
||||
keywordInt64, keywordInt64,
|
||||
model.ThingTypeSku, utils.DefaultTimeValue, keywordInt64)
|
||||
if isFocus {
|
||||
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
|
||||
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ? OR t4.dd_id = ?"
|
||||
sqlParams = append(sqlParams, keywordInt64, keywordInt64,keywordInt64)
|
||||
}
|
||||
}
|
||||
sql += ")"
|
||||
@@ -1134,7 +1134,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str
|
||||
t2.comment, t2.category_id sku_category_id, t2.status sku_status, t2.eclp_id,
|
||||
t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
|
||||
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
|
||||
t4.ebai_id, t4.mtwm_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.ebai_id, t4.mtwm_id,t4.dd_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.yb_sync_status, t4.jds_sync_status,
|
||||
t4.jd_price, t4.ebai_price, t4.mtwm_price, t4.jx_price, t4.yb_price, t4.jds_price,
|
||||
t4.jd_lock_time, t4.ebai_lock_time, t4.mtwm_lock_time, t4.jx_lock_time, t4.yb_lock_time, t4.jds_lock_time,
|
||||
@@ -1307,7 +1307,7 @@ func GetStoresSkusNew2(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []st
|
||||
t2.comment, t2.category_id sku_category_id, t2.status sku_status, t2.eclp_id,
|
||||
t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
|
||||
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
|
||||
t4.ebai_id, t4.mtwm_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.ebai_id, t4.mtwm_id,t4.dd_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.yb_sync_status, t4.jds_sync_status,
|
||||
t4.jd_price, t4.ebai_price, t4.mtwm_price, t4.jx_price, t4.yb_price, t4.jds_price,
|
||||
t4.jd_lock_time, t4.ebai_lock_time, t4.mtwm_lock_time, t4.jx_lock_time, t4.yb_lock_time, t4.jds_lock_time,
|
||||
@@ -2060,6 +2060,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
skuBind.EbaiID = deletedSku.EbaiID
|
||||
skuBind.JdsID = deletedSku.JdsID
|
||||
skuBind.JdsWareID = deletedSku.JdsWareID
|
||||
skuBind.DdID = deletedSku.DdID
|
||||
if num, err = dao.UpdateEntity(db, skuBind); err != nil {
|
||||
dao.Rollback(db, txDB)
|
||||
return nil, err
|
||||
@@ -3471,7 +3472,7 @@ func GetLocalStoreSkusByStoreID(storeID int) (tmp []*tGetStoresSkusInfoContainCa
|
||||
t2.comment, t2.category_id sku_category_id, t2.status sku_status, t2.eclp_id,
|
||||
t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
|
||||
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
|
||||
t4.ebai_id, t4.mtwm_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.ebai_id, t4.mtwm_id,t4.dd_id, t4.yb_id, CONCAT(smm.yb_store_prefix,t1.yb_name_suffix) yb_sku_name, t4.jds_id, t4.jds_ware_id,
|
||||
t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.yb_sync_status, t4.jds_sync_status,
|
||||
t4.jd_price, t4.ebai_price, t4.mtwm_price, t4.jx_price, t4.yb_price, t4.jds_price,
|
||||
t4.jd_lock_time, t4.ebai_lock_time, t4.mtwm_lock_time, t4.jx_lock_time, t4.yb_lock_time, t4.jds_lock_time,
|
||||
|
||||
@@ -142,6 +142,7 @@ type DiffData struct {
|
||||
VendorStoreName string `json:"门店名"`
|
||||
SkuID string `json:"SkuID"`
|
||||
MtwmID string `json:"京西美团外卖ID"`
|
||||
DdID string `json:"京西抖店ID"`
|
||||
EbaiID string `json:"京西饿百ID"`
|
||||
SyncStatus string `json:"同步状态"`
|
||||
ToBeCreate string `json:"待创建"`
|
||||
@@ -382,6 +383,8 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
ebaiid := jxSkuInfo.Skus[0].EbaiID
|
||||
/*美团编码*/
|
||||
mtwmid := jxSkuInfo.Skus[0].MtwmID
|
||||
/*抖店编码*/
|
||||
ddid := jxSkuInfo.Skus[0].DdID
|
||||
//jxSkuPrice := strconv.Itoa(jxSkuInfo.Skus[0].JxPrice)
|
||||
/*商品类名*/
|
||||
jxCategoryName := jxSkuInfo.Skus[0].CategoryName
|
||||
@@ -418,7 +421,7 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
vendorPrice := fmt.Sprintf("%.2f", float64(vendorSkuInfo.SkuList[0].StoreSkuInfo.VendorPrice)/float64(100))
|
||||
var IdMark bool
|
||||
if isJd == 0 {
|
||||
IdMark = skuIDStr != ebaiid && skuIDStr != mtwmid
|
||||
IdMark = skuIDStr != ebaiid && skuIDStr != mtwmid && skuIDStr != ddid
|
||||
} else {
|
||||
IdMark = false
|
||||
}
|
||||
@@ -454,12 +457,12 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
if status != model.SkuStatusDontSale {
|
||||
reason += DatAanalyse7
|
||||
}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName, jxSkuPrice, vendorPrice, jxCategoryName, vendorCategoryName, reason}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ddid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName, jxSkuPrice, vendorPrice, jxCategoryName, vendorCategoryName, reason}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
if !isSaleStatusDiff && !isNameDiff {
|
||||
if status != model.SkuStatusDontSale {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName, jxSkuPrice, vendorPrice, jxCategoryName, vendorCategoryName, DatAanalyse7}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ddid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName, jxSkuPrice, vendorPrice, jxCategoryName, vendorCategoryName, DatAanalyse7}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
}
|
||||
@@ -476,7 +479,7 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
if status != model.SkuStatusDontSale {
|
||||
reason += DatAanalyse7
|
||||
}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, "", jxSkuSaleStatusName, "", jxSkuPrice, "", jxCategoryName, "", reason}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, mtwmid, ddid, ebaiid, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, "", jxSkuSaleStatusName, "", jxSkuPrice, "", jxCategoryName, "", reason}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
}
|
||||
@@ -497,7 +500,7 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
if len(vendorSkuInfo.VendorCatIDList) != 0 {
|
||||
vendorCategoryName = vendorSkuInfo.VendorCatIDList[len(vendorSkuInfo.VendorCatIDList)-1]
|
||||
}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", "", "", "", "", vendorSkuDetailName, "", vendorSkuSaleStatusName, "", vendorPrice, "", vendorCategoryName, DatAanalyse1}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", "", "", "", "", vendorSkuDetailName, "", vendorSkuSaleStatusName, "", vendorPrice, "", vendorCategoryName, DatAanalyse1, ""}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -461,7 +461,7 @@ func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, v
|
||||
hint, err = v.LoopStoresMap(ctx, db, fmt.Sprintf("同步门店分类信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs,
|
||||
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
||||
globals.SugarLogger.Debug("?????????????????????",v.GetSingleStoreHandler(loopMapInfo.VendorID))
|
||||
globals.SugarLogger.Debug("?????????????????????", v.GetSingleStoreHandler(loopMapInfo.VendorID))
|
||||
if handler := v.GetSingleStoreHandler(loopMapInfo.VendorID); handler != nil {
|
||||
if isForce {
|
||||
dao.SetStoreCategorySyncStatus(db, loopMapInfo.VendorID, storeIDs, nil, model.SyncFlagModifiedMask)
|
||||
@@ -502,7 +502,9 @@ func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, parentTask tasksch.
|
||||
tasksch.NewParallelConfig().SetParallelCount(parallelCount).SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeMap := batchItemList[0].(*model.StoreMap)
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============1")
|
||||
if syncDisabled || storeMap.Status > model.StoreStatusDisabled {
|
||||
globals.SugarLogger.Debug("SyncStoresSkus2===============2")
|
||||
if setSyncStatus != 0 {
|
||||
dao.SetStoreSkuSyncStatus(db, storeMap.VendorID, []int{storeMap.StoreID}, skuIDs, setSyncStatus)
|
||||
}
|
||||
|
||||
@@ -442,7 +442,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
if err != nil || len(skus) == 0 {
|
||||
return err
|
||||
}
|
||||
// globals.SugarLogger.Debugf("syncStoreSkuNew len(skus):%v", len(skus))
|
||||
if len(excludeSkuIDs) > 0 {
|
||||
excludeSkuMap := jxutils.IntList2Map(excludeSkuIDs)
|
||||
var skus2 []*dao.StoreSkuSyncInfo
|
||||
|
||||
@@ -521,6 +521,9 @@ func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendo
|
||||
} else if vendorID == model.VendorIDJDShop {
|
||||
storeCat.JdsID = utils.Str2Int64WithDefault(vendorCategoryID, 0)
|
||||
storeCat.JdsSyncStatus = status
|
||||
} else if vendorID == model.VendorIDDD {
|
||||
storeCat.DdID = vendorCategoryID
|
||||
storeCat.DdSyncStatus = status
|
||||
} else {
|
||||
panic("unsupported vendor")
|
||||
}
|
||||
|
||||
@@ -286,11 +286,13 @@ type StoreSkuExt struct {
|
||||
EbaiID string `orm:"column(ebai_id);index" json:"ebaiID"`
|
||||
MtwmID string `orm:"column(mtwm_id)" json:"mtwmID"` // 这个也不是必须的,只是为了DAO取数据语句一致
|
||||
YbID string `orm:"column(yb_id);index" json:"ybID"`
|
||||
DdID string `orm:"column(dd_id);index" json:"ddID"`
|
||||
JdsID string `orm:"column(jds_id);index" json:"jdsID"`
|
||||
|
||||
JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"`
|
||||
EbaiSyncStatus int8 `orm:"default(2)" json:"ebaiSyncStatus"`
|
||||
MtwmSyncStatus int8 `orm:"default(2)" json:"mtwmSyncStatus"`
|
||||
DdSyncStatus int8 `orm:"default(2)" json:"ddSyncStatus"`
|
||||
YbSyncStatus int8 `orm:"default(2)" json:"ybSyncStatus"`
|
||||
JdsSyncStatus int8 `orm:"default(2)" json:"jdsSyncStatus"` //京东商城
|
||||
|
||||
@@ -306,6 +308,7 @@ type StoreSkuExt struct {
|
||||
JdsLockTime *time.Time `orm:"null" json:"jdsLockTime,omitempty"`
|
||||
EbaiLockTime *time.Time `orm:"null" json:"ebaiLockTime,omitempty"`
|
||||
MtwmLockTime *time.Time `orm:"null" json:"mtwmLockTime,omitempty"`
|
||||
DdLockTime *time.Time `orm:"null" json:"ddLockTime,omitempty"`
|
||||
JxLockTime *time.Time `orm:"null" json:"jxLockTime,omitempty"`
|
||||
YbLockTime *time.Time `orm:"null" json:"ybLockTime,omitempty"`
|
||||
|
||||
@@ -1244,8 +1247,8 @@ func GetTopSkusByStoreIDs(db *DaoDB, storeIDs []int) (storeSkuNameExt []*StoreSk
|
||||
sql2 := `
|
||||
SELECT a.id sku_id,a.*,t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
|
||||
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
|
||||
t4.ebai_id, t4.mtwm_id,
|
||||
t4.ebai_sync_status, t4.mtwm_sync_status,
|
||||
t4.ebai_id, t4.mtwm_id,t4.dd_id,
|
||||
t4.ebai_sync_status, t4.mtwm_sync_status,t4.dd_sync_status,
|
||||
t4.jd_price, t4.ebai_price, t4.mtwm_price, t4.jx_price, t4.stock,
|
||||
a.spec_quality sku_spec_quality, a.spec_unit sku_spec_unit
|
||||
FROM sku a
|
||||
|
||||
@@ -33,6 +33,7 @@ const (
|
||||
// FieldElmID = "ElmID"
|
||||
FieldEbaiID = "EbaiID"
|
||||
FieldMtwmID = "MtwmID"
|
||||
FieldDdID = "DdID"
|
||||
// FieldWscID = "WscID"
|
||||
// FieldWscID2 = "WscID2"
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
SkuStatusDeleted = -1
|
||||
SkuStatusDontSale = 0
|
||||
SkuStatusNormal = 1
|
||||
SkuStatusDeleted = -1 // 商品删除
|
||||
SkuStatusDontSale = 0 // 商品正常
|
||||
SkuStatusNormal = 1 // 商品不可售
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -58,11 +58,13 @@ type StoreSkuCategoryMap struct {
|
||||
// ElmID int64 `orm:"column(elm_id);index"`
|
||||
EbaiID int64 `orm:"column(ebai_id);index"`
|
||||
MtwmID string `orm:"column(mtwm_id);index;size(16)"`
|
||||
DdID string `orm:"column(dd_id);index;size(16)"`
|
||||
// WscID int64 `orm:"column(wsc_id);index"`
|
||||
|
||||
// ElmSyncStatus int8 `orm:"default(2)"`
|
||||
EbaiSyncStatus int8 `orm:"default(2)"`
|
||||
MtwmSyncStatus int8 `orm:"default(2)"`
|
||||
DdSyncStatus int8 `orm:"default(2)"`
|
||||
// WscSyncStatus int8 `orm:"default(2)"`
|
||||
YbID int64 `orm:"column(yb_id);index"`
|
||||
YbSyncStatus int8 `orm:"default(2)"`
|
||||
|
||||
Reference in New Issue
Block a user