act
This commit is contained in:
@@ -8,9 +8,10 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxstore/act"
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
|
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/delivery"
|
"git.rosy.net.cn/jx-callback/business/partner/delivery"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
|
||||||
"github.com/360EntSecGroup-Skylar/excelize"
|
"github.com/360EntSecGroup-Skylar/excelize"
|
||||||
"github.com/qiniu/api.v7/storage"
|
"github.com/qiniu/api.v7/storage"
|
||||||
|
|
||||||
@@ -1711,12 +1712,12 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
|
|||||||
// cms.UpdateStoreSkus(ctx, 0, storeDetail.ID, skuBindInfos, true, true)
|
// cms.UpdateStoreSkus(ctx, 0, storeDetail.ID, skuBindInfos, true, true)
|
||||||
// }
|
// }
|
||||||
var (
|
var (
|
||||||
jdStoreIDs = []string{
|
// jdStoreIDs = []string{
|
||||||
// "11734848",
|
// "11734848",
|
||||||
// "11734850",
|
// "11734850",
|
||||||
// "11734854",
|
// "11734854",
|
||||||
// "11734862",
|
// "11734862",
|
||||||
"11734868",
|
// "11734868",
|
||||||
// "11734873",
|
// "11734873",
|
||||||
// "11734874",
|
// "11734874",
|
||||||
// "11734886",
|
// "11734886",
|
||||||
@@ -1764,103 +1765,179 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
|
|||||||
// "11734851",
|
// "11734851",
|
||||||
// "12030632",
|
// "12030632",
|
||||||
// "12050456",
|
// "12050456",
|
||||||
}
|
// }
|
||||||
jdStoreIDxipu = "11890095"
|
// jdStoreIDxipu = "11890095"
|
||||||
skuMap = make(map[string]partner.StoreSkuInfo)
|
// skuMap = make(map[string]partner.StoreSkuInfo)
|
||||||
priceList = make(map[string][]*partner.StoreSkuInfo)
|
// priceList = make(map[string][]*partner.StoreSkuInfo)
|
||||||
statusList1 = make(map[string][]*partner.StoreSkuInfo)
|
// statusList1 = make(map[string][]*partner.StoreSkuInfo)
|
||||||
statusList2 = make(map[string][]*partner.StoreSkuInfo)
|
// statusList2 = make(map[string][]*partner.StoreSkuInfo)
|
||||||
stockList = make(map[string][]*partner.StoreSkuInfo)
|
// stockList = make(map[string][]*partner.StoreSkuInfo)
|
||||||
vendorOrgCode = "320406"
|
// vendorOrgCode = "82029"
|
||||||
storeID = 100654
|
storeID = 2
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
)
|
)
|
||||||
|
|
||||||
handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler)
|
// handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler)
|
||||||
multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler)
|
// multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler)
|
||||||
allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "")
|
// allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "")
|
||||||
skuInfos := storeSkuFullList2BareFilter(allSkuNameInfoList)
|
// skuInfos := storeSkuFullList2BareFilter(allSkuNameInfoList)
|
||||||
outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreIDxipu, skuInfos)
|
// outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreIDxipu, skuInfos)
|
||||||
for _, vv := range outStoreSkuList {
|
// for _, vv := range outStoreSkuList {
|
||||||
skuMap[vv.VendorSkuID] = *vv
|
// skuMap[vv.VendorSkuID] = *vv
|
||||||
}
|
// }
|
||||||
for _, jdStoreID := range jdStoreIDs {
|
// for _, jdStoreID := range jdStoreIDs {
|
||||||
skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList)
|
// skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList)
|
||||||
outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2)
|
// outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2)
|
||||||
for _, v := range outStoreSkuList2 {
|
// for _, v := range outStoreSkuList2 {
|
||||||
a := skuMap[v.VendorSkuID]
|
// a := skuMap[v.VendorSkuID]
|
||||||
if &a == nil {
|
// if &a == nil {
|
||||||
continue
|
// continue
|
||||||
}
|
// }
|
||||||
if a.VendorPrice != v.VendorPrice {
|
// if a.VendorPrice != v.VendorPrice {
|
||||||
v.VendorPrice = a.VendorPrice
|
// v.VendorPrice = a.VendorPrice
|
||||||
priceList[jdStoreID] = append(priceList[jdStoreID], v)
|
// priceList[jdStoreID] = append(priceList[jdStoreID], v)
|
||||||
}
|
// }
|
||||||
if a.Status != v.Status {
|
// if a.Status != v.Status {
|
||||||
v.Status = a.Status
|
// v.Status = a.Status
|
||||||
if v.Status == model.SkuStatusNormal {
|
// if v.Status == model.SkuStatusNormal {
|
||||||
statusList1[jdStoreID] = append(statusList1[jdStoreID], v)
|
// statusList1[jdStoreID] = append(statusList1[jdStoreID], v)
|
||||||
} else {
|
// } else {
|
||||||
statusList2[jdStoreID] = append(statusList2[jdStoreID], v)
|
// statusList2[jdStoreID] = append(statusList2[jdStoreID], v)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if a.Stock != v.Stock {
|
// if a.Stock != v.Stock {
|
||||||
v.Stock = a.Stock
|
// v.Stock = a.Stock
|
||||||
stockList[jdStoreID] = append(stockList[jdStoreID], v)
|
// stockList[jdStoreID] = append(stockList[jdStoreID], v)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
step := batchItemList[0].(int)
|
step := batchItemList[0].(int)
|
||||||
switch step {
|
switch step {
|
||||||
case 0:
|
case 0:
|
||||||
if len(priceList) > 0 {
|
// if len(priceList) > 0 {
|
||||||
for k, v := range priceList {
|
// for k, v := range priceList {
|
||||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
// _, err = putils.FreeBatchStoreSkuInfo("更新门店商品价格", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||||
failedList, err := handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, batchedStoreSkuList)
|
// failedList, err := handler.UpdateStoreSkusPrice(ctx, vendorOrgCode, 0, k, batchedStoreSkuList)
|
||||||
if len(failedList) > 0 {
|
// if len(failedList) > 0 {
|
||||||
task.AddFailedList(failedList)
|
// task.AddFailedList(failedList)
|
||||||
}
|
// }
|
||||||
return nil, 1, err
|
|
||||||
}, ctx, task, v, 50, true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 1:
|
|
||||||
if len(statusList1) > 0 {
|
|
||||||
for k, v := range statusList1 {
|
|
||||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
|
||||||
failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status)
|
|
||||||
if len(failedList) > 0 {
|
|
||||||
task.AddFailedList(failedList)
|
|
||||||
}
|
|
||||||
return nil, 1, err
|
|
||||||
}, ctx, task, v, 50, true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 2:
|
|
||||||
// if len(statusList2) > 0 {
|
|
||||||
// for k, v := range statusList2 {
|
|
||||||
// _, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态2", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
|
||||||
// handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status)
|
|
||||||
// return nil, 1, err
|
// return nil, 1, err
|
||||||
// }, ctx, task, v, 50, true)
|
// }, ctx, task, v, 50, true)
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
case 1:
|
||||||
|
// if len(statusList1) > 0 {
|
||||||
|
// for k, v := range statusList1 {
|
||||||
|
// _, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||||
|
// failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status)
|
||||||
|
// if len(failedList) > 0 {
|
||||||
|
// task.AddFailedList(failedList)
|
||||||
|
// }
|
||||||
|
// return nil, 1, err
|
||||||
|
// }, ctx, task, v, 50, true)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
if len(stockList) > 0 {
|
// if len(stockList) > 0 {
|
||||||
for k, v := range stockList {
|
// for k, v := range stockList {
|
||||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
// _, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||||
failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList)
|
// failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList)
|
||||||
if len(failedList) > 0 {
|
// if len(failedList) > 0 {
|
||||||
task.AddFailedList(failedList)
|
// task.AddFailedList(failedList)
|
||||||
}
|
// }
|
||||||
return nil, 1, err
|
// return nil, 1, err
|
||||||
}, ctx, task, v, 50, true)
|
// }, ctx, task, v, 50, true)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
case 4:
|
case 4:
|
||||||
dao.QueryActs(db, 0, 0, 9999, 0, "", model.VendorIDJD, nil, []int{model.ActSkuDirectDown}, nil, storeID, nil, 0, time.Now().AddDate(0, -3, 0), time.Now(), utils.ZeroTimeValue, utils.ZeroTimeValue)
|
var storeIDs = []int{
|
||||||
|
// 667534,
|
||||||
|
// 667481,
|
||||||
|
// 667460,
|
||||||
|
// 667420,
|
||||||
|
// 667355,
|
||||||
|
// 667341,
|
||||||
|
// 667339,
|
||||||
|
// 667336,
|
||||||
|
// 667332,
|
||||||
|
// 667312,
|
||||||
|
// 667308,
|
||||||
|
// 667307,
|
||||||
|
// 667306,
|
||||||
|
// 667305,
|
||||||
|
// 667304,
|
||||||
|
// 667299,
|
||||||
|
// 667297,
|
||||||
|
// 667292,
|
||||||
|
// 667284,
|
||||||
|
// 667281,
|
||||||
|
// 667278,
|
||||||
|
// 667234,
|
||||||
|
// 667158,
|
||||||
|
// 667092,
|
||||||
|
// 667001,
|
||||||
|
// 666975,
|
||||||
|
// 666706,
|
||||||
|
// 666677,
|
||||||
|
// 666667,
|
||||||
|
// 103408,
|
||||||
|
// 103205,
|
||||||
|
// 103127,
|
||||||
|
// 103113,
|
||||||
|
// 102996,
|
||||||
|
// 102973,
|
||||||
|
// 102630,
|
||||||
|
// 102613,
|
||||||
|
// 102595,
|
||||||
|
// 102482,
|
||||||
|
// 101942,
|
||||||
|
// 101897,
|
||||||
|
// 101042,
|
||||||
|
// 100654,
|
||||||
|
// 100471,
|
||||||
|
// 100153,
|
||||||
|
// 100141,
|
||||||
|
// 100140,
|
||||||
|
42,
|
||||||
|
// 100129,
|
||||||
|
// 100121,
|
||||||
|
// 100117,
|
||||||
|
// 100115,
|
||||||
|
}
|
||||||
|
list, _ := dao.QueryActs(db, 0, 0, 9999, 0, "", model.VendorIDJD, nil, []int{model.ActSkuDirectDown}, nil, storeID, nil, 0, time.Now().AddDate(0, -3, 0), time.Now(), utils.ZeroTimeValue, utils.ZeroTimeValue)
|
||||||
|
for _, v := range list.Data {
|
||||||
|
var actStoreSkuList []*act.ActStoreSkuParam
|
||||||
|
_, actStoreSku2, _ := dao.GetActStoreSkuVendorList(db, v.ID, []int{model.VendorIDJD}, []int{storeID}, nil, "", 0, 9999)
|
||||||
|
for _, vv := range actStoreSku2 {
|
||||||
|
for _, storeID2 := range storeIDs {
|
||||||
|
actStoreSku := &act.ActStoreSkuParam{}
|
||||||
|
actStoreSku.StoreID = storeID2
|
||||||
|
actStoreSku.SkuID = vv.SkuID
|
||||||
|
actStoreSku.ActPrice = vv.ActPrice
|
||||||
|
actStoreSku.EarningPrice = vv.EarningPrice
|
||||||
|
actStoreSku.Stock = vv.Stock
|
||||||
|
actStoreSkuList = append(actStoreSkuList, actStoreSku)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("actStoreSkuList", utils.Format4Output(actStoreSkuList, false))
|
||||||
|
// act.CreateAct(ctx, &model.Act{
|
||||||
|
// Name: "复制犀浦下街活动" + utils.Int2Str(k),
|
||||||
|
// Type: model.ActSkuDirectDown,
|
||||||
|
// LimitUser: v.LimitUser,
|
||||||
|
// LimitDaily: v.LimitDaily,
|
||||||
|
// LimitCount: v.LimitCount,
|
||||||
|
// OverlapRule: v.OverlapRule,
|
||||||
|
// CreateType: model.ActCreateTypeAPI,
|
||||||
|
// PricePercentage: v.PricePercentage,
|
||||||
|
// BeginAt: v.BeginAt,
|
||||||
|
// EndAt: v.EndAt,
|
||||||
|
// Advertising: v.Advertising,
|
||||||
|
// Remark: v.Remark,
|
||||||
|
// }, []int{model.VendorIDJD}, vendorOrgCode, nil, actStoreSkuList, true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}, []int{0, 1, 2, 3, 4})
|
}, []int{0, 1, 2, 3, 4})
|
||||||
|
|||||||
Reference in New Issue
Block a user