diff --git a/platformapi/dadaapi/shop_test.go b/platformapi/dadaapi/shop_test.go
index 418da217..87acdab6 100644
--- a/platformapi/dadaapi/shop_test.go
+++ b/platformapi/dadaapi/shop_test.go
@@ -37,9 +37,8 @@ func TestShopAdd(t *testing.T) {
func TestShopUpdate(t *testing.T) {
shopInfo := &ShopInfo{
- OriginShopID: "18180948107",
- StationName: "京西大本营234",
- CityName: "包头市",
+ OriginShopID: "666872",
+ Status: 1,
}
err := dadaapi.ShopUpdate(shopInfo)
if err != nil {
diff --git a/platformapi/ebaiapi/store_page.go b/platformapi/ebaiapi/store_page.go
index 88d488ae..74d8e2a1 100644
--- a/platformapi/ebaiapi/store_page.go
+++ b/platformapi/ebaiapi/store_page.go
@@ -760,7 +760,7 @@ func (a *API) getCommentList(isElm bool, fromTime, toTime time.Time, shopID, sup
for {
params["page_num"] = pageNo
retVal, err2 := a.AccessStorePage(fixedURL, "", params, false)
- if err = err2; err == nil {
+ if err = err2; err == nil && retVal != nil {
for _, comment := range retVal["comment_list"].([]interface{}) {
commentMap := comment.(map[string]interface{})
for _, orderComment := range commentMap["order_commentList"].([]interface{}) {
@@ -782,7 +782,7 @@ func (a *API) getCommentList(isElm bool, fromTime, toTime time.Time, shopID, sup
}
func (a *API) GetEleCommentList(fromTime, toTime time.Time, shopID, supplierID string, replyStatus, level, nonEmpty int) (commentList []map[string]interface{}, err error) {
- return a.getCommentList(true, fromTime, toTime, shopID, supplierID, replyStatus, level, nonEmpty)
+ return a.getCommentList(false, fromTime, toTime, shopID, supplierID, replyStatus, level, nonEmpty)
}
func (a *API) GetCommentList(fromTime, toTime time.Time, shopID, supplierID string, replyStatus, level, nonEmpty int) (commentList []map[string]interface{}, err error) {
diff --git a/platformapi/jcqapi/jcqapi.go b/platformapi/jcqapi/jcqapi.go
index 81448118..df60761c 100644
--- a/platformapi/jcqapi/jcqapi.go
+++ b/platformapi/jcqapi/jcqapi.go
@@ -36,12 +36,12 @@ const (
var (
TopicList = []string{
"open_message_order_order_pay", //订单付款
- // "open_message_pop_order_remk_chg", //POP订单备注变更
// "open_message_pop_order_out", //POP订单出库
// "open_message_pop_order_create", //POP订单创建
// "open_message_pop_order_change", //POP订单变更消息
// "open_message_order_order_finish", //订单完成
"open_message_order_order_cancel", //订单取消
+ // "open_message_pop_order_remk_chg", //POP订单备注变更
}
)
diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go
index 7722474e..e16601cb 100644
--- a/platformapi/jdapi/jdapi_test.go
+++ b/platformapi/jdapi/jdapi_test.go
@@ -28,7 +28,7 @@ func init() {
// api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
- const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHD6O37OTAHUCKU6ALXATYTGMHNFLM4XRLVSFUQAJR77M4URSZRKVO55243TDVXLO25PP4UYSPTTPMNRUFXDNP4WPE566Q6V4AH32F7HT"
+ const cookieValue = "OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3J7VMEGG2RGQEK6VMGIWEIL3X66ZYUZZOKKUUBKAWCWZPLF745R6MSYFJJ6EXUPLU4UGKXFQWEBUCQAMIOV7EVR4JGDPUMIPCVZVKBP5XQU32N7XTB6LGOP5RZQCH7DRHM"
api.SetJdCookie(cookieValue)
api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD3MSKKBKBSRP3DSEQXLITYNBLFZCHXCA7L4KGOSJRMM7R5IQP7QGLGRQB27AOE4YMLRJ3UPTZADPWJOYB3UZ7UZHLBVZRREEX647O3WQUU4BYXUOFZPIPRR77W3PQV543E")
}
diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go
index 0118a8cf..192de73c 100644
--- a/platformapi/jdapi/store_page.go
+++ b/platformapi/jdapi/store_page.go
@@ -298,10 +298,12 @@ var (
regexpTable = regexp.MustCompile(`
`)
regexpTd = regexp.MustCompile(`([0-9].*) | `)
regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`)
+ regexpJDStoreSkuPage = regexp.MustCompile(`共1/(.*)页`)
regexpJDTbody = regexp.MustCompile(`([\s\S]*?)`)
regexpJDTr = regexp.MustCompile(`([\s\S]*?)
`)
regexpJDTdInfo = regexp.MustCompile(`([\s\S]*?) | `)
regexpJDSkuID = regexp.MustCompile(`sku编码:(.*)`)
+ regexpJDSkuID2 = regexp.MustCompile(`SKU编码:(.*)
`)
regexpJDUserID = regexp.MustCompile(`value="(.*)"`)
regexpJDUserIsManager = regexp.MustCompile(``)
regexpJDStoreLevel = regexp.MustCompile(`门店分级 :(.*);`)
@@ -1074,3 +1076,29 @@ func (a *API) GetJdShopOrders(orderStartTime, orderEndTime, orgCode, loginName s
}
return getJdShopOrdersResult, err
}
+
+//获取京东的置顶门店商品
+//https://stock-store.jddj.com/storeproduct/query
+func (a *API) GetJdTopSkus(vendorStoreID string, currentPage int) (vendorSkuIDs []string, totalCount int, err error) {
+ jdParams := map[string]interface{}{
+ "fixedStatus": 1,
+ "stationNo": vendorStoreID,
+ "numStatus": 0,
+ "currentPage": currentPage,
+ "pageSize": 10,
+ }
+ body, err := a.AccessStorePage2("https://stock-store.jddj.com/storeproduct/query", jdParams, true, "")
+ if body != nil {
+ bodyStr := body.(map[string]interface{})["fakeData"].(string)
+ result := regexpJDStoreSkuPage.FindStringSubmatch(bodyStr)
+ totalCount = utils.Str2Int(result[1])
+ resultTr := regexpJDTr.FindAllStringSubmatch(bodyStr, -1)
+ for _, v := range resultTr {
+ resultSkuID := regexpJDSkuID2.FindStringSubmatch(v[1])
+ if strings.Contains(v[1], "取消置顶") {
+ vendorSkuIDs = append(vendorSkuIDs, resultSkuID[1])
+ }
+ }
+ }
+ return vendorSkuIDs, totalCount, err
+}
diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go
index 62d085c3..f6f3a06b 100644
--- a/platformapi/jdapi/store_page_test.go
+++ b/platformapi/jdapi/store_page_test.go
@@ -272,3 +272,12 @@ func TestGetJdShopOrders(t *testing.T) {
}
t.Log(utils.Format4Output(result, false))
}
+
+func TestGetJdTopSkus(t *testing.T) {
+ result1, result2, err := api.GetJdTopSkus("11732425")
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Log(utils.Format4Output(result1, false))
+ t.Log(utils.Format4Output(result2, false))
+}
diff --git a/platformapi/jdshopapi/callback.go b/platformapi/jdshopapi/callback.go
index 40279a09..21875810 100644
--- a/platformapi/jdshopapi/callback.go
+++ b/platformapi/jdshopapi/callback.go
@@ -9,25 +9,26 @@ import (
)
type CallBackResult struct {
- OrderStateRemark string `json:"orderStateRemark"`
- OrderRemark string `json:"orderRemark"`
- OrderSellerPrice string `json:"orderSellerPrice"`
- OrderState string `json:"orderState"`
- OrderType string `json:"orderType"`
- OrderPayment string `json:"orderPayment"`
- PayType string `json:"payType"`
- StoreID string `json:"storeId"`
- OrderTotalPrice string `json:"orderTotalPrice"`
- OrderExt string `json:"orderExt"`
- StoreOrder string `json:"storeOrder"`
- OrderStartTime string `json:"orderStartTime"`
- OrderID string `json:"orderId"`
- OrderSource string `json:"orderSource"`
- FreightPrice string `json:"freightPrice"`
- MsgType string `json:"msgType"`
- Pin string `json:"pin"`
- ConsigneeInfo *CallBackConsigneeInfo `json:"consigneeInfo"`
- ItemInfoList []*CallBackItemInfoList `json:"itemInfoList"`
+ OrderStateRemark string `json:"orderStateRemark"`
+ OrderRemark string `json:"orderRemark"`
+ OrderSellerPrice string `json:"orderSellerPrice"`
+ OrderState string `json:"orderState"`
+ OrderType string `json:"orderType"`
+ OrderPayment string `json:"orderPayment"`
+ PayType string `json:"payType"`
+ StoreID string `json:"storeId"`
+ OrderTotalPrice string `json:"orderTotalPrice"`
+ OrderExt string `json:"orderExt"`
+ StoreOrder string `json:"storeOrder"`
+ OrderStartTime string `json:"orderStartTime"`
+ OrderID string `json:"orderId"`
+ OrderSource string `json:"orderSource"`
+ FreightPrice string `json:"freightPrice"`
+ MsgType string `json:"msgType"`
+ Pin string `json:"pin"`
+ IDSopShipmenttype string `json:"idSopShipmenttype"`
+ ConsigneeInfo *CallBackConsigneeInfo `json:"consigneeInfo"`
+ ItemInfoList []*CallBackItemInfoList `json:"itemInfoList"`
}
type CallBackConsigneeInfo struct {
diff --git a/platformapi/jdshopapi/jdshopapi.go b/platformapi/jdshopapi/jdshopapi.go
index fd729689..e5f86575 100644
--- a/platformapi/jdshopapi/jdshopapi.go
+++ b/platformapi/jdshopapi/jdshopapi.go
@@ -62,7 +62,7 @@ const (
JdsBeefCatID = 13582
JdsBeefLastCatID = 17902
- JdsPayPercentage float64 = 0.97
+ JdsPayPercentage float64 = 0.94
)
var (
diff --git a/platformapi/jdshopapi/order.go b/platformapi/jdshopapi/order.go
index 576bf368..fec13e2b 100644
--- a/platformapi/jdshopapi/order.go
+++ b/platformapi/jdshopapi/order.go
@@ -6,6 +6,7 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
+ "strings"
"time"
"git.rosy.net.cn/baseapi/utils"
@@ -16,6 +17,8 @@ const (
OrderStatusPause = "PAUSE"
OrderStatusWait = "WAIT_SELLER_STOCK_OUT"
OrderStatusCancel = "TRADE_CANCELED"
+
+ IdSopShipmenttypeTC = "71" //同城配送,需要调其他接口获取期望送货时间
)
//订单出库
@@ -107,7 +110,7 @@ func (a *API) GetOrder(orderID int64, isStatus bool) (getOrderResult *GetOrderRe
orderStartTime,orderEndTime,orderRemark,consigneeInfo,
itemInfoList,pauseBizInfo,pin,idSopShipmenttype`
if isStatus {
- params["order_state"] = "WAIT_SELLER_STOCK_OUT,PAUSE,TRADE_CANCELED"
+ params["order_state"] = "WAIT_SELLER_STOCK_OUT,TRADE_CANCELED"
}
result, err := a.AccessAPI("jingdong.pop.order.get", prodURL, params)
if err == nil {
@@ -218,3 +221,35 @@ func (a *API) KeyGet() (keyGetResult *KeyGetResult, err error) {
}
return keyGetResult, err
}
+
+type GetOrderExtInfoByOrderIdResult struct {
+ IDSopShipmentType string `json:"idSopShipmentType"`
+ OrderCreateDate string `json:"orderCreateDate"`
+ CodDate string `json:"codDate"`
+ SelectedItem string `json:"selectedItem"`
+ Batch string `json:"batch"`
+ DeliveryCodTime string `json:"deliveryCodTime"`
+ Speedhour string `json:"Speedhour"`
+ FinalDelieveredTime string `json:"finalDelieveredTime"`
+}
+
+//获取期望送货时间
+func (a *API) GetOrderExtInfoByOrderId(orderId string) (time string, err error) {
+ getOrderExtInfoByOrderIdResult := &GetOrderExtInfoByOrderIdResult{}
+ result, err := a.AccessAPI("jingdong.pop.order.getOrderExtInfoByOrderId", prodURL, map[string]interface{}{
+ "orderId": orderId,
+ "searchFileds": "deliveryInfo",
+ })
+ if err == nil {
+ str := strings.ReplaceAll(result["jingdong_pop_order_getOrderExtInfoByOrderId_responce"].(map[string]interface{})["orderExtraInfoResultModel"].(map[string]interface{})["resultMap"].(map[string]interface{})["deliveryInfo"].(string), "\\", "")
+ err = json.Unmarshal([]byte(str), &getOrderExtInfoByOrderIdResult)
+ exTime := strings.Split(getOrderExtInfoByOrderIdResult.DeliveryCodTime, ",")
+ if len(exTime) < 2 {
+ time = getOrderExtInfoByOrderIdResult.FinalDelieveredTime
+ } else {
+ exTime2 := strings.Split(exTime[1], "-")
+ time = exTime[0] + " " + exTime2[1] + ":00"
+ }
+ }
+ return time, err
+}
diff --git a/platformapi/jdshopapi/order_test.go b/platformapi/jdshopapi/order_test.go
index 65fc3cc7..c1ec31f2 100644
--- a/platformapi/jdshopapi/order_test.go
+++ b/platformapi/jdshopapi/order_test.go
@@ -45,3 +45,11 @@ func TestKeyGet(t *testing.T) {
}
t.Log(utils.Format4Output(result, false))
}
+
+func TestGetOrderExtInfoByOrderId(t *testing.T) {
+ result, err := api.GetOrderExtInfoByOrderId("130427633633")
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Log(utils.Format4Output(result, false))
+}
diff --git a/platformapi/jdshopapi/store_page_test.go b/platformapi/jdshopapi/store_page_test.go
index bbe707ef..57151748 100644
--- a/platformapi/jdshopapi/store_page_test.go
+++ b/platformapi/jdshopapi/store_page_test.go
@@ -43,16 +43,16 @@ func TestNewInfoList(t *testing.T) {
}
func Test11(t *testing.T) {
- type StrA struct {
- Cat string `json:"cat"`
- Dog int `json:"dog,omitempty"`
- Mouse int `json:"mouse"`
+ change := func(s ...string) {
+ s[0] = "Go"
+ s = append(s, "playground")
+ fmt.Println(s)
}
- a := &StrA{
- Cat: "加菲",
- }
- fmt.Println(utils.Format4Output(a, false))
- fmt.Println(a.Dog == 0, a.Mouse)
+
+ welcome := []string{"hello", "world"}
+ change(welcome...)
+ fmt.Println(welcome)
+
}
func TestAllOrders(t *testing.T) {
diff --git a/platformapi/mtpsapi/shop_test.go b/platformapi/mtpsapi/shop_test.go
index 99732a22..4b307bc5 100644
--- a/platformapi/mtpsapi/shop_test.go
+++ b/platformapi/mtpsapi/shop_test.go
@@ -18,7 +18,7 @@ func TestShopQuery(t *testing.T) {
// if err == nil {
// t.Fatal("应该报错找不到门店")
// }
- shopInfo, err := api.ShopQuery("11732425")
+ shopInfo, err := api.ShopQuery("667446")
if err != nil {
t.Fatal(err)
}
diff --git a/platformapi/mtwmapi/order_test.go b/platformapi/mtwmapi/order_test.go
index 207afabb..b8ba09fa 100644
--- a/platformapi/mtwmapi/order_test.go
+++ b/platformapi/mtwmapi/order_test.go
@@ -16,7 +16,7 @@ func TestOrderViewStatus(t *testing.T) {
}
func TestOrderGetOrderDetail(t *testing.T) {
- result, err := api.OrderGetOrderDetail(69760842061320598, false)
+ result, err := api.OrderGetOrderDetail(73322892924405911, false)
if err != nil {
t.Fatal(err)
}
@@ -27,7 +27,7 @@ func TestOrderGetOrderDetail(t *testing.T) {
}
func TestOrderGetOrderDetail2(t *testing.T) {
- result, err := api.OrderGetOrderDetail2(69760842061320598, false)
+ result, err := api.OrderGetOrderDetail2(73322892924405911, false)
if err != nil {
t.Fatal(err)
}
diff --git a/platformapi/mtwmapi/retail_test.go b/platformapi/mtwmapi/retail_test.go
index 65a6af3d..b1131ee7 100644
--- a/platformapi/mtwmapi/retail_test.go
+++ b/platformapi/mtwmapi/retail_test.go
@@ -286,7 +286,7 @@ func TestRetailSellStatus(t *testing.T) {
}
func TestCategoryAttrList(t *testing.T) {
- result, err := api.CategoryAttrList(200002728)
+ result, err := api.CategoryAttrList(200002727)
if err != nil {
t.Fatal(err)
}
diff --git a/platformapi/weixinapi/weixinapi_test.go b/platformapi/weixinapi/weixinapi_test.go
index 244bebab..40368bfb 100644
--- a/platformapi/weixinapi/weixinapi_test.go
+++ b/platformapi/weixinapi/weixinapi_test.go
@@ -26,7 +26,7 @@ func init() {
// prod
api = New("wx2bb99eb5d2c9b82c", "6bbbed1443cc062c20a015a64c07a531")
- api.CBSetToken("35_1ilNtBtqXwojmsYWgzpjn8Nn-1DuOfy0rTcsIuRz5RqXAcJRYCmcFP0oBQR6N6dBm6lOvg7j7O-YMKh_--zfbJ_4hBCfBbvI7svoeIc3l4W_UHA41LyT_asp731YpNKA9oRWkg0ftTJj0rHwLEDhAHAUNM")
+ api.CBSetToken("36_un9YOYENTdiNi4TVoDfrb2oiiU9XSugSgbm0B-uJ4TbhVk543aOi5UcBgYcujsCZ1gyCIMDbaKCON7oWMHtHRLCg1P2KzjRhxU3KoVbNZ04PPzdDOXStnigkoSLTxv-y9pbenFP0kHYHUeRHQEUeAHAJXN")
}
func handleError(t *testing.T, err error) {