Accept Merge Request #31: (don -> mark)
Merge Request: 增加两列(待创建,待删除),不比较待创建且不可售的京西商品 Created By: @Nathan drake Accepted By: @Nathan drake URL: https://dev.tencent.com/u/XJH-Rosy/p/jx-callback/git/merge/31
This commit is contained in:
@@ -20,6 +20,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
canWriteTolocal = false
|
canWriteTolocal = false
|
||||||
|
isFilterToBeCreateAndNotSale = !false
|
||||||
parallelCount = 5
|
parallelCount = 5
|
||||||
fileExt = ".xlsx"
|
fileExt = ".xlsx"
|
||||||
)
|
)
|
||||||
@@ -40,6 +41,8 @@ var (
|
|||||||
"门店名",
|
"门店名",
|
||||||
"SkuID",
|
"SkuID",
|
||||||
"同步状态",
|
"同步状态",
|
||||||
|
"待创建",
|
||||||
|
"待删除",
|
||||||
"京西商品名",
|
"京西商品名",
|
||||||
"平台商品名",
|
"平台商品名",
|
||||||
"京西可售状态",
|
"京西可售状态",
|
||||||
@@ -63,6 +66,8 @@ type DiffData struct {
|
|||||||
VendorStoreName string `json:"门店名"`
|
VendorStoreName string `json:"门店名"`
|
||||||
SkuID string `json:"SkuID"`
|
SkuID string `json:"SkuID"`
|
||||||
SyncStatus string `json:"同步状态"`
|
SyncStatus string `json:"同步状态"`
|
||||||
|
ToBeCreate string `json:"待创建"`
|
||||||
|
ToBeDel string `json:"待删除"`
|
||||||
JxSkuName string `json:"京西商品名"`
|
JxSkuName string `json:"京西商品名"`
|
||||||
VendorSkuName string `json:"平台商品名"`
|
VendorSkuName string `json:"平台商品名"`
|
||||||
JxStatus string `json:"京西可售状态"`
|
JxStatus string `json:"京西可售状态"`
|
||||||
@@ -156,7 +161,7 @@ func GetFilterMultiStoreSkuInfoMap(vendorID int, skuInfoList []*partner.StoreSku
|
|||||||
return filterSkuInfoMap
|
return filterSkuInfoMap
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetSkuStatusName(status int) string {
|
func GetSkuSaleStatusName(status int) string {
|
||||||
return model.SkuStatusName[status]
|
return model.SkuStatusName[status]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,44 +169,57 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
|||||||
for skuID, jxSkuInfo := range filterJxSkuInfoMap {
|
for skuID, jxSkuInfo := range filterJxSkuInfoMap {
|
||||||
skuIDStr := utils.Int2Str(skuID)
|
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)
|
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)
|
jxSkuSaleStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus)
|
||||||
jxSkuStatusName := GetSkuStatusName(jxSkuStatus)
|
jxSkuSaleStatusName := GetSkuSaleStatusName(jxSkuSaleStatus)
|
||||||
|
|
||||||
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
||||||
syncStatus := ""
|
var status int8
|
||||||
if vendorID == model.VendorIDMTWM {
|
if vendorID == model.VendorIDMTWM {
|
||||||
syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].MtwmSyncStatus))
|
status = jxSkuInfo.Skus2[0].MtwmSyncStatus
|
||||||
} else if vendorID == model.VendorIDEBAI {
|
} else if vendorID == model.VendorIDEBAI {
|
||||||
syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].EbaiSyncStatus))
|
status = jxSkuInfo.Skus2[0].EbaiSyncStatus
|
||||||
} else if vendorID == model.VendorIDJD {
|
} 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 {
|
if vendorSkuInfo != nil {
|
||||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
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
|
isNameDiff := jxSkuDetailName != vendorSkuDetailName
|
||||||
if jxSkuDetailName != "" && vendorSkuDetailName != "" && strings.Contains(jxSkuDetailName, vendorSkuDetailName) {
|
if jxSkuDetailName != "" && vendorSkuDetailName != "" && strings.Contains(jxSkuDetailName, vendorSkuDetailName) {
|
||||||
isNameDiff = false
|
isNameDiff = false
|
||||||
}
|
}
|
||||||
if isStatusDiff || isNameDiff {
|
if isSaleStatusDiff || isNameDiff {
|
||||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, vendorSkuStatusName}
|
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName}
|
||||||
diffData.AppendData(vendorID, outPutData)
|
diffData.AppendData(vendorID, outPutData)
|
||||||
}
|
}
|
||||||
} else {
|
} 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)
|
diffData.AppendData(vendorID, outPutData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for skuID, vendorSkuInfo := range filterVendorSkuInfoMap {
|
for skuID, vendorSkuInfo := range filterVendorSkuInfoMap {
|
||||||
skuIDStr := utils.Int2Str(skuID)
|
skuIDStr := utils.Int2Str(skuID)
|
||||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
vendorSkuSaleStatusName := GetSkuSaleStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||||
|
|
||||||
jxSkuInfo := filterJxSkuInfoMap[skuID]
|
jxSkuInfo := filterJxSkuInfoMap[skuID]
|
||||||
if jxSkuInfo == nil {
|
if jxSkuInfo == nil {
|
||||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", vendorSkuDetailName, "", vendorSkuStatusName}
|
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", "", "", vendorSkuDetailName, "", vendorSkuSaleStatusName}
|
||||||
diffData.AppendData(vendorID, outPutData)
|
diffData.AppendData(vendorID, outPutData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user