临时刷新商品前缀,京东商城建店加上东莞

This commit is contained in:
苏尹岚
2020-07-13 13:41:26 +08:00
parent 2c88914b96
commit 78c145a41a
3 changed files with 61 additions and 183 deletions

View File

@@ -1256,7 +1256,6 @@ func SyncSkuExperfixAndWatermark(ctx *jxcontext.Context) (err error) {
if time.Now().Sub(skuExinfo.EndAt) > 0 { if time.Now().Sub(skuExinfo.EndAt) > 0 {
skuExinfo.DeletedAt = time.Now() skuExinfo.DeletedAt = time.Now()
dao.UpdateEntity(db, skuExinfo, "DeletedAt") dao.UpdateEntity(db, skuExinfo, "DeletedAt")
return retVal, err
} }
skus, err := dao.GetSkus(db, nil, []int{skuExinfo.NameID}, nil, nil, nil) skus, err := dao.GetSkus(db, nil, []int{skuExinfo.NameID}, nil, nil, nil)
var skuIDs []int var skuIDs []int

View File

@@ -1523,188 +1523,67 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// } // }
// } // }
///建店 //京东商城商品不同
// beginTime := utils.Str2Time("2020-05-18") // type tTmp struct {
// endTime := utils.Str2Time("2020-05-24") // SkuID int `json:"skuID"`
// result, _ := misc.GetStoreTotalScoreList(nil, 0, "", beginTime, endTime, true, 50, 100, 1, 700) // Reason string `json:"reason"`
// for _, v := range result.StoreTotalScoreList { // }
// storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDJX}, []int{v.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "") // var vendorMap = make(map[int]*partner.SkuNameInfo)
// if len(storeMaps) == 0 { // var localMap = make(map[int]*model.StoreSkuBind)
// stores, _ := dao.GetStoreList(db, []int{v.StoreID}, nil, nil, nil, "") // var addList, deleteList []int
// store := stores[0] // var updateList []*tTmp
// if store.Status != model.StoreStatusDisabled && !strings.Contains(store.Name, "不做") { // vendorStock2JxStatus := func(stock int) (status int) {
// pricePercentagePack := "" // if stock > 0 {
// if store.PayPercentage >= 90 { // return model.StoreSkuBindStatusNormal
// pricePercentagePack = "京西100" // } else {
// } else if store.PayPercentage >= 80 { // return model.StoreSkuBindStatusDontSale
// pricePercentagePack = "京西80" // }
// } else { // }
// pricePercentagePack = "京西70" // handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJDShop).(partner.ISingleStoreStoreSkuHandler)
// } // skuNameList, err := handler.GetStoreSkusFullInfo(ctx, nil, 0, "", nil)
// storeMap := &model.StoreMap{ // storeSkuList, err := dao.GetStoresSkusInfo(dao.GetDB(), []int{model.JdShopMainStoreID}, nil)
// Status: 1, // for _, v := range skuNameList {
// VendorID: model.VendorIDJX, // vendorMap[v.SkuList[0].SkuID] = v
// AutoPickup: 1, // }
// DeliveryCompetition: 1, // for _, v := range storeSkuList {
// PricePercentage: 100, // if vendorMap[v.SkuID] == nil {
// IsSync: 1, // if v.Status == model.StoreSkuBindStatusNormal {
// VendorStoreID: utils.Int2Str(v.StoreID), // addList = append(addList, v.SkuID)
// PricePercentagePack: pricePercentagePack, // }
// } // } else {
// _, err = cms.AddStoreVendorMap(ctx, db, model.VendorIDJX, "", v.StoreID, storeMap) // if int64(v.JdsPrice) != vendorMap[v.SkuID].SkuList[0].VendorPrice {
// if err != nil { // updateList = append(updateList, &tTmp{
// continue // SkuID: v.SkuID,
// Reason: "价格不同",
// })
// }
// if v.Status != vendorStock2JxStatus(vendorMap[v.SkuID].SkuList[0].Stock) {
// updateList = append(updateList, &tTmp{
// SkuID: v.SkuID,
// Reason: "库存可售不同",
// })
// }
// skus, _ := dao.GetSkus(dao.GetDB(), []int{v.SkuID}, nil, nil, nil, nil)
// if skus[0].Comment != "" {
// if skus[0].Comment != vendorMap[v.SkuID].SkuList[0].Comment {
// updateList = append(updateList, &tTmp{
// SkuID: v.SkuID,
// Reason: "备注与销售属性不同",
// })
// } // }
// } // }
// } // }
// localMap[v.SkuID] = v
// } // }
// for k, _ := range vendorMap {
//京东商城街道name // if localMap[k] == nil {
// var stores []*model.Store // deleteList = append(deleteList, k)
// var db = dao.GetDB()
// sql := `
// SELECT b.*
// FROM store_map a, store b
// WHERE a.store_id = b.id
// AND a.vendor_store_id = '' AND a.vendor_id = 5 AND a.deleted_at = ?
// AND b.deleted_at = ?
// `
// sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
// err = dao.GetRows(db, &stores, sql, sqlParams)
// for _, v := range stores {
// result, _ := api.AutonaviAPI.GetCoordinateAreaInfo(jxutils.IntCoordinate2Standard(v.Lng), jxutils.IntCoordinate2Standard(v.Lat))
// if result["regeocode"] != nil {
// street := result["regeocode"].(map[string]interface{})["addressComponent"].(map[string]interface{})["township"].(string)
// if street != "" {
// storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDJDShop}, []int{v.ID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
// storeMap := storeMaps[0]
// storeMap.JdsStreetName = street
// dao.UpdateEntity(db, storeMap, "JdsStreetName")
// }
// } // }
// } // }
// fmt.Println("addList2", addList)
// var stores []*model.Store // fmt.Println("updateList2", utils.Format4Output(updateList, false))
// sql := ` // fmt.Println("deleteList2", deleteList)
// SELECT a.* cms.SyncSkuExperfixAndWatermark(jxcontext.AdminCtx)
// FROM store a
// LEFT JOIN store_map b ON a.id = b.store_id AND b.vendor_id = 5 AND b.deleted_at = '1970-01-01 00:00:00'
// WHERE 1=1
// AND (a.status = 1 OR a.status = 0)
// AND b.id IS NULL
// AND a.deleted_at = '1970-01-01 00:00:00'
// `
// err = dao.GetRows(db, &stores, sql, nil)
// for _, v := range stores {
// storeMap := &model.StoreMap{
// Status: 1,
// VendorID: model.VendorIDJDShop,
// AutoPickup: 1,
// DeliveryCompetition: 1,
// PricePercentage: 100,
// IsSync: 1,
// SyncRule: 1,
// }
// _, err = cms.AddStoreVendorMap(ctx, db, model.VendorIDJDShop, "", v.ID, storeMap)
// if err != nil {
// continue
// }
// }
// db := dao.GetDB()
// type tStore struct {
// NameID int `orm:"column(name_id)"`
// StoreID int `orm:"column(store_id)"`
// }
// var resultList []*tStore
// stores, _ := dao.GetStoreList(db, nil, nil, nil, nil, "")
// for _, v := range stores {
// var resultList2 []*tStore
// sql := `
// SELECT a.name_id,a.store_id FROM (
// SELECT DISTINCT a.unit_price,b.name_id,a.store_id from store_sku_bind a,sku b,store c
// where a.sku_id = b.id
// and c.id = a.store_id and c.deleted_at = '1970-01-01 00:00:00'
// and a.store_id = ?
// and a.deleted_at = '1970-01-01 00:00:00')a
// GROUP BY 1,2
// HAVING count(a.unit_price) > 1
// `
// sqlParams := []interface{}{v.ID}
// err = dao.GetRows(db, &resultList2, sql, sqlParams)
// resultList = append(resultList, resultList2...)
// }
// fmt.Println("testresultList3", utils.Format4Output(resultList, false))
// var skuBindInfos []*cms.StoreSkuBindInfo
// for _, v := range resultList {
// storeSkus, _ := dao.GetStoreSkusByNameIDs(db, []int{v.StoreID}, v.NameID)
// unitPirce := storeSkus[0].UnitPrice
// skuBindInfo := &cms.StoreSkuBindInfo{
// StoreID: v.StoreID,
// NameID: v.NameID,
// UnitPrice: int(unitPirce),
// }
// skuBindInfos = append(skuBindInfos, skuBindInfo)
// }
// _, err = cms.UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true, false)
type tTmp struct {
SkuID int `json:"skuID"`
Reason string `json:"reason"`
}
var vendorMap = make(map[int]*partner.SkuNameInfo)
var localMap = make(map[int]*model.StoreSkuBind)
var addList, deleteList []int
var updateList []*tTmp
vendorStock2JxStatus := func(stock int) (status int) {
if stock > 0 {
return model.StoreSkuBindStatusNormal
} else {
return model.StoreSkuBindStatusDontSale
}
}
handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJDShop).(partner.ISingleStoreStoreSkuHandler)
skuNameList, err := handler.GetStoreSkusFullInfo(ctx, nil, 0, "", nil)
storeSkuList, err := dao.GetStoresSkusInfo(dao.GetDB(), []int{model.JdShopMainStoreID}, nil)
for _, v := range skuNameList {
vendorMap[v.SkuList[0].SkuID] = v
}
for _, v := range storeSkuList {
if vendorMap[v.SkuID] == nil {
if v.Status == model.StoreSkuBindStatusNormal {
addList = append(addList, v.SkuID)
}
} else {
if int64(v.JdsPrice) != vendorMap[v.SkuID].SkuList[0].VendorPrice {
updateList = append(updateList, &tTmp{
SkuID: v.SkuID,
Reason: "价格不同",
})
}
if v.Status != vendorStock2JxStatus(vendorMap[v.SkuID].SkuList[0].Stock) {
updateList = append(updateList, &tTmp{
SkuID: v.SkuID,
Reason: "库存可售不同",
})
}
skus, _ := dao.GetSkus(dao.GetDB(), []int{v.SkuID}, nil, nil, nil, nil)
if skus[0].Comment != "" {
if skus[0].Comment != vendorMap[v.SkuID].SkuList[0].Comment {
updateList = append(updateList, &tTmp{
SkuID: v.SkuID,
Reason: "备注与销售属性不同",
})
}
}
}
localMap[v.SkuID] = v
}
for k, _ := range vendorMap {
if localMap[k] == nil {
deleteList = append(deleteList, k)
}
}
fmt.Println("addList2", addList)
fmt.Println("updateList2", utils.Format4Output(updateList, false))
fmt.Println("deleteList2", deleteList)
return err return err
} }

View File

@@ -152,12 +152,12 @@ var (
} }
ZXCityCodeMap = map[int]string{ ZXCityCodeMap = map[int]string{
310100: "上海市", 310100: "上海市",
110100: "北京市", 110100: "北京市",
120100: "天津市", 120100: "天津市",
440300: "深圳市", 440300: "深圳市",
500100: "重庆市", 500100: "重庆市",
9441900: "东莞", 441900: "东莞",
} }
PrinterVendorInfo = map[int][]string{ PrinterVendorInfo = map[int][]string{