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