京西刷价格

This commit is contained in:
苏尹岚
2020-06-02 11:24:10 +08:00
parent 484114242e
commit 14f8b1e52d
4 changed files with 88 additions and 43 deletions

View File

@@ -4641,46 +4641,3 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSku
return hint, err
}
func RefreshJXPriceChange(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) {
db := dao.GetDB()
var (
stores []*model.Store
vendorIDs = []int{0, 1, 3, 5, 9}
)
sql := `
SELECT *
FROM store
WHERE deleted_at = ? AND status <> ? AND pay_percentage = ?
AND id = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue, model.StoreStatusDisabled, 80, 100118}
err = dao.GetRows(db, &stores, sql, sqlParams)
task := tasksch.NewParallelTask("刷新门店价格", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
store := batchItemList[0].(*model.Store)
var skuBindInfos []*StoreSkuBindInfo
// for _, v := range vendorIDs {
// }
storeSkus, err := dao.GetStoresSkusInfo(db, []int{store.ID}, nil)
for _, v := range storeSkus {
skuAndName, _ := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
skuBindInfo := &StoreSkuBindInfo{
StoreID: store.ID,
NameID: skuAndName[0].NameID,
UnitPrice: v.UnitPrice * store.PayPercentage / 100,
}
skuBindInfos = append(skuBindInfos, skuBindInfo)
}
UpdateStoresSkusByBind(ctx, task, skuBindInfos, isAsync, isContinueWhenError, false)
return retVal, err
}, stores)
tasksch.HandleTask(task, nil, true).Run()
if isAsync {
hint = task.GetID()
} else {
_, err = task.GetResult(0)
hint = "1"
}
return hint, err
}

View File

@@ -1617,3 +1617,69 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
})
return err
}
func RefreshJXPriceChange(ctx *jxcontext.Context) (hint string, err error) {
db := dao.GetDB()
var (
stores []*model.Store
vendorIDs = []int{0, 1, 3, 5, 9}
isAsync = true
isContinueWhenError = true
)
sql := `
SELECT *
FROM store
WHERE deleted_at = ? AND status <> ? AND pay_percentage = ?
AND id = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue, model.StoreStatusDisabled, 80, 100118}
err = dao.GetRows(db, &stores, sql, sqlParams)
task := tasksch.NewParallelTask("刷新门店价格", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
store := batchItemList[0].(*model.Store)
var skuBindInfos []*cms.StoreSkuBindInfo
for _, v := range vendorIDs {
storeMaps, _ := dao.GetStoresMapList(db, []int{v}, []int{store.ID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "")
if len(storeMaps) > 0 {
storeMap := storeMaps[0]
switch v {
case model.VendorIDJD:
storeMap.PricePercentagePack = "京东测试报价=结算价"
dao.UpdateEntity(db, storeMap, "PricePercentagePack")
case model.VendorIDEBAI:
storeMap.PricePercentagePack = "美团测试报价=结算价"
dao.UpdateEntity(db, storeMap, "PricePercentagePack")
case model.VendorIDMTWM:
storeMap.PricePercentagePack = "饿百测试报价=结算价"
dao.UpdateEntity(db, storeMap, "PricePercentagePack")
case model.VendorIDJDShop:
storeMap.PricePercentagePack = "京西100-100"
dao.UpdateEntity(db, storeMap, "PricePercentagePack")
case model.VendorIDJX:
storeMap.PricePercentagePack = "京西100-100"
dao.UpdateEntity(db, storeMap, "PricePercentagePack")
}
}
}
storeSkus, err := dao.GetStoresSkusInfo(db, []int{store.ID}, nil)
for _, v := range storeSkus {
skuAndName, _ := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
skuBindInfo := &cms.StoreSkuBindInfo{
StoreID: store.ID,
NameID: skuAndName[0].NameID,
UnitPrice: v.UnitPrice * store.PayPercentage / 100,
}
skuBindInfos = append(skuBindInfos, skuBindInfo)
}
cms.UpdateStoresSkusByBind(ctx, task, skuBindInfos, isAsync, isContinueWhenError, false)
return retVal, err
}, stores)
tasksch.HandleTask(task, nil, true).Run()
if isAsync {
hint = task.GetID()
} else {
_, err = task.GetResult(0)
hint = "1"
}
return hint, err
}

View File

@@ -381,3 +381,16 @@ func (c *TempOpController) UploadJdsImage() {
return retVal, "", err
})
}
// @Title 京西刷新调价包和门店价格
// @Description 京西刷新调价包和门店价格
// @Param token header string true "认证token"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /RefreshJXPriceChange [post]
func (c *TempOpController) RefreshJXPriceChange() {
c.callRefreshJXPriceChange(func(params *tTempopRefreshJXPriceChangeParams) (retVal interface{}, errCode string, err error) {
retVal, err = tempop.RefreshJXPriceChange(params.Ctx)
return retVal, "", err
})
}

View File

@@ -2448,6 +2448,15 @@ func init() {
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
beego.ControllerComments{
Method: "RefreshJXPriceChange",
Router: `/RefreshJXPriceChange`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
beego.ControllerComments{
Method: "RefreshMtpsWaybillFee",