'定时刷新商店库存和营业时间(暂饿百和美团)'
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package misc
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
//"fmt"
|
||||
"time"
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
@@ -12,6 +12,8 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -41,11 +43,11 @@ func SetStoreOptime(startTime, endTime int16) {
|
||||
if startTime == 0 || endTime == 0 {
|
||||
startOpStoreTime = startOpStoreTimeDefault
|
||||
endOpStoreTime = endOpStoreTimeDefault
|
||||
fmt.Println("The store time can't be 0")
|
||||
baseapi.SugarLogger.Debugf("The store time can't be 0")
|
||||
} else {
|
||||
startOpStoreTime = startTime
|
||||
endOpStoreTime = endTime
|
||||
fmt.Println("SetStoreOptime:", startTime, endTime)
|
||||
baseapi.SugarLogger.Debugf("SetStoreOptime:%d do:%d", startTime, endTime)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +90,7 @@ func StartOrEndOpStore(startOrEnd bool) {
|
||||
storeInfo, err := cms.GetStores(ctx, "", map[string]interface{}{}, 0, -1, utils.DefaultTimeValue, utils.DefaultTimeValue, 0, 0)
|
||||
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
baseapi.SugarLogger.Errorf("storeInfo error:%v", err)
|
||||
} else {
|
||||
for _, storeListValue := range storeInfo.Stores {
|
||||
storeID := storeListValue.ID
|
||||
@@ -96,11 +98,11 @@ func StartOrEndOpStore(startOrEnd bool) {
|
||||
for _, vendorListValue := range storeListValue.StoreMaps {
|
||||
vendorID, _ := strconv.Atoi(vendorListValue["vendorID"].(json.Number).String())
|
||||
vendorStoreID := vendorListValue["vendorStoreID"].(string)
|
||||
fmt.Println(storeID, vendorID, vendorStoreID, "----", vendorListValue)
|
||||
baseapi.SugarLogger.Debugf("storeID:%d vendorID:%d vendorStoreID:%s vendorListValue:%v", storeID, vendorID, vendorStoreID, vendorListValue)
|
||||
storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler)
|
||||
storeSkuList, err := storeSkuHandler.GetStoreSkusBareInfo(ctx, nil, storeID, vendorStoreID, nil)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
baseapi.SugarLogger.Errorf("storeSkuList error:%v", err)
|
||||
} else {
|
||||
if _, ok := vendorList[vendorID]; ok {
|
||||
if len(storeSkuList) > 0 {
|
||||
@@ -108,21 +110,30 @@ func StartOrEndOpStore(startOrEnd bool) {
|
||||
AddOrDelExtraStoreOptime(vendorID, storeID, vendorStoreID, &storeListValue.Store, false)
|
||||
}
|
||||
skuNameMap := GetSkuNameMap(vendorID, storeID, vendorStoreID)
|
||||
for _, skuValue := range storeSkuList {
|
||||
skuNameInfo := skuNameMap[skuValue.SkuID]
|
||||
needCheckName := skuNameInfo != nil
|
||||
skuName := ""
|
||||
if skuNameInfo != nil {
|
||||
skuName = skuNameInfo.Name
|
||||
}
|
||||
if (needCheckName && skuName != specialSkuName) || !needCheckName {
|
||||
skuValue.Stock = GetStockValue(startOrEnd)
|
||||
var storeSkuList = []*partner.StoreSkuInfo{skuValue}
|
||||
if successList, err := storeSkuHandler.UpdateStoreSkusStock(ctx, storeID, vendorStoreID, storeSkuList); err == nil {
|
||||
fmt.Println(successList, err)
|
||||
isContinueWhenError := true
|
||||
_, err = putils.FreeBatchStoreSkuInfo(func(batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, err error) {
|
||||
var filterBatchedStoreSkuList []*partner.StoreSkuInfo
|
||||
for _, skuValue := range batchedStoreSkuList {
|
||||
skuNameInfo := skuNameMap[skuValue.SkuID]
|
||||
needCheckName := skuNameInfo != nil
|
||||
skuName := ""
|
||||
if skuNameInfo != nil {
|
||||
skuName = skuNameInfo.Name
|
||||
}
|
||||
if (needCheckName && skuName != specialSkuName) || !needCheckName {
|
||||
skuValue.Stock = GetStockValue(startOrEnd)
|
||||
filterBatchedStoreSkuList = append(filterBatchedStoreSkuList, skuValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var successList []*partner.StoreSkuInfo
|
||||
if successList, err = storeSkuHandler.UpdateStoreSkusStock(ctx, storeID, vendorStoreID, filterBatchedStoreSkuList); err == nil {
|
||||
successList = batchedStoreSkuList
|
||||
baseapi.SugarLogger.Debugf("successList:%v error:%v", successList, err)
|
||||
}
|
||||
return nil, err
|
||||
}, ctx, nil, storeSkuList, storeSkuHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkusStock), isContinueWhenError)
|
||||
|
||||
if startOrEnd {
|
||||
AddOrDelExtraStoreOptime(vendorID, storeID, vendorStoreID, &storeListValue.Store, true)
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
|
||||
)
|
||||
|
||||
type TempOpController struct {
|
||||
@@ -271,3 +272,20 @@ func (c *TempOpController) TestIt() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 开启或结束所有平台商店的额外时间
|
||||
// @Description 开启或结束所有平台商店的额外时间,并且修改所有商品库存为0或99999(开启:0 , 结束:99999)
|
||||
// @Param token header string true "认证token"
|
||||
// @Param startOrEndStore query bool true "开启或结束"
|
||||
// @Param startTime query int false "开始营业时间(格式:930代表早上9点30分)"
|
||||
// @Param endTime query int false "结束营业时间"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /TestStartOrEndOpStore [get]
|
||||
func (c *TempOpController) TestStartOrEndOpStore() {
|
||||
c.callTestStartOrEndOpStore(func(params *tTempopTestStartOrEndOpStoreParams) (retVal interface{}, errCode string, err error) {
|
||||
misc.SetStoreOptime(int16(params.StartTime), int16(params.EndTime))
|
||||
misc.StartOrEndOpStore(params.StartOrEndStore)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
1
main.go
1
main.go
@@ -57,6 +57,7 @@ func Init() {
|
||||
if globals.IsProductEnv() {
|
||||
ebai.CurPurchaseHandler.StartRefreshComment()
|
||||
misc.Init()
|
||||
misc.InitEx()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1690,6 +1690,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: "TestStartOrEndOpStore",
|
||||
Router: `/TestStartOrEndOpStore`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
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: "UpdateAllWeiXinRemark",
|
||||
|
||||
Reference in New Issue
Block a user