京东商城商品不同?

This commit is contained in:
苏尹岚
2020-07-08 17:21:45 +08:00
parent 9d83103ea1
commit b7fa5bdd38
3 changed files with 104 additions and 39 deletions

View File

@@ -1610,30 +1610,30 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// 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))
// 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)
@@ -1646,6 +1646,58 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// 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 {
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 != 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)
}
}
return err
}