package jdapi import ( "fmt" "regexp" "strings" "testing" "time" "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/utils" ) var ( skuNamePat = regexp.MustCompile(`([\((\[【][^\((\[【\))\]】]*[\))\]】])?(.*?)([((].*[))])?\s*约?([1-9][\d\.]*)(g|G|kg|mg|kG|Kg|KG|l|L|ml|mL|Ml|ML|克)\s*([((].*[))])?\s*(?:\/|/|)\s*([^\s()()]{0,2})(\s.*)?$\s*([((].*[))])?$`) ) func TestGetRealMobileNumber4Order(t *testing.T) { orderId := "921823424000122" desiredMobile := "13722455105" mobile, err := api.GetRealMobile4Order(orderId, "11893205") fmt.Println("1111111111111111", mobile, err.Error()) if err != nil { t.Fatal(err) } if mobile != desiredMobile { t.Fatalf("orderId:%s's mobile is wrong, should be %s, but it's:%s", orderId, desiredMobile, mobile) } baseapi.SugarLogger.Debug(mobile) } func TestGetStoreOrderInfo(t *testing.T) { orderId := "2113752262000061" orderInfo, err := api.GetStoreOrderInfo(orderId, "11930291") if err != nil { t.Fatal(err) } baseapi.SugarLogger.Debug(utils.Format4Output(orderInfo, false)) } func TestGetStoreOrderInfoList(t *testing.T) { orderInfoList, err := api.GetStoreOrderInfoList("2018-05-01 12:00:00", "2018-05-01 12:59:59") if err != nil { t.Fatal(err) } if true { baseapi.SugarLogger.Debug(utils.Format4Output(orderInfoList, false)) } } func TestGetSkuPageInfo(t *testing.T) { skuInfo, err := api.GetSkuPageInfo(2023524346) if err != nil { t.Fatal(err) } baseapi.SugarLogger.Debug(utils.Format4Output(skuInfo, false)) } func TestGetSkuPageImageInfo(t *testing.T) { imgList, err := api.GetSkuPageImageInfo(2025112058) if err != nil { t.Fatal(err) } baseapi.SugarLogger.Debug(utils.Format4Output(imgList, false)) } func TestGetCorporationInfo(t *testing.T) { imgList, err := api.GetCorporationInfo("", "92330104MA28XPXH5G") if err != nil { t.Fatal(err) } baseapi.SugarLogger.Debug(utils.Format4Output(imgList, false)) } func TestGetStoreList(t *testing.T) { result, err := api.GetStoreList("104.054195", "30.581782") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestGetStoreInfo(t *testing.T) { result, err := api.GetStoreInfo("11750116") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestGetStoreInfo2(t *testing.T) { result, err := api.GetStoreInfo2("11883852") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestMonthSaleNum2Int(t *testing.T) { num1 := MonthSaleNum2Int("1千+") if num1 != 1000 { t.Fatalf("num1:%d", num1) } num2 := MonthSaleNum2Int("2万+") if num2 != 20000 { t.Fatalf("num2:%d", num2) } num3 := MonthSaleNum2Int("234") if num3 != 234 { t.Fatalf("num3:%d", num3) } } func TestStoreUploadImgByURL(t *testing.T) { outImgURL, err := api.StoreUploadImgByURL("http://image.jxc4.com/940c151db7e396f2ceaec0304597836f.jpg") t.Log(outImgURL) if err != nil { t.Fatal(err) } } func TestSaveQualify(t *testing.T) { jsonStr := ` [ {"qualifyUrl":"http://img30.360buyimg.com/vendersettle/jfs/t1/169610/5/8031/168819/60386ed6E3e1d3543/34b3856c9e4e1282.jpg","qualifyType":"25","qualifyExpireForever":0,"qualifyExpireStart":"2020-11-04+00:00:00","qualifyName":"左凤娟","licenceType":"-1","qualifyNumber":"92331002MA2HJU1Q0J","qualifyAddress":"浙江省台州市椒江区白云街道花园新村60号楼二单元101室车库(自主申报)","licenceName":"台州市椒江彤彤蔬菜经营部","econKind":"个体工商户","scope":"一般项目:小食杂店(三小行业);食用农产品零售(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)。"},{"qualifyUrl":"http://img30.360buyimg.com/vendersettle/jfs/t1/154609/37/19742/6390/60386ed6E9caa7248/a25278c9d3b01428.jpg","qualifyType":"22","qualifyExpireForever":1,"qualifyExpireStart":"2012-02-22+00:00:00","qualifyExpireEnd":"2022-02-22+00:00:00","qualifyOwner":"左凤娟","qualifyNumber":"411481198912063324"} ] ` var qualityList []*QualifyItem err := utils.UnmarshalUseNumber([]byte(jsonStr), &qualityList) if err != nil { t.Fatal(err) } err = api.SaveQualify("12085905", 0, qualityList) if err != nil { t.Fatal(err) } } func TestGetJdUserBindStoreIDs(t *testing.T) { vv, err := api.GetJdUserBindStoreIDs(339890) if err != nil { t.Fatal(err) } fmt.Println(vv) } func TestPrivilegeSearchUser(t *testing.T) { list, _ := api.PrivilegeSearchUserAll() for _, v := range list { fmt.Println(v.LoginName) } } func TestPrivilegeUpdateJdUserStatus(t *testing.T) { result, err := api.PrivilegeUpdateJdUserStatus(339020, 1) if err != nil { t.Fatal(err) } fmt.Println(result) } func TestUpdateJdUserRoles(t *testing.T) { result, err := api.UpdateJdUserRoles(345919, []string{"28926"}) if err != nil { t.Fatal(err) } fmt.Println(result) } func TestIsJdManagerUser(t *testing.T) { aa, _ := api.IsJdManagerUser(334683) fmt.Println(aa) } func TestGetJdStoreLevel(t *testing.T) { api.GetJdStoreLevel("320406", "11732427", 1) } func TestGetJdUpcCodeByName(t *testing.T) { result, err := api.GetJdUpcCodeByName("", "6920174736731", 1, 5) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestGetJdSkuDirectPrice(t *testing.T) { result, err := api.GetJdSkuDirectPrice(31031) fmt.Println("test1", result, err) } func TestSearchDeleteWare(t *testing.T) { var ( page = 1 pageSize = 20 searchResults []*SearchDeleteWareResult ) for ; page < 367; page++ { searchDeleteWareResults, err := api.SearchDeleteWare("2020-04-22", "2020-04-23", page, pageSize) if err == nil && len(searchDeleteWareResults) > 0 { searchResults = append(searchResults, searchDeleteWareResults...) } } fmt.Println(utils.Format4Output(searchResults, false)) } func TestGetJdStoreID(t *testing.T) { result, err := api.GetJdStoreID(801246) fmt.Println("test1", result, err) } func TestUpdateClosetStatus(t *testing.T) { err := api.UpdateClosetStatus(801246, 1) fmt.Println("test1", err) } func TestGetJdShopOrders(t *testing.T) { result, err := api.GetJdShopOrders("20210501", "20210531", "320406", "jd_jxcs1223") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } func TestGetJdTopSkus(t *testing.T) { // err := api.GetJdStoreInfo("12050477") // if err != nil { // t.Fatal(err) // } // t.Log(utils.Format4Output(result, false)) s1 := "ymbgaraibkfmvocpizdydugvalagaivdbfsfbepeyccqfepzvtpyxtbadkhmwmoswrcxnargtlswqemafandgkmydtimuzvjwxvlfwlhvkrgcsithaqlcvrihrwqkpjdhgfgreqoxzfvhjzojhghfwbvpfzectwwhexthbsndovxejsntmjihchaotbgcysfdaojkjldprwyrnischrgmtvjcorypvopfmegizfkvudubnejzfqffvgdoxohuinkyygbdzmshvyqyhsozwvlhevfepdvafgkqpkmcsikfyxczcovrmwqxxbnhfzcjjcpgzjjfateajnnvlbwhyppdleahgaypxidkpwmfqwqyofwdqgxhjaxvyrzupfwesmxbjszolgwqvfiozofncbohduqgiswuiyddmwlwubetyaummenkdfptjczxemryuotrrymrfdxtrebpbjtpnuhsbnovhectpjhfhahbqrfbyxggobsweefcwxpqsspyssrmdhuelkkvyjxswjwofngpwfxvknkjviiavorwyfzlnktmfwxkvwkrwdcxjfzikdyswsuxegmhtnxjraqrdchaauazfhtklxsksbhwgjphgbasfnlwqwukprgvihntsyymdrfovaszjywuqygpvjtvlsvvqbvzsmgweiayhlubnbsitvfxawhfmfiatxvqrcwjshvovxknnxnyyfexqycrlyksderlqarqhkxyaqwlwoqcribumrqjtelhwdvaiysgjlvksrfvjlcaiwrirtkkxbwgicyhvakxgdjwnwmubkiazdjkfmotglclqndqjxethoutvjchjbkoasnnfbgrnycucfpeovruguzumgmgddqwjgdvaujhyqsqtoexmnfuluaqbxoofvotvfoiexbnprrxptchmlctzgqtkivsilwgwgvpidpvasurraqfkcmxhdapjrlrnkbklwkrvoaziznlpor" s2 := "qhxepbshlrhoecdaodgpousbzfcqjxulatciapuftffahhlmxbufgjuxstfjvljybfxnenlacmjqoymvamphpxnolwijwcecgwbcjhgdybfffwoygikvoecdggplfohemfypxfsvdrseyhmvkoovxhdvoavsqqbrsqrkqhbtmgwaurgisloqjixfwfvwtszcxwktkwesaxsmhsvlitegrlzkvfqoiiwxbzskzoewbkxtphapavbyvhzvgrrfriddnsrftfowhdanvhjvurhljmpxvpddxmzfgwwpkjrfgqptrmumoemhfpojnxzwlrxkcafvbhlwrapubhveattfifsmiounhqusvhywnxhwrgamgnesxmzliyzisqrwvkiyderyotxhwspqrrkeczjysfujvovsfcfouykcqyjoobfdgnlswfzjmyucaxuaslzwfnetekymrwbvponiaojdqnbmboldvvitamntwnyaeppjaohwkrisrlrgwcjqqgxeqerjrbapfzurcwxhcwzugcgnirkkrxdthtbmdqgvqxilllrsbwjhwqszrjtzyetwubdrlyakzxcveufvhqugyawvkivwonvmrgnchkzdysngqdibhkyboyftxcvvjoggecjsajbuqkjjxfvynrjsnvtfvgpgveycxidhhfauvjovmnbqgoxsafknluyimkczykwdgvqwlvvgdmufxdypwnajkncoynqticfetcdafvtqszuwfmrdggifokwmkgzuxnhncmnsstffqpqbplypapctctfhqpihavligbrutxmmygiyaklqtakdidvnvrjfteazeqmbgklrgrorudayokxptswwkcircwuhcavhdparjfkjypkyxhbgwxbkvpvrtzjaetahmxevmkhdfyidhrdeejapfbafwmdqjqszwnwzgclitdhlnkaiyldwkwwzvhyorgbysyjbxsspnjdewjxbhpsvj" fmt.Println(string(findTheDifference(s1, s2))) } func findTheDifference(s string, t string) byte { var ( map1 = make(map[byte]int) map2 = make(map[byte]int) ) if s == "" { return []byte(t)[0] } for k, _ := range s { map1[s[k]]++ } for k, _ := range t { map2[t[k]]++ } for k, v := range map1 { if map2[k] != v { return k } } for k, v := range t { if k == len(t)-1 { return t[k] } else { if strings.Index(string(v), string(s[k])) == -1 { return t[k] } } } return []byte(t)[0] } func TestGetJdStoreInfo(t *testing.T) { str := "汤臣倍健 辅酶Q10天然维生素E软胶囊 400mg*60粒/瓶" searchResult := skuNamePat.FindStringSubmatch(str) fmt.Println(searchResult) } func TestUpdateInterStatus(t *testing.T) { err := api.UpdateInterStatus("f93ddfb7034b468da4d1ef10abe4b3ab", "message.djsw.newOrder", 0) if err != nil { t.Fatal(err) } // fmt.Println(result) } func TestSaveMsgUrl(t *testing.T) { err := api.SaveMsgUrl("f93ddfb7034b468da4d1ef10abe4b3ab", "http://callback.test.jxc4.com", "http://callback.jxc4.com", 0) if err != nil { t.Fatal(err) } // fmt.Println(result) } func TestExcuteInvoking(t *testing.T) { err := api.ExcuteInvoking("e95911589479472e8b6f4d099ad343b5", 0) if err != nil { t.Fatal(err) } // fmt.Println(result) } func TestPeiZhiJdZhangHao(t *testing.T) { for k, v := range interfaceMap { if err := api.UpdateInterStatus(k, v[0].(string), v[1].(int)); err == nil { if err2 := api.SaveMsgUrl(k, "http://callback.test.jxc4.com", "http://callback.jxc4.com", v[1].(int)); err2 == nil { if err3 := api.ExcuteInvoking(k, v[1].(int)); err3 == nil { } } } } if err := api.SaveCheckedInters(); err == nil { time.Sleep(time.Second * 2) api.ToOnline() } } func TestQueryMemberTransListByCondition(t *testing.T) { result, err := api.QueryMemberTransListByCondition("", "", 4, 200) if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } type GuoMei struct { appKey string timestamp string sign string }