This commit is contained in:
苏尹岚
2020-10-10 16:45:51 +08:00
parent 6753eade79
commit 602f6e3537

View File

@@ -1585,35 +1585,110 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// fmt.Println("deleteList2", deleteList)
// cms.DeletedDuplicateWaitAuditData(ctx, dao.GetDB())
// orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, time.Now().AddDate(0, 0, -2).Format("20060102"), time.Now().Format("20060102"))
// var (
// db = dao.GetDB()
// goods []*model.GoodsOrder
// )
// sql := `SELECT * from goods_order where vendor_id = 0 and buyer_comment = '【JD】' and total_shop_money = 0 and status = 110
// AND order_created_at > '2020-09-01'`
// dao.GetRows(db, &goods, sql, nil)
// for _, order2 := range goods {
// results, err := api.JdAPI.GetJdShopOrders(order2.OrderCreatedAt.AddDate(0, 0, -1).Format("20060102"), order2.OrderCreatedAt.Format("20060102"), globals.JdOrgCode, globals.JdLoginName)
// if err != nil || results == nil {
// return err
// }
// for _, v := range results.BillList.Result {
// if v.DueAmount != 0 {
// order, _ := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(v.OrderID), model.VendorIDJD)
// stores, _ := dao.GetStoreList(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "")
// if len(stores) > 0 {
// store := stores[0]
// if order.NewEarningPrice == 0 {
// jxutils.RefreshOrderEarningPrice2(order, store.PayPercentage)
// }
// if order.TotalShopMoney == 0 {
// order.TotalShopMoney = utils.Float64TwoInt64(v.DueAmount * 100)
// }
// dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice")
// }
// }
// }
// }
type tmpJD struct {
JdStoreID int `orm:"column(jd_store_id)" json:"jdStoreID"`
SkuName string `json:"skuName"`
}
type tmpCount struct {
Count int `json:"count"`
ID int `orm:"column(id)" json:"id"`
}
var (
db = dao.GetDB()
goods []*model.GoodsOrder
db = dao.GetDB()
tmpJDs []*tmpJD
jdMaps = make(map[int][]string)
jdMaps2 = make(map[int][]int)
a = 99999
)
sql := `SELECT * from goods_order where vendor_id = 0 and buyer_comment = '【JD】' and total_shop_money = 0 and status = 110
AND order_created_at > '2020-09-01'`
dao.GetRows(db, &goods, sql, nil)
for _, order2 := range goods {
results, err := api.JdAPI.GetJdShopOrders(order2.OrderCreatedAt.AddDate(0, 0, -1).Format("20060102"), order2.OrderCreatedAt.Format("20060102"), globals.JdOrgCode, globals.JdLoginName)
if err != nil || results == nil {
return err
}
for _, v := range results.BillList.Result {
if v.DueAmount != 0 {
order, _ := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(v.OrderID), model.VendorIDJD)
stores, _ := dao.GetStoreList(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, nil, nil, "")
if len(stores) > 0 {
store := stores[0]
if order.NewEarningPrice == 0 {
jxutils.RefreshOrderEarningPrice2(order, store.PayPercentage)
}
if order.TotalShopMoney == 0 {
order.TotalShopMoney = utils.Float64TwoInt64(v.DueAmount * 100)
}
dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice")
}
sql := `SELECT * FROM tmp_jd LIMIT 1`
dao.GetRows(db, &tmpJDs, sql, nil)
for _, v := range tmpJDs {
jdMaps[v.JdStoreID] = append(jdMaps[v.JdStoreID], v.SkuName)
}
for jdStoreID, skuNames := range jdMaps {
for _, v := range skuNames {
var (
nameIDs []int
tmpCount = &tmpCount{}
)
skuNames, _ := dao.GetSkuNames(db, nil, nil, v, false)
for _, v := range skuNames {
nameIDs = append(nameIDs, v.ID)
}
sql := `
SELECT SUM(a.count) count, c.id
FROM order_sku a
JOIN sku b ON a.sku_id = b.id
JOIN sku_name c ON c.id = b.name_id
WHERE c.name_id IN (` + dao.GenQuestionMarks(len(nameIDs)) + `)
AND a.order_created_at > ?
GROUP BY 2
ORDER BY 1 DESC
`
sqlParams := []interface{}{time.Now().AddDate(0, -1, 0)}
dao.GetRow(db, &tmpCount, sql, sqlParams)
jdMaps2[jdStoreID] = append(jdMaps2[jdStoreID], tmpCount.ID)
}
}
for jdStoreID, skuNames := range jdMaps2 {
storeDetail, _ := dao.GetStoreDetailByVendorStoreID(db, utils.Int2Str(jdStoreID), model.VendorIDJD)
var skuBindInfos []*cms.StoreSkuBindInfo
for _, v := range skuNames {
var skuBindInfoSkus []*cms.StoreSkuBindSkuInfo
skuBindInfo := &cms.StoreSkuBindInfo{
IsFocus: 1,
IsSale: 1,
NameID: v,
StoreID: storeDetail.ID,
}
skus, _ := dao.GetSkus(db, nil, []int{v}, nil, nil, nil)
for _, vv := range skus {
skuBindInfoSku := &cms.StoreSkuBindSkuInfo{
SkuID: vv.ID,
Stock: &a,
IsSale: 1,
}
skuBindInfoSkus = append(skuBindInfoSkus, skuBindInfoSku)
}
prices, _ := dao.GetPriceReferSnapshotNoPage(db, []int{0}, nil, []int{v}, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
if len(prices) > 0 {
skuBindInfo.UnitPrice = prices[0].MidUnitPrice
} else {
skuBindInfo.UnitPrice = 1000
}
skuBindInfos = append(skuBindInfos, skuBindInfo)
}
cms.UpdateStoreSkus(ctx, 0, storeDetail.ID, skuBindInfos, true, true)
}
return err
}