Merge branch 'mark' of git.coding.net:XJH-Rosy/jx-callback into mark

This commit is contained in:
gazebo
2019-08-13 09:35:29 +08:00

View File

@@ -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)
}
}