修正比较数据的BUG,添加SkuID字段到DiffData结构体
This commit is contained in:
@@ -32,6 +32,7 @@ var (
|
||||
"京西门店ID",
|
||||
"平台门店ID",
|
||||
"门店名",
|
||||
"SkuID",
|
||||
"京西商品名",
|
||||
"平台商品名",
|
||||
"京西可售状态",
|
||||
@@ -46,6 +47,7 @@ type DiffData struct {
|
||||
JxStoreID string `json:"京西门店ID"`
|
||||
VendorStoreID string `json:"平台门店ID"`
|
||||
VendorStoreName string `json:"门店名"`
|
||||
SkuID string `json:"SkuID"`
|
||||
JxSkuName string `json:"京西商品名"`
|
||||
VendorSkuName string `json:"平台商品名"`
|
||||
JxStatus string `json:"京西可售状态"`
|
||||
@@ -123,39 +125,34 @@ func GetSkuStatusName(status int) string {
|
||||
func CompareJxAndJd(vendorID int, storeIDStr, vendorStoreID, storeName string,
|
||||
filterJxSkuInfoMap map[int]*StoreSkuNameExt,
|
||||
filterJdSkuInfoMap map[int]*partner.StoreSkuInfo) {
|
||||
for skuID, jxSkuInfo := range filterJxSkuInfoMap {
|
||||
jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, "", jxSkuInfo.SkuName.Unit, jxSkuInfo.SkuName.SpecQuality, jxSkuInfo.SkuName.SpecUnit, 0)
|
||||
jxSkuStatusName := GetSkuStatusName(jxSkuInfo.Skus2[0].SkuStatus)
|
||||
|
||||
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)
|
||||
vendorSkuInfo := filterJdSkuInfoMap[skuID]
|
||||
if vendorSkuInfo != nil {
|
||||
vendorSkuInfo := jdAllSkuInfoMap[vendorSkuInfo.SkuID]
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
if jxSkuStatusName != vendorSkuStatusName || jxSkuDetailName != vendorSkuDetailName {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, jxSkuStatusName}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, vendorSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
} else {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, "", jxSkuStatusName, ""}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, jxSkuDetailName, "", jxSkuStatusName, ""}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
}
|
||||
for skuID, _ := range filterJdSkuInfoMap {
|
||||
skuIDStr := utils.Int2Str(skuID)
|
||||
vendorSkuInfo := jdAllSkuInfoMap[skuID]
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
|
||||
jxSkuInfo := filterJxSkuInfoMap[skuID]
|
||||
if jxSkuInfo != nil {
|
||||
jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, "", jxSkuInfo.SkuName.Unit, jxSkuInfo.SkuName.SpecQuality, jxSkuInfo.SkuName.SpecUnit, 0)
|
||||
jxSkuStatusName := GetSkuStatusName(jxSkuInfo.Skus2[0].SkuStatus)
|
||||
if jxSkuStatusName != vendorSkuStatusName || jxSkuDetailName != vendorSkuDetailName {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, jxSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
} else {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, vendorSkuDetailName, "", vendorSkuStatusName, ""}
|
||||
if jxSkuInfo == nil {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", vendorSkuDetailName, "", vendorSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
}
|
||||
@@ -164,37 +161,33 @@ func CompareJxAndJd(vendorID int, storeIDStr, vendorStoreID, storeName string,
|
||||
func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName string,
|
||||
filterJxSkuInfoMap map[int]*StoreSkuNameExt,
|
||||
filterVendorSkuInfoMap map[int]*partner.SkuNameInfo) {
|
||||
for skuID, jxSkuInfo := range filterJxSkuInfoMap {
|
||||
jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, "", jxSkuInfo.SkuName.Unit, jxSkuInfo.SkuName.SpecQuality, jxSkuInfo.SkuName.SpecUnit, 0)
|
||||
jxSkuStatusName := GetSkuStatusName(jxSkuInfo.Skus2[0].SkuStatus)
|
||||
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)
|
||||
|
||||
vendorSkuInfo := filterVendorSkuInfoMap[skuID]
|
||||
if vendorSkuInfo != nil {
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
if jxSkuStatusName != vendorSkuStatusName || jxSkuDetailName != vendorSkuDetailName {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, jxSkuStatusName}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, vendorSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
} else {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, "", jxSkuStatusName, ""}
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, jxSkuDetailName, "", jxSkuStatusName, ""}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
}
|
||||
for skuID, vendorSkuInfo := range filterVendorSkuInfoMap {
|
||||
skuIDStr := utils.Int2Str(skuID)
|
||||
vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName
|
||||
vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status)
|
||||
|
||||
jxSkuInfo := filterJxSkuInfoMap[skuID]
|
||||
if jxSkuInfo != nil {
|
||||
jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, "", jxSkuInfo.SkuName.Unit, jxSkuInfo.SkuName.SpecQuality, jxSkuInfo.SkuName.SpecUnit, 0)
|
||||
jxSkuStatusName := GetSkuStatusName(jxSkuInfo.Skus2[0].SkuStatus)
|
||||
if jxSkuStatusName != vendorSkuStatusName || jxSkuDetailName != vendorSkuDetailName {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, jxSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
} else {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, vendorSkuDetailName, "", vendorSkuStatusName, ""}
|
||||
if jxSkuInfo == nil {
|
||||
outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", vendorSkuDetailName, "", vendorSkuStatusName}
|
||||
diffData[vendorID] = append(diffData[vendorID], outPutData)
|
||||
}
|
||||
}
|
||||
@@ -233,17 +226,19 @@ func CheckSkuDiffBetweenJxAndVendor(vendorIDList []int, storeIDList []int) {
|
||||
storeIDStr := utils.Int2Str(storeID)
|
||||
storeName := jxStoreInfoListValue.Name
|
||||
if jxStoreInfoListValue.StoreMaps != nil {
|
||||
for vendorListIndex, vendorListValue := range jxStoreInfoListValue.StoreMaps {
|
||||
isGetJxSkuInfoData := false
|
||||
for _, vendorListValue := range jxStoreInfoListValue.StoreMaps {
|
||||
vendorID := int(utils.MustInterface2Int64(vendorListValue["vendorID"]))
|
||||
//filter for vendorID
|
||||
if len(vendorMap) > 0 {
|
||||
if _, ok := vendorMap[vendorID]; !ok {
|
||||
return retVal, err
|
||||
continue
|
||||
}
|
||||
}
|
||||
if _, ok := vendorNameList[vendorID]; ok {
|
||||
var filterJxSkuInfoMap map[int]*StoreSkuNameExt
|
||||
if vendorListIndex == 0 {
|
||||
if isGetJxSkuInfoData == false {//only get once jx sku info list every store id
|
||||
isGetJxSkuInfoData = true
|
||||
jxSkuInfoData, _ := GetStoreSkus(ctx, storeID, []int{}, true, "", true, map[string]interface{}{}, 0, -1)
|
||||
filterJxSkuInfoMap = GetFilterJxSkuInfoMap(jxSkuInfoData.SkuNames)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user