aa
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user