1
This commit is contained in:
@@ -40,12 +40,12 @@ func (t LocalTime) String() string {
|
|||||||
return time.Time(t).Format(TimeFormat)
|
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)
|
return json.Unmarshal(data, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func ConvertStructList(data interface{}) string {
|
func ConvertStructList(data interface{}) string {
|
||||||
if(data == nil) {
|
if data == nil {
|
||||||
return "[]"
|
return "[]"
|
||||||
}
|
}
|
||||||
jsonStr, _ := json.Marshal(data)
|
jsonStr, _ := json.Marshal(data)
|
||||||
@@ -53,7 +53,7 @@ func ConvertStructList(data interface{}) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ConvertStruct(data interface{}) string {
|
func ConvertStruct(data interface{}) string {
|
||||||
if(data == nil) {
|
if data == nil {
|
||||||
return "{}"
|
return "{}"
|
||||||
}
|
}
|
||||||
jsonStr, _ := json.Marshal(data)
|
jsonStr, _ := json.Marshal(data)
|
||||||
@@ -61,17 +61,17 @@ func ConvertStruct(data interface{}) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ConvertBasicList(data interface{}) string {
|
func ConvertBasicList(data interface{}) string {
|
||||||
if(data == nil) {
|
if data == nil {
|
||||||
return "[]"
|
return "[]"
|
||||||
}
|
}
|
||||||
return strings.Replace(strings.Trim(fmt.Sprint(data), "[]"), " ", ",", -1)
|
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{}
|
err := &TopApiRequestError{}
|
||||||
jsonStr = jsonStr[18:len(jsonStr)-1]
|
jsonStr = jsonStr[18 : len(jsonStr)-1]
|
||||||
err2 := json.Unmarshal([]byte(jsonStr), err)
|
err2 := json.Unmarshal([]byte(jsonStr), err)
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
return err2
|
return err2
|
||||||
@@ -81,12 +81,12 @@ func HandleJsonResponse(jsonStr string,v interface{})(err error) {
|
|||||||
return json.Unmarshal([]byte(jsonStr), v)
|
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{})
|
var allParamMap = make(map[string]interface{})
|
||||||
for k,v := range data {
|
for k, v := range data {
|
||||||
allParamMap[k] = v
|
allParamMap[k] = v
|
||||||
}
|
}
|
||||||
for k,v := range publicParam {
|
for k, v := range publicParam {
|
||||||
allParamMap[k] = v
|
allParamMap[k] = v
|
||||||
}
|
}
|
||||||
var keyList []string
|
var keyList []string
|
||||||
@@ -95,21 +95,20 @@ func GetSign(publicParam map[string]interface{},data map[string]interface{},secr
|
|||||||
}
|
}
|
||||||
sort.Strings(keyList)
|
sort.Strings(keyList)
|
||||||
var signStr = ""
|
var signStr = ""
|
||||||
for _ , key := range keyList {
|
for _, key := range keyList {
|
||||||
value := allParamMap[key]
|
value := allParamMap[key]
|
||||||
signStr = signStr + fmt.Sprintf("%v%v", key, value)
|
signStr = signStr + fmt.Sprintf("%v%v", key, value)
|
||||||
//if(value != ""){
|
//if(value != ""){
|
||||||
// signStr = signStr + fmt.Sprintf("%v%v", key, value)
|
// signStr = signStr + fmt.Sprintf("%v%v", key, value)
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
fmt.Println(signStr)
|
//fmt.Println(signStr)
|
||||||
sign := strings.ToUpper(HmacSha256(signStr,secret))
|
sign := strings.ToUpper(HmacSha256(signStr, secret))
|
||||||
return sign
|
return sign
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func HmacSha256(data string, secret string) string {
|
func HmacSha256(data string, secret string) string {
|
||||||
h := hmac.New(sha256.New, []byte(secret))
|
h := hmac.New(sha256.New, []byte(secret))
|
||||||
h.Write([]byte(data))
|
h.Write([]byte(data))
|
||||||
return hex.EncodeToString(h.Sum(nil))
|
return hex.EncodeToString(h.Sum(nil))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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/domain"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/request"
|
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/request"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587"
|
"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"
|
request2 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589"
|
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589"
|
||||||
request589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/request"
|
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 新增门店商品
|
// AddStoreSku 新增门店商品
|
||||||
@@ -82,11 +86,6 @@ func (a *API) QueryStoreSKu(param *request.AlibabaWdkSkuQueryRequest) (*[]domain
|
|||||||
return data.Result.Models, nil
|
return data.Result.Models, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteStoreSku 删除门店商品
|
|
||||||
func (a *API) DeleteStoreSku() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// StoreSkuUpdateOffShelf 门店商品上下架
|
// StoreSkuUpdateOffShelf 门店商品上下架
|
||||||
func (a *API) StoreSkuUpdateOffShelf(param *request2.AlibabaAxChannelSkuStatusUpdateRequest) error {
|
func (a *API) StoreSkuUpdateOffShelf(param *request2.AlibabaAxChannelSkuStatusUpdateRequest) error {
|
||||||
//globals.SugarLogger.Debugf("进入 StoreSkuUpdateOffShelf")
|
//globals.SugarLogger.Debugf("进入 StoreSkuUpdateOffShelf")
|
||||||
@@ -95,36 +94,37 @@ func (a *API) StoreSkuUpdateOffShelf(param *request2.AlibabaAxChannelSkuStatusUp
|
|||||||
data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token)
|
data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token)
|
||||||
|
|
||||||
if !*data.ApiResult.Success {
|
if !*data.ApiResult.Success {
|
||||||
//globals.SugarLogger.Debugf("requestId[%s],err[%s]", data.RequestId, utils.Format4Output(data.ApiResult, false))
|
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 fmt.Errorf(*data.ApiResult.ErrMsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// StoreSkuUpdateOffShelfList 门店商品上下架
|
// StoreSkuUpdateOffShelfList 门店商品上下架
|
||||||
//func (a *API) StoreSkuUpdateOffShelfList(storeID int64, skuList []string) []string {
|
func (a *API) StoreSkuUpdateOffShelfList(storeID int64, skuList []int64) []string {
|
||||||
// client := ability587.NewAbility587(&a.client)
|
client := ability587.NewAbility587(&a.client)
|
||||||
//
|
|
||||||
// errs := make([]string, 0, 0)
|
errs := make([]string, 0, 0)
|
||||||
// param := &request2.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{
|
param := &request2.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{
|
||||||
// StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)),
|
StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)),
|
||||||
// ChannelCode: utils.String2Pointer("31"),
|
ChannelCode: utils.String2Pointer("31"),
|
||||||
// OnlineSaleFlag: utils.Int64ToPointer(0),
|
OnlineSaleFlag: utils.Int64ToPointer(1),
|
||||||
// }}
|
}}
|
||||||
// for i := 0; i < len(skuList); i++ {
|
for i := 0; i < len(skuList); i++ {
|
||||||
// param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(skuList[i])
|
param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(utils.Int64ToStr(skuList[i]))
|
||||||
// data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token)
|
data, _ := client.AlibabaAxChannelSkuStatusUpdate(param, a.token)
|
||||||
// if !*data.ApiResult.Success {
|
globals.SugarLogger.Debugf("data = %s", utils.Format4Output(data, false))
|
||||||
// errs = append(errs, *data.ApiResult.ErrMsg)
|
//if !*data.ApiResult.Success {
|
||||||
// }
|
// errs = append(errs, *data.ApiResult.ErrMsg)
|
||||||
// if i%5 == 0 {
|
//}
|
||||||
// time.Sleep(1 * time.Second)
|
if i%5 == 0 {
|
||||||
// }
|
time.Sleep(1 * time.Second)
|
||||||
// }
|
}
|
||||||
//
|
}
|
||||||
// return errs
|
|
||||||
//}
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
// StoreSkuStock 商品库存同步
|
// StoreSkuStock 商品库存同步
|
||||||
func (a *API) StoreSkuStock(param *request589.AlibabaWdkStockPublishRequest) error {
|
func (a *API) StoreSkuStock(param *request589.AlibabaWdkStockPublishRequest) error {
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import (
|
|||||||
request1475 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability1475/request"
|
request1475 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability1475/request"
|
||||||
domain585 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/domain"
|
domain585 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/domain"
|
||||||
request585 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability585/request"
|
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"
|
domain589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/domain"
|
||||||
request589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/request"
|
request589 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability589/request"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -131,25 +129,17 @@ func TestUpdateSku(t *testing.T) {
|
|||||||
// 商品上下架
|
// 商品上下架
|
||||||
func TestStoreSkuUpdateOffShelf(t *testing.T) {
|
func TestStoreSkuUpdateOffShelf(t *testing.T) {
|
||||||
for _, storeID := range storeList {
|
for _, storeID := range storeList {
|
||||||
param := &request587.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{
|
globals.SugarLogger.Debugf("store %d", storeID)
|
||||||
StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeID)),
|
err := apiTao.StoreSkuUpdateOffShelfList(storeID, skuList)
|
||||||
ChannelCode: utils.String2Pointer("31"),
|
if err != nil {
|
||||||
OnlineSaleFlag: utils.Int64ToPointer(1),
|
globals.SugarLogger.Debugf("err := %s", utils.Format4Output(err, false))
|
||||||
}}
|
|
||||||
for _, v := range skuList {
|
|
||||||
param.ChannelSkuUpdateStatusReq.SkuCode = utils.String2Pointer(utils.Int64ToStr(v))
|
|
||||||
err := apiTao.StoreSkuUpdateOffShelf(param)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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{
|
var skuList = []int64{
|
||||||
26125,
|
26125,
|
||||||
|
|||||||
@@ -124,115 +124,11 @@ func TestShopUpdateRange(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateStoreTest(t *testing.T) {
|
func TestUpdateStoreTest(t *testing.T) {
|
||||||
aa := []string{
|
aa := []int64{
|
||||||
"JX668691",
|
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,
|
||||||
"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,
|
|
||||||
}
|
}
|
||||||
for _, v := range aa {
|
for _, v := range aa {
|
||||||
//err := apiTao.ShopUpdateStatus(fmt.Sprintf("jx%d", v), -1)
|
err := apiTao.ShopUpdateStatus(fmt.Sprintf("JX%d", v), 1)
|
||||||
//fmt.Println(err)
|
|
||||||
err := apiTao.ShopUpdateStatus(v, -1)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user