- ebaiapi.OrderIdConvert

- elmapi.GetAllOrders
This commit is contained in:
gazebo
2019-02-01 20:19:58 +08:00
parent 335162d99a
commit eba2996880
6 changed files with 84 additions and 14 deletions

View File

@@ -171,3 +171,27 @@ func (a *API) OrderDeliveryGet(orderID string) (deliveryInfo map[string]interfac
}
return nil, err
}
func (a *API) OrderIdConvert(orderID string, isElemeOrder bool) (convertedOrderID string, err error) {
key := "order_id"
resultKey := "eleme_order_id"
if isElemeOrder {
key = "eleme_order_id"
resultKey = "order_id"
}
result, err := a.AccessAPI("order.id.convert", map[string]interface{}{
key: orderID,
})
if err == nil {
return utils.Interface2String(result.Data.(map[string]interface{})[resultKey]), nil
}
return "", err
}
func (a *API) SmartOrderIdConvert(orderID string) (convertedOrderID string, err error) {
return a.OrderIdConvert(orderID, isOrderIDEleme(orderID))
}
func isOrderIDEleme(orderID string) bool {
return len(orderID) == len("3026328756122155111")
}

View File

@@ -44,3 +44,11 @@ func TestOrderDeliveryGet(t *testing.T) {
}
t.Log(result)
}
func TestSmartOrderIdConvert(t *testing.T) {
result, err := api.SmartOrderIdConvert("3035779376398878822")
if err != nil {
t.Fatal(err)
}
t.Log(result)
}

View File

@@ -23,7 +23,7 @@ func init() {
// sandbox
elmapi = New("623c0904c0d2499e83df15b62902eb65", "RwT214gAsS", "56afff4b9ebd8a7eb532d18fa33f17be57f9b9db", false)
// prod
// elmapi = New("fee89f45d06f93037dd314ceb78fde7b", "KLRDcOZGrk", "1fc221f8265506531da36fb613d5f5ad673f2e9a", true)
// elmapi = New("cf5710018b46e75145eb0f19900bcecd", "KLRDcOZGrk", "1fc221f8265506531da36fb613d5f5ad673f2e9a", true)
}
func TestTest(t *testing.T) {
@@ -43,18 +43,6 @@ func TestAccessAPI(t *testing.T) {
}
}
func TestGetOrder(t *testing.T) {
result, err := elmapi.GetOrder("3023582487561731159")
if err != nil {
t.Fatalf("Error when accessing AccessJDQuery result:%v, error:%v", result, err)
} else {
shopId := int(utils.MustInterface2Int64(result["shopId"]))
if shopId != 157451615 {
t.Fatalf("userId is not correct:%v", shopId)
}
}
}
func TestCallbackSign(t *testing.T) {
jsonStr := `{"requestId":"200016348669063447","type":18,"appId":78247922,"message":"{\"orderId\":\"3024923917769149510\",\"state\":\"settled\",\"shopId\":157492364,\"updateTime\":1529465510,\"role\":1}","shopId":157492364,"timestamp":1529465510255,"signature":"D65F917D93B4F599B85486C799599141","userId":336072266322770688}`
msg, response := elmapi.GetCallbackMsg([]byte(jsonStr))

View File

@@ -1,5 +1,11 @@
package elmapi
import (
"time"
"git.rosy.net.cn/baseapi/utils"
)
const (
OrderStatusPending = "pending"
OrderStatusUnprocessed = "unprocessed"
@@ -43,6 +49,10 @@ const (
RoleOrderFinished = 9
)
const (
MaxGetAllOrdersPageSize = 50
)
func (a *API) GetOrder(orderID string) (map[string]interface{}, error) {
result, err := a.AccessAPI("eleme.order.getOrder", map[string]interface{}{
"orderId": orderID,
@@ -95,3 +105,17 @@ func (a *API) CompleteDeliveryBySelf(orderID, courierPhone string) error {
})
return err
}
func (a *API) GetAllOrders(shopId string, pageNo, pageSize int, date time.Time) (orderList []map[string]interface{}, err error) {
result, err := a.AccessAPI("eleme.order.getAllOrders", map[string]interface{}{
"shopId": shopId,
"pageNo": pageNo,
"pageSize": pageSize,
"date": date.Format("2006-01-02"),
})
if err == nil {
innerResult := result.Result.(map[string]interface{})
return utils.Slice2MapSlice(innerResult["list"].([]interface{})), nil
}
return nil, err
}

View File

@@ -0,0 +1,24 @@
package elmapi
import (
"testing"
"git.rosy.net.cn/baseapi/utils"
)
func TestGetOrder(t *testing.T) {
result, err := elmapi.GetOrder("2100664403101818890")
if err != nil {
t.Fatalf("Error when accessing AccessJDQuery result:%v, error:%v", result, err)
} else {
sugarLogger.Debug(utils.Format4Output(result, false))
// shopId := int(utils.MustInterface2Int64(result["shopId"]))
// if shopId != 157451615 {
// t.Fatalf("userId is not correct:%v", shopId)
// }
}
}
func TestGetAllOrders(t *testing.T) {
}

View File

@@ -2,6 +2,8 @@ package elmapi
import (
"testing"
"git.rosy.net.cn/baseapi/utils"
)
func TestGetUser(t *testing.T) {
@@ -17,7 +19,7 @@ func TestGetAccAndStores(t *testing.T) {
if err != nil || len(stores) == 0 || len(accs) == 0 {
t.Fatalf("GetAccAndStores failed with error:%v", err)
}
sugarLogger.Debug(stores[0])
sugarLogger.Debug(utils.Format4Output(stores, false))
}
func TestGetShop(t *testing.T) {