diff --git a/platformapi/tao_vegetable/sdk/util/util.go b/platformapi/tao_vegetable/sdk/util/util.go index 5419a7fc..8ba29af0 100644 --- a/platformapi/tao_vegetable/sdk/util/util.go +++ b/platformapi/tao_vegetable/sdk/util/util.go @@ -40,12 +40,12 @@ func (t LocalTime) String() string { return time.Time(t).Format(TimeFormat) } -func UnmarshalJSON(data []byte,v interface{})(err error){ +func UnmarshalJSON(data []byte, v interface{}) (err error) { return json.Unmarshal(data, v) } func ConvertStructList(data interface{}) string { - if(data == nil) { + if data == nil { return "[]" } jsonStr, _ := json.Marshal(data) @@ -53,7 +53,7 @@ func ConvertStructList(data interface{}) string { } func ConvertStruct(data interface{}) string { - if(data == nil) { + if data == nil { return "{}" } jsonStr, _ := json.Marshal(data) @@ -61,17 +61,17 @@ func ConvertStruct(data interface{}) string { } func ConvertBasicList(data interface{}) string { - if(data == nil) { + if data == nil { return "[]" } return strings.Replace(strings.Trim(fmt.Sprint(data), "[]"), " ", ",", -1) } -func HandleJsonResponse(jsonStr string,v interface{})(err error) { +func HandleJsonResponse(jsonStr string, v interface{}) (err error) { - if(strings.Contains(jsonStr[0:20],"error_response")){ + if strings.Contains(jsonStr[0:20], "error_response") { err := &TopApiRequestError{} - jsonStr = jsonStr[18:len(jsonStr)-1] + jsonStr = jsonStr[18 : len(jsonStr)-1] err2 := json.Unmarshal([]byte(jsonStr), err) if err2 != nil { return err2 @@ -81,12 +81,12 @@ func HandleJsonResponse(jsonStr string,v interface{})(err error) { return json.Unmarshal([]byte(jsonStr), v) } -func GetSign(publicParam map[string]interface{},data map[string]interface{},secret string) string { +func GetSign(publicParam map[string]interface{}, data map[string]interface{}, secret string) string { var allParamMap = make(map[string]interface{}) - for k,v := range data { + for k, v := range data { allParamMap[k] = v } - for k,v := range publicParam { + for k, v := range publicParam { allParamMap[k] = v } var keyList []string @@ -95,21 +95,20 @@ func GetSign(publicParam map[string]interface{},data map[string]interface{},secr } sort.Strings(keyList) var signStr = "" - for _ , key := range keyList { + for _, key := range keyList { value := allParamMap[key] signStr = signStr + fmt.Sprintf("%v%v", key, value) //if(value != ""){ // signStr = signStr + fmt.Sprintf("%v%v", key, value) //} } - fmt.Println(signStr) - sign := strings.ToUpper(HmacSha256(signStr,secret)) + //fmt.Println(signStr) + sign := strings.ToUpper(HmacSha256(signStr, secret)) return sign } - func HmacSha256(data string, secret string) string { h := hmac.New(sha256.New, []byte(secret)) h.Write([]byte(data)) return hex.EncodeToString(h.Sum(nil)) -} \ No newline at end of file +} diff --git a/platformapi/tao_vegetable/store_sku.go b/platformapi/tao_vegetable/store_sku.go index 4a6ffa03..cc329311 100644 --- a/platformapi/tao_vegetable/store_sku.go +++ b/platformapi/tao_vegetable/store_sku.go @@ -6,9 +6,13 @@ import ( "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/domain" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/request" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587" + domain587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/domain" request2 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request" "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589" request589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/request" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/globals" + "time" ) // AddStoreSku 新增门店商品 @@ -82,11 +86,6 @@ func (a *API) QueryStoreSKu(param *request.AlibabaWdkSkuQueryRequest) (*[]domain return data.Result.Models, nil } -// DeleteStoreSku 删除门店商品 -func (a *API) DeleteStoreSku() { - -} - // StoreSkuUpdateOffShelf 门店商品上下架 func (a *API) StoreSkuUpdateOffShelf(param *request2.AlibabaAxChannelSkuStatusUpdateRequest) error { //globals.SugarLogger.Debugf("进入 StoreSkuUpdateOffShelf") @@ -95,36 +94,37 @@ func (a *API) StoreSkuUpdateOffShelf(param *request2.AlibabaAxChannelSkuStatusUp data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token) if !*data.ApiResult.Success { - //globals.SugarLogger.Debugf("requestId[%s],err[%s]", data.RequestId, utils.Format4Output(data.ApiResult, false)) - return fmt.Errorf(*data.ApiResult.ErrMsg) + globals.SugarLogger.Debugf("storeID:%d,skuId:%d,requestId[%s],err[%s]", param.ChannelSkuUpdateStatusReq.StoreId, param.ChannelSkuUpdateStatusReq.SkuCode, data.RequestId, utils.Format4Output(data, false)) + //return fmt.Errorf(*data.ApiResult.ErrMsg) } return nil } // StoreSkuUpdateOffShelfList 门店商品上下架 -//func (a *API) StoreSkuUpdateOffShelfList(storeID int64, skuList []string) []string { -// client := ability587.NewAbility587(&a.client) -// -// errs := make([]string, 0, 0) -// param := &request2.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{ -// StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)), -// ChannelCode: utils.String2Pointer("31"), -// OnlineSaleFlag: utils.Int64ToPointer(0), -// }} -// for i := 0; i < len(skuList); i++ { -// param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(skuList[i]) -// data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token) -// if !*data.ApiResult.Success { -// errs = append(errs, *data.ApiResult.ErrMsg) -// } -// if i%5 == 0 { -// time.Sleep(1 * time.Second) -// } -// } -// -// return errs -//} +func (a *API) StoreSkuUpdateOffShelfList(storeID int64, skuList []int64) []string { + client := ability587.NewAbility587(&a.client) + + errs := make([]string, 0, 0) + param := &request2.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{ + StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)), + ChannelCode: utils.String2Pointer("31"), + OnlineSaleFlag: utils.Int64ToPointer(1), + }} + for i := 0; i < len(skuList); i++ { + param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(utils.Int64ToStr(skuList[i])) + data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token) + globals.SugarLogger.Debugf("data = %s", utils.Format4Output(data, false)) + //if !*data.ApiResult.Success { + // errs = append(errs, *data.ApiResult.ErrMsg) + //} + if i%5 == 0 { + time.Sleep(1 * time.Second) + } + } + + return errs +} // StoreSkuStock 商品库存同步 func (a *API) StoreSkuStock(param *request589.AlibabaWdkStockPublishRequest) error { diff --git a/platformapi/tao_vegetable/store_sku_test.go b/platformapi/tao_vegetable/store_sku_test.go index 22196fd6..38274370 100644 --- a/platformapi/tao_vegetable/store_sku_test.go +++ b/platformapi/tao_vegetable/store_sku_test.go @@ -5,8 +5,6 @@ import ( request1475 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability1475/request" domain585 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/domain" request585 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/request" - domain587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/domain" - request587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request" domain589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/domain" request589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/request" "git.rosy.net.cn/baseapi/utils" @@ -131,25 +129,17 @@ func TestUpdateSku(t *testing.T) { // 商品上下架 func TestStoreSkuUpdateOffShelf(t *testing.T) { for _, storeID := range storeList { - param := &request587.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{ - StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)), - ChannelCode: utils.String2Pointer("31"), - OnlineSaleFlag: utils.Int64ToPointer(1), - }} - for _, v := range skuList { - param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(utils.Int64ToStr(v)) - err := apiTao.StoreSkuUpdateOffShelf(param) - if err != nil { - fmt.Println(err) - } + globals.SugarLogger.Debugf("store %d", storeID) + err := apiTao.StoreSkuUpdateOffShelfList(storeID, skuList) + if err != nil { + globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false)) } } } -var storeList = []int64{ - 669053, 103074, 668985, 103065, 668960, 668959, 668953, 103029, 668949, 103002, 102999, 668932, 668931, 668917, 102969, 102966, 668909, 668908, 668905, 668901, 102946, 102939, 102938, 668894, 102934, 102933, 102930, 668884, 668878, 102903, 668757, 102293, 668622, 668618, 668592, 100945, 668583, 100943, 100905, 668498, 668476, 668462, 100309, 100299, 100292, 668276, 668180, 667320, 667237, 667036, 668691, 668673, 668282, 667447, 667354, 667335, 667319, 667269, 667268, 667267, 667260, 667132, 667030, 666965, 666714, 666708, 666705, 103437, 103349, 103123, 103121, 103106, 103038, 103028, 103019, 102831, 102751, 102683, 102542, 102514, 102382, 102182, 102178, 102173, 102098, 102094, 102080, 100097, 100096, 100095, 100093, 100092, 100089, 100087, 100086, 100085, 100083, 100082, 100081, 100079, 100078, 100786, 100746, 102072, 102069, 101870, 101869, 101868, 100744, 100705, 100400, 100111, 100108, 100106, 100104, 100103, 100102, 100100, 101867, 101866, 101865, 100956, 100930, 100871, -} +// +var storeList = []int64{667354, 667319, 667269, 667268, 667267, 667260, 667132, 667030, 666965, 666714, 666708, 666705, 103437, 103349, 103123, 103121, 103106, 103038, 103028, 103019, 102831, 102751, 102683, 102542, 102514, 102382, 102182, 102178, 102173, 102098, 102094, 102080, 100097, 100096, 100095, 100093, 100092, 100089, 100087, 100086, 100085, 100083, 100082, 100079, 100078, 100786, 100746, 102072, 102069, 101870, 101869, 101868, 100744, 100705, 100400, 100111, 100108, 100106, 100104, 100103, 100102, 100100, 101867, 101866, 101865, 100956, 100930, 100871} var skuList = []int64{ 26125, diff --git a/platformapi/tao_vegetable/store_test.go b/platformapi/tao_vegetable/store_test.go index 19a30a4f..791f3d90 100644 --- a/platformapi/tao_vegetable/store_test.go +++ b/platformapi/tao_vegetable/store_test.go @@ -124,115 +124,11 @@ func TestShopUpdateRange(t *testing.T) { } func TestUpdateStoreTest(t *testing.T) { - aa := []string{ - "JX668691", - "JX668282", - "JX667447", - "JX667354", - "JX667319", - "JX667316", - "JX669158", - "JX667269", - "JX667267", - "JX667260", - "JX667132", - "JX667030", - "JX666965", - "JX666714", - "JX666708", - "JX666705", - "JX103437", - "JX103349", - "JX103123", - "JX103121", - "JX103106", - "JX103038", - "JX103028", - "JX103019", - "JX102831", - "JX102751", - "JX102683", - "JX102542", - "JX102514", - "JX102382", - "JX102182", - "JX102178", - "JX102173", - "JX102098", - "JX102094", - "JX102080", - "JX102072", - "JX102069", - "JX101870", - "JX101869", - "JX101868", - "JX101867", - "JX101866", - "JX101865", - "JX100956", - "JX100930", - "JX100871", - "JX100786", - "JX100746", - "JX100744", - "JX100726", - "JX100705", - "JX100400", - "JX100111", - "JX100108", - "JX100104", - "JX100103", - "JX100102", - "JX100100", - "JX100097", - "JX100096", - "JX100095", - "JX100093", - "JX100089", - "JX100087", - "JX100086", - "JX100085", - "JX100082", - "JX100079", - "JX100078", - "JX668673", - "JX667321", - "JX667268", - "JX667094", - //669158, - //667321, - //667094, - //668906, - //668886, - //668880, - //668751, - //668701, - //668569, - //668567, - //668506, - //667231, - //667068, - //103191, - //103051, - //103050, - //103037, - //103018, - //102951, - //102924, - //102920, - //102908, - //102561, - //100946, - //100720, - //100325, - //100324, - //100296, - //100290, + aa := []int64{ + 102969, 102966, 668909, 668908, 668905, 668901, 102946, 102939, 102938, 668894, 102934, 102933, 102930, 668884, 668878, 102903, 668757, 102293, 668622, 668618, 668592, 100945, 668583, 100943, 100905, 668498, 668476, 668462, 100309, 100299, 100292, 668276, 668180, 667320, 667237, 667036, 668691, 668673, 668282, 667447, 667354, 667319, 667269, 667268, 667267, 667260, 667132, 667030, 666965, 666714, 666708, 666705, 103437, 103349, 103123, 103121, 103106, 103038, 103028, 103019, 102831, 102751, 102683, 102542, 102514, 102382, 102182, 102178, 102173, 102098, 102094, 102080, 100097, 100096, 100095, 100093, 100092, 100089, 100087, 100086, 100085, 100083, 100082, 100079, 100078, 100786, 100746, 102072, 102069, 101870, 101869, 101868, 100744, 100705, 100400, 100111, 100108, 100106, 100104, 100103, 100102, 100100, 101867, 101866, 101865, 100956, 100930, 100871, } for _, v := range aa { - //err := apiTao.ShopUpdateStatus(fmt.Sprintf("jx%d", v), -1) - //fmt.Println(err) - err := apiTao.ShopUpdateStatus(v, -1) + err := apiTao.ShopUpdateStatus(fmt.Sprintf("JX%d", v), 1) if err != nil { fmt.Println(err) }