diff --git a/platformapi/ebaiapi/common.go b/platformapi/ebaiapi/common.go index 4bdf8573..8f4c3792 100644 --- a/platformapi/ebaiapi/common.go +++ b/platformapi/ebaiapi/common.go @@ -12,8 +12,37 @@ type CityInfo struct { Level int `json:"level"` } +type CatInfo struct { + ID int `json:"category_id"` + Name string `json:"category_name"` +} + func (a *API) CommonShopCities(parentID int) (cityList []*CityInfo, err error) { - result, err := a.AccessAPI("common.shopcities", utils.Params2Map("pid", parentID)) + result, err := a.AccessAPI("common.shopcities", utils.Params2Map("pid", parentID, "level", 2)) + if err == nil { + err = utils.Map2StructByJson(result.Data, &cityList, true) + } + return cityList, err +} + +func (a *API) CommonShopCategoriesGet() (cityList []*CatInfo, err error) { + result, err := a.AccessAPI("common.shop.category.get", nil) + if err == nil { + err = utils.Map2StructByJson(result.Data, &cityList, true) + } + return cityList, err +} + +func (a *API) CommonShopCategories(parentID, level int) (cityList []*CatInfo, err error) { + result, err := a.AccessAPI("common.shopcategories", utils.Params2Map("category_id", parentID, "level", level)) + if err == nil { + err = utils.Map2StructByJson(result.Data, &cityList, true) + } + return cityList, err +} + +func (a *API) CommonBusinessCategories(parentID int) (cityList []*CatInfo, err error) { + result, err := a.AccessAPI("common.businesscategories", utils.Params2Map("category_id", parentID)) if err == nil { err = utils.Map2StructByJson(result.Data, &cityList, true) } diff --git a/platformapi/ebaiapi/common_test.go b/platformapi/ebaiapi/common_test.go index 4e28ef5f..d45fb9ee 100644 --- a/platformapi/ebaiapi/common_test.go +++ b/platformapi/ebaiapi/common_test.go @@ -7,7 +7,34 @@ import ( ) func TestCommonShopCities(t *testing.T) { - result, err := api.CommonShopCities(0) + result, err := api.CommonShopCities(75) + if err != nil { + t.Fatal(err) + } else { + t.Log(utils.Format4Output(result, false)) + } +} + +func TestCommonShopCategoriesGet(t *testing.T) { + result, err := api.CommonShopCategoriesGet() + if err != nil { + t.Fatal(err) + } else { + t.Log(utils.Format4Output(result, false)) + } +} + +func TestCommonShopCategories(t *testing.T) { + result, err := api.CommonShopCategories(166, 2) + if err != nil { + t.Fatal(err) + } else { + t.Log(utils.Format4Output(result, false)) + } +} + +func TestCommonBusinessCategories(t *testing.T) { + result, err := api.CommonBusinessCategories(166) if err != nil { t.Fatal(err) } else { diff --git a/platformapi/ebaiapi/ebaiapi_test.go b/platformapi/ebaiapi/ebaiapi_test.go index 660c2a59..bff5a2d7 100644 --- a/platformapi/ebaiapi/ebaiapi_test.go +++ b/platformapi/ebaiapi/ebaiapi_test.go @@ -31,6 +31,9 @@ func init() { // 京西菜市 // api = New("34665", "c3db75b754ea2d89") + //菜市测试 + // api = New("62923", "aa4cdc6c1108486b") + // 京西果园 api = New("35957", "10013fbb7c2ddad7") api.SetCookie("PASSPORT_DELIMONT_TOKEN", "PBE_2.0_5cd1c6141c127d4188f026ac01fc93656266683e8dfb3127c2fdf894259e9034125ff3bdd2a997a385802ee3ef1802ba93a04acea34fde2d2b6e802c5dcd4ec6e3f4ad909a1d806e3ceeb349ed726b03d60ed1fe7010d4140aa338d9c5f05e3fec172c78d3d7f0ca579d61b7015af1bf99aa46b04d2b8a64aa50646dc09afe94b6b60e0ba9a933635db5e8b2a035e9b6d693b289acf1b256d5b9a3f8478c87b0b009115bfd1394f20bb5a0dc2c07b8d013a25f286ec6bf7f2d86010d65507e31358834b7a6b58fbd88cb3f1a12cf71c997b91c1527f6f3c10693f7c2bd6073da8633a98cd2dc1114dfa5be5ee0e60b02cf7e4a94d0fb563a8c01717e7c050f02249117219c07a2eb211577c208ba77f4d536fa25139bc249be93b38d6fc495ef67a32aa206835d177db402bc534de1d29caf4f6b4fbcd912c13f167d00d1732222744c336a5189728f72fb5e153c4b1164171cfb0c811f34f4c2fedd43f721b8706b43f8d631251c") diff --git a/platformapi/ebaiapi/shop.go b/platformapi/ebaiapi/shop.go index 268bc327..c3bee887 100644 --- a/platformapi/ebaiapi/shop.go +++ b/platformapi/ebaiapi/shop.go @@ -1,6 +1,8 @@ package ebaiapi import ( + "fmt" + "git.rosy.net.cn/baseapi/utils" ) @@ -185,7 +187,11 @@ func (a *API) ShopList( /*orderPush, orderStatusPush, status, */ sysStatus int) func (a *API) ShopCreate(params map[string]interface{}) (baiduShopID int64, err error) { result, err := a.AccessAPI("shop.create", params) if err == nil { - return utils.MustInterface2Int64(result.Data.(map[string]interface{})[KeyBaiduShopID]), nil + if result.Data != nil { + return utils.MustInterface2Int64(result.Data.(map[string]interface{})[KeyBaiduShopID]), nil + } else { + return 0, fmt.Errorf(result.Error) + } } return 0, err } @@ -296,3 +302,12 @@ func (a *API) ShopAnnouncementSet(shopID string, baiduShopID int64, content stri } return err } + +func (a *API) ShopAptitudeUpload(shopID string, baiduShopID int64, params map[string]interface{}) (err error) { + params2 := a.genShopIDParams(shopID, baiduShopID, 0) + _, err = a.AccessAPI("shop.aptitude.upload", utils.MergeMaps(params, params2)) + if err == nil { + return nil + } + return err +} diff --git a/platformapi/ebaiapi/shop_test.go b/platformapi/ebaiapi/shop_test.go index 0dcdce71..aa112e8b 100644 --- a/platformapi/ebaiapi/shop_test.go +++ b/platformapi/ebaiapi/shop_test.go @@ -17,17 +17,33 @@ func TestShopList(t *testing.T) { func TestShopCreate(t *testing.T) { result, err := api.ShopCreate(map[string]interface{}{ - "shop_id": "123123123", - "business_form_id": "179", - "service_phone": "1111111", - "invoice_support": "2", - "package_box_price": "0", - "encrypt": "", - "category1": "", - "category2": "", - "category3": "", - "name": "测试", - "supplier_id": "2233065879", + "shop_id": "667550", + "name": "互利超市(金牛店)", + "supplier_id": "1486975681715", + "province": 32, + "city": 75, + "county": 698, + "address": "成都市金牛区二环路北一段8号", + "phone": 18980429231, + "service_phone": 18980429231, + "ivr_phone": 18048531223, + "longitude": 104.043677, + "latitude": 30.692361, + "shop_logo": "http://image.jxc4.com/image/4573e7789c647d4961f8955e3733dbd6.tem.jpg", + "coord_type": "amap", + "categorys": []map[string]int{ + map[string]int{ + "category1": 166, + "category2": 222, + }, + }, + "business_time": []map[string]string{ + map[string]string{ + "start": "7:00", + "end": "19:00", + }, + }, + "business_form_id": 1672214913, }) if err != nil { t.Fatal(err) @@ -37,7 +53,7 @@ func TestShopCreate(t *testing.T) { } func TestShopGet(t *testing.T) { - result, err := api.ShopGet("", 32267697558) //2233065879 + result, err := api.ShopGet("", 335768207) //2233065879 if err != nil { t.Fatal(err) } else { @@ -53,7 +69,7 @@ func TestShopGet(t *testing.T) { } func TestShopAptitudeGet(t *testing.T) { - result, err := api.ShopAptitudeGet("", testShopBaiduID) + result, err := api.ShopAptitudeGet("", 335768207) if err != nil { t.Fatal(err) } else { @@ -83,7 +99,7 @@ func TestShopUpdate(t *testing.T) { } func TestShopBusStatusGet(t *testing.T) { - result, err := api.ShopBusStatusGet("", testShopBaiduID, PlatformFlagElm) + result, err := api.ShopBusStatusGet("", 335768207, PlatformFlagElm) if err != nil { t.Fatal(err) } else { @@ -92,7 +108,7 @@ func TestShopBusStatusGet(t *testing.T) { } func TestShopStatusGet(t *testing.T) { - result, err := api.ShopStatusGet("", testShopBaiduID) + result, err := api.ShopStatusGet("", 335768207) if err != nil { t.Fatal(err) } else { @@ -121,7 +137,7 @@ func TestSupplierList(t *testing.T) { } func TestShopOpen(t *testing.T) { - err := api.ShopOpen("", testShopBaiduID) + err := api.ShopOpen("", 335768207) if err != nil { t.Fatal(err) } @@ -147,3 +163,81 @@ func TestShopAnnouncementSet(t *testing.T) { t.Fatal(err) } } + +func TestShopAptitudeUpload(t *testing.T) { + err := api.ShopAptitudeUpload("", 335768207, map[string]interface{}{ + "aptitude": []map[string]interface{}{ + map[string]interface{}{ + "type_1": 1, + "type_2": 101, + "license_number": "92510106L597085088", + "license_address": "金牛区二环路北一段8号1(A-2、A-3、A-4)楼", + "long_term_valid": 1, + "legal_representative_name": "张应友", + "license_name": "营业执照", + "photos": []map[string]interface{}{ + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/c436338a2af4d87e30b770cfc1bb8041.jpg", + "waterprinter_url": "http://image.jxc4.com/image/c436338a2af4d87e30b770cfc1bb8041.jpg", + }, + }, + }, + map[string]interface{}{ + "type_1": 2, + "type_2": 202, + "license_number": "JY15101060104947(1-1)", + "license_validdate": "2023-10-09", + "license_name": "食品经营许可证", + "license_address": "金牛区二环路北一段8号1(A-2、A-3、A-4)楼", + "legal_representative_name": "张应友", + "photos": []map[string]interface{}{ + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/93d2126adfd28350385b5067e2770edf.jpg", + "waterprinter_url": "http://image.jxc4.com/image/93d2126adfd28350385b5067e2770edf.jpg", + }, + }, + }, + map[string]interface{}{ + "type_1": 3, + "type_2": 301, + "license_number": "510921196608255211", + "long_term_valid": 1, + "license_name": "身份证", + "legal_representative_name": "张应友", + "photos": []map[string]interface{}{ + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/ebdaf32e771a6c050e397624c3fae369.jpg", + "waterprinter_url": "http://image.jxc4.com/image/ebdaf32e771a6c050e397624c3fae369.jpg", + }, + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/75fad719d61326cedd73f17b1af6338b.jpg", + "waterprinter_url": "http://image.jxc4.com/image/75fad719d61326cedd73f17b1af6338b.jpg", + }, + }, + }, + map[string]interface{}{ + "type_1": 5, + "type_2": 501, + "photos": []map[string]interface{}{ + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/53bd1275a8a9cd5898912fa78857f284.jpg", + "waterprinter_url": "http://image.jxc4.com/image/53bd1275a8a9cd5898912fa78857f284.jpg", + }, + }, + }, + map[string]interface{}{ + "type_1": 5, + "type_2": 502, + "photos": []map[string]interface{}{ + map[string]interface{}{ + "photo_url": "http://image.jxc4.com/image/74c371be5bf39d795cf6c02507e7ca84.jpg", + "waterprinter_url": "http://image.jxc4.com/image/74c371be5bf39d795cf6c02507e7ca84.jpg", + }, + }, + }, + }, + }) + if err != nil { + t.Fatal(err) + } +} diff --git a/platformapi/jdshopapi/store_page_test.go b/platformapi/jdshopapi/store_page_test.go index 9dad1591..a88b3587 100644 --- a/platformapi/jdshopapi/store_page_test.go +++ b/platformapi/jdshopapi/store_page_test.go @@ -4,8 +4,10 @@ import ( "bytes" "crypto/aes" "crypto/cipher" + "crypto/sha1" "encoding/base64" "fmt" + "math" "sort" "testing" @@ -226,19 +228,147 @@ func TestUploadImageNew(t *testing.T) { // }, []string{ // "Mary", "mary@mail.com", // }}) - fmt.Println(addToArrayForm([]int{1, 2, 6, 3, 0, 7, 1, 7, 1, 9, 7, 5, 6, 6, 4, 4, 0, 0, 6, 3}, 516)) + //bfde9c3c5df188541d1d47f17e03f8a75a872fe4 + fmt.Println(qwe()) +} + +func qwe() int { + defer fmt.Println("1") + a := 2 + if a == 1 { + return 1 + } + + return 0 +} + +func encryptPassword(password, salt string) string { + return fmt.Sprintf("%x", sha1.Sum([]byte(password+salt))) } func addToArrayForm(A []int, K int) (a []int) { - for k, _ := range A { - A[k] = A[len(A)-k] + B := []int{} + lengthK := 0 + for i := 10; ; i = i * 10 { + if K/i == 0 { + lengthK++ + break + } + lengthK++ + } + for i := lengthK; i > 0; i-- { + if i == lengthK { + B = append(B, K/int(math.Pow10(i-1))) + } else if i == 1 { + gw := K + for j := lengthK; j > 1; j-- { + gw = gw % int(math.Pow10(j-1)) + } + B = append(B, gw) + } else { + qtw := K + for j := lengthK; j > 1; j-- { + if j == i { + qtw = qtw / int(math.Pow10(j-1)) + break + } else { + qtw = qtw % int(math.Pow10(j-1)) + } + } + B = append(B, qtw) + } + } + flag := false + in := 0 + for k := len(A) - 1; k >= 0; { + if flag { + break + } + for k1 := len(B) - 1; k1 >= 0; { + if A[k]+B[k1]+in < 10 { + if in == 0 { + a = append(a, A[k]+B[k1]) + } else { + a = append(a, A[k]+B[k1]+in) + } + in = 0 + } else { + if in == 0 { + a = append(a, (A[k]+B[k1])%10) + } else { + a = append(a, (A[k]+B[k1]+in)%10) + } + in = 0 + in++ + } + k-- + k1-- + if k == -1 && k1 == -1 && in != 0 { + a = append(a, 1) + } + if k < 0 { + in2 := 0 + for i := k1; i >= 0; i-- { + if B[i]+in+in2 < 10 { + if in2 == 0 { + a = append(a, B[i]+in) + } else { + a = append(a, B[i]+in2+in) + } + in = 0 + in2 = 0 + } else { + if in2 == 0 { + a = append(a, (B[i]+in)%10) + } else { + a = append(a, (B[i]+in+in2)%10) + } + in = 0 + in2 = 0 + in2++ + } + if i == 0 && in2 != 0 { + a = append(a, 1) + } + } + flag = true + break + } + if k1 < 0 { + in2 := 0 + for i := k; i >= 0; i-- { + if A[i]+in+in2 < 10 { + if in2 == 0 { + a = append(a, A[i]+in) + } else { + a = append(a, A[i]+in2+in) + } + in = 0 + in2 = 0 + } else { + if in2 == 0 { + a = append(a, (A[i]+in)%10) + } else { + a = append(a, (A[i]+in+in2)%10) + } + in = 0 + in2 = 0 + in2++ + } + if i == 0 && in2 != 0 { + a = append(a, 1) + } + } + flag = true + break + } + } + } + for i := 0; i < len(a)/2; i++ { + temp := a[i] + a[i] = a[len(a)-i-1] + a[len(a)-i-1] = temp } - fmt.Println(A) - // for _, v := range result { - // if b, err := strconv.Atoi(string(v)); err == nil { - // a = append(a, b) - // } - // } return a }