- in GetOrders, if keyword looks like a orderID, then ignore other conditions.
This commit is contained in:
@@ -81,11 +81,28 @@ func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID in
|
||||
index := strings.Index(universalOrderID, "|")
|
||||
if index != -1 {
|
||||
orderID = universalOrderID[:index]
|
||||
vendorID = int(utils.Str2Int64(universalOrderID[index:]))
|
||||
vendorID = int(utils.Str2Int64(universalOrderID[index+1:]))
|
||||
} else {
|
||||
if vendorID = GetPossibleVendorIDFromVendorOrderID(universalOrderID); vendorID == model.VendorIDUnknown {
|
||||
// globals.SugarLogger.Errorf("unkown order type:%v", universalOrderID)
|
||||
panic(fmt.Sprintf("unkown order type, orderID:%s", universalOrderID))
|
||||
}
|
||||
orderID = universalOrderID
|
||||
}
|
||||
return orderID, vendorID
|
||||
}
|
||||
|
||||
func GetPossibleVendorIDFromVendorOrderID(vendorOrderID string) (vendorID int) {
|
||||
vendorID = model.VendorIDUnknown
|
||||
if vendorOrderIDInt64 := utils.Str2Int64WithDefault(vendorOrderID, 0); vendorOrderIDInt64 > 0 {
|
||||
orderIDLen := len(vendorOrderID)
|
||||
// 5287873015048 13
|
||||
// 15380342248732 14
|
||||
// 800402581000221 15
|
||||
// 33437032333978492 17
|
||||
// 3022716176275221584 19
|
||||
// 800402581000221 jd order
|
||||
// 3022716176275221584 elm order
|
||||
orderIDLen := len(universalOrderID)
|
||||
if orderIDLen == len("800402581000221") {
|
||||
vendorID = model.VendorIDJD
|
||||
} else if orderIDLen == len("3022716176275221584") {
|
||||
@@ -96,14 +113,9 @@ func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID in
|
||||
vendorID = model.VendorIDMTWM
|
||||
} else if orderIDLen == len("5287873015048") {
|
||||
vendorID = model.VendorIDWSC
|
||||
} else {
|
||||
// globals.SugarLogger.Errorf("unkown order type:%v", universalOrderID)
|
||||
panic(fmt.Sprintf("unkown order type:%v, orderIDLen:%d", universalOrderID, orderIDLen))
|
||||
vendorID = model.VendorIDUnknown
|
||||
}
|
||||
orderID = universalOrderID
|
||||
}
|
||||
return orderID, vendorID
|
||||
return vendorID
|
||||
}
|
||||
|
||||
func ComposeUniversalOrderID(orderID string, vendorID int) string {
|
||||
|
||||
@@ -3,6 +3,9 @@ package jxutils
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
)
|
||||
|
||||
func TestEarthDistance(t *testing.T) {
|
||||
@@ -66,3 +69,92 @@ func TestSplitSkuName(t *testing.T) {
|
||||
t.Fatalf("SplitSkuName wrong, name:%s, unit:%s", name, unit)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSplitUniversalOrderID(t *testing.T) {
|
||||
testData := [][]interface{}{
|
||||
[]interface{}{
|
||||
"800402581000221",
|
||||
"800402581000221",
|
||||
model.VendorIDJD,
|
||||
},
|
||||
[]interface{}{
|
||||
"3022716176275221584" + "|" + utils.Int2Str(model.VendorIDJD),
|
||||
"3022716176275221584",
|
||||
model.VendorIDJD,
|
||||
},
|
||||
[]interface{}{
|
||||
"3022716176275221584",
|
||||
"3022716176275221584",
|
||||
model.VendorIDELM,
|
||||
},
|
||||
[]interface{}{
|
||||
"15380342248732",
|
||||
"15380342248732",
|
||||
model.VendorIDEBAI,
|
||||
},
|
||||
[]interface{}{
|
||||
"33437032333978492",
|
||||
"33437032333978492",
|
||||
model.VendorIDMTWM,
|
||||
},
|
||||
[]interface{}{
|
||||
"5287873015048",
|
||||
"5287873015048",
|
||||
model.VendorIDWSC,
|
||||
},
|
||||
}
|
||||
for _, v := range testData {
|
||||
universalOrderID := v[0].(string)
|
||||
desiredOrderID := v[1].(string)
|
||||
desiredVendorID := v[2].(int)
|
||||
orderID, vendorID := SplitUniversalOrderID(universalOrderID)
|
||||
if orderID != desiredOrderID || vendorID != desiredVendorID {
|
||||
t.Fatalf("%s is not ok, orderID:%s, desiredOrderID:%s, vendorID:%d, desiredVendorID:%d", universalOrderID, orderID, desiredOrderID, vendorID, desiredVendorID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetPossibleVendorIDFromVendorOrderID(t *testing.T) {
|
||||
testData := [][]interface{}{
|
||||
[]interface{}{
|
||||
"800402581000221",
|
||||
model.VendorIDJD,
|
||||
},
|
||||
[]interface{}{
|
||||
"X00402581000221",
|
||||
model.VendorIDUnknown,
|
||||
},
|
||||
[]interface{}{
|
||||
"8004025810002210",
|
||||
model.VendorIDUnknown,
|
||||
},
|
||||
[]interface{}{
|
||||
"3022716176275221584",
|
||||
model.VendorIDELM,
|
||||
},
|
||||
[]interface{}{
|
||||
"302271617627522158X",
|
||||
model.VendorIDUnknown,
|
||||
},
|
||||
[]interface{}{
|
||||
"15380342248732",
|
||||
model.VendorIDEBAI,
|
||||
},
|
||||
[]interface{}{
|
||||
"33437032333978492",
|
||||
model.VendorIDMTWM,
|
||||
},
|
||||
[]interface{}{
|
||||
"5287873015048",
|
||||
model.VendorIDWSC,
|
||||
},
|
||||
}
|
||||
for _, v := range testData {
|
||||
universalOrderID := v[0].(string)
|
||||
desiredVendorID := v[1].(int)
|
||||
vendorID := GetPossibleVendorIDFromVendorOrderID(universalOrderID)
|
||||
if vendorID != desiredVendorID {
|
||||
t.Fatalf("%s is not ok, should be:%d, but it's:%d", universalOrderID, desiredVendorID, vendorID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user