Merge branch 'mark' of git.coding.net:XJH-Rosy/jx-callback into mark
This commit is contained in:
@@ -20,6 +20,7 @@ import (
|
||||
|
||||
const (
|
||||
canWriteTolocal = false
|
||||
isFilterToBeCreateAndNotSale = !false
|
||||
parallelCount = 5
|
||||
fileExt = ".xlsx"
|
||||
)
|
||||
@@ -40,6 +41,8 @@ var (
|
||||
"门店名",
|
||||
"SkuID",
|
||||
"同步状态",
|
||||
"待创建",
|
||||
"待删除",
|
||||
"京西商品名",
|
||||
"平台商品名",
|
||||
"京西可售状态",
|
||||
@@ -63,6 +66,8 @@ type DiffData struct {
|
||||
VendorStoreName string `json:"门店名"`
|
||||
SkuID string `json:"SkuID"`
|
||||
SyncStatus string `json:"同步状态"`
|
||||
ToBeCreate string `json:"待创建"`
|
||||
ToBeDel string `json:"待删除"`
|
||||
JxSkuName string `json:"京西商品名"`
|
||||
VendorSkuName string `json:"平台商品名"`
|
||||
JxStatus string `json:"京西可售状态"`
|
||||
@@ -156,7 +161,7 @@ func GetFilterMultiStoreSkuInfoMap(vendorID int, skuInfoList []*partner.StoreSku
|
||||
return filterSkuInfoMap
|
||||
}
|
||||
|
||||
func GetSkuStatusName(status int) string {
|
||||
func GetSkuSaleStatusName(status int) string {
|
||||
return model.SkuStatusName[status]
|
||||
}
|
||||
|
||||
@@ -164,44 +169,57 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
for skuID, jxSkuInfo := range filterJxSkuInfoMap {
|
||||
skuIDStr := utils.Int2Str(skuID)
|
||||
jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus2[0].Comment, jxSkuInfo.SkuName.Unit, jxSkuInfo.Skus2[0].SkuSpecQuality, jxSkuInfo.Skus2[0].SkuSpecUnit, 0)
|
||||
jxSkuStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus)
|
||||
jxSkuStatusName := GetSkuStatusName(jxSkuStatus)
|
||||
jxSkuSaleStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus)
|
||||
jxSkuSaleStatusName := GetSkuSaleStatusName(jxSkuSaleStatus)
|
||||
|
||||
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
||||
syncStatus := ""
|
||||
var status int8
|
||||
if vendorID == model.VendorIDMTWM {
|
||||
syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].MtwmSyncStatus))
|
||||
status = jxSkuInfo.Skus2[0].MtwmSyncStatus
|
||||
} else if vendorID == model.VendorIDEBAI {
|
||||
syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].EbaiSyncStatus))
|
||||
status = jxSkuInfo.Skus2[0].EbaiSyncStatus
|
||||
} else if vendorID == model.VendorIDJD {
|
||||
syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].JdSyncStatus))
|
||||
status = jxSkuInfo.Skus2[0].JdSyncStatus
|
||||
}
|
||||
syncStatus := utils.Int2Str(int(status))
|
||||
toBeCreate := "否"
|
||||
if model.IsSyncStatusNeedCreate(status) {
|
||||
toBeCreate = "是"
|
||||
}
|
||||
toBeDel := "否"
|
||||
if model.IsSyncStatusNeedDelete(status) {
|
||||
toBeDel = "是"
|
||||
}
|
||||
|
||||
if vendorSkuInfo != nil {
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
vendorSkuSaleStatusName := GetSkuSaleStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
|
||||
isStatusDiff := jxSkuStatusName != vendorSkuStatusName
|
||||
isSaleStatusDiff := jxSkuSaleStatusName != vendorSkuSaleStatusName
|
||||
if isFilterToBeCreateAndNotSale && model.IsSyncStatusNeedCreate(status) && jxSkuSaleStatus != model.SkuStatusNormal {
|
||||
continue
|
||||
}
|
||||
isNameDiff := jxSkuDetailName != vendorSkuDetailName
|
||||
if jxSkuDetailName != "" && vendorSkuDetailName != "" && strings.Contains(jxSkuDetailName, vendorSkuDetailName) {
|
||||
isNameDiff = false
|
||||
}
|
||||
if isStatusDiff || isNameDiff {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, vendorSkuStatusName}
|
||||
if isSaleStatusDiff || isNameDiff {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
} else {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, jxSkuDetailName, "", jxSkuStatusName, ""}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, "", jxSkuSaleStatusName, ""}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
}
|
||||
for skuID, vendorSkuInfo := range filterVendorSkuInfoMap {
|
||||
skuIDStr := utils.Int2Str(skuID)
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
vendorSkuSaleStatusName := GetSkuSaleStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
|
||||
jxSkuInfo := filterJxSkuInfoMap[skuID]
|
||||
if jxSkuInfo == nil {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", vendorSkuDetailName, "", vendorSkuStatusName}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", "", "", vendorSkuDetailName, "", vendorSkuSaleStatusName}
|
||||
diffData.AppendData(vendorID, outPutData)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user