This commit is contained in:
苏尹岚
2021-03-23 16:51:12 +08:00
parent 27124ecdbd
commit 92421e653a
6 changed files with 1168 additions and 17 deletions

View File

@@ -23,7 +23,7 @@ func init() {
// sandbox
// api = New("594ab45a-9a73-4a43-82b0-a64cbd55d883", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84")
// prod
api = New("29afd5a8-f93f-4d4c-9fce-a7297340af59", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4")
api = New("df045085-c203-465c-87e3-e79279ecf9ed", "425a594759004dcd9b3542e3d7b47ffa", "fb33ef5f67c9423da67e470204dd3af9")
// 天天果园
// api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
@@ -34,8 +34,8 @@ func init() {
// api.SetJdCookie(cookieValue)
// api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD3MSKKBKBSRP3DSEQXLITYNBLFZCHXCA7L4KGOSJRMM7R5IQP7QGLGRQB27AOE4YMLRJ3UPTZADPWJOYB3UZ7UZHLBVZRREEX647O3WQUU4BYXUOFZPIPRR77W3PQV543E")
api.SetCookieWithStr(`
lsp-store1.jddj.com=ZRQ5RVE32D7ZRDH2FJUG5E2D42VYH5X2TT7PEYWWKEXOKG36MFGO3IZPU2644VM3AF245ANGSYECBEH6E2NYG4RO5MMOFGWNJFIVY3Z7SIWRIHVZJQZYXVAXFD3ZALXJ7LF7IXV2EIDQKACPO2QSMLXCK4BDVECTARS7I5ZWPB6ELIAI7GMGZB2PZLDOSGLJW3RSIFQATZFJXORN62Q47W7WFNA643UOAKVGBBBS5VZ3BNPFDHBYX5DNYB3TVGLKZDFAKRRXECTQQRZFGSOTYYIE4FXN7FSC2NHYJWBRIIRMP6W44EDED2ZMUGIFYVUY5JBXDO6GUFM74; josl-privilege1.jddj.com=ZRQ5RVE32D7ZRDH2FJUG5E2D42VYH5X2TT7PEYWWKEXOKG36MFGO3IZPU2644VM3AF245ANGSYECBEH6E2NYG4RO5MMOFGWNJFIVY3Z7SIWRIHVZJQZYXVAXFD3ZALXJ7LF7IXV2EIDQKACPO2QSMLXCK4BDVECTARS7I5ZWPB6ELIAI7GML3B5KRWVANMUE6CJHQ26ZEPPPZTZMVVEU7XFAU6BZUEDYJPXO4OZS5VZ3BNPFDHBYX5DNYB3TVGLKAPQZF3RP5BL22FN742XTFXEYFEVXQ34S6GZHMC5NGAXZ7AZ4DU2LILQOALXSO3ZBU5Q2RZJH2BMPIU3CGHF22D5GNS3U7O2AN3PH5TI; store_deviceid=89a38e81dfbb776fa5f866f74ed437a3; o2o-stock1.jddj.com=ZRQ5RVE32D7ZRDH2FJUG5E2D42VYH5X2TT7PEYWWKEXOKG36MFGO3IZPU2644VM3AF245ANGSYECBEH6E2NYG4RO5MMOFGWNJFIVY3Z7SIWRIHVZJQZYXVAXFD3ZALXJ7LF7IXV2EIDQKACPO2QSMLXCK4BDVECTARS7I5ZWPB6ELIAI7GMIMHXH2NJVBANI3UEOER5UPD2A4XBKD6W7VQRYOKUOI7PJTIXBNSW5P2G2MT3U6I3527NQFMAFLHXB5OQS4MGVQTJRQMJMGHBEQ4XGJ3I3LLXBHRXRG55NZQUW72XT7LTQ; o2o-pms1.jddj.com=ZRQ5RVE32D7ZRDH2FJUG5E2D42VYH5X2TT7PEYWWKEXOKG36MFGO3IZPU2644VM3AF245ANGSYECBEH6E2NYG4RO5MMOFGWNJFIVY3Z7SIWRIHVZJQZYXVAXFD3ZALXJ7LF7IXV2EIDQKACPO2QSMLXCK4BDVECTARS7I5ZWPB6ELIAI7GMBWJVC6XWTFZEWX37V5RK7T6TGKWWM446A6EOGP3IMZQ2UJX4CHBW5P2G2MT3U6I3527NQFMAFLHXB5OQS4MGVQTJRQMJMGHBEQ4XGJ3I3LLXBHRXRG55NZQUW72XT7LTQ; jdO2OOpenPortalSessionId=9C6BAB948DCAB76BC8EA3AB81B85A3D6.s1; JSESSIONID=C030881DDFF55693563C7C78FF7D5749.s1
lsp-store1.jddj.com=LSQNGFCHHF25J36CP5K7IVZ7GQ3IGPWLA3UFJDLOGRJ7D5JSEQY63IZPU2644VM3AF245ANGSYECBX4YHWF7LQNI46AL3RNJUBNL46ZJP6APMSIB5S2IL44UFTUXD4ES7NJGTRND64MSP5YAUIRCUGXTR3DP2X4QGGUXUZMYYZDPZYNHFSZ2WADBZSSJK5NTIGIQPPKWULCZTFMODOZQIP3QS74RQ25D3XYAYGWXTHOKBSRIYFDGFS4MIBIGXPL4JOU24WJL4PVF3PPYDNTOLLXDABUFAZSE6C6CNOMI6L2TAK43JJIJQRQAQUQSU537ZFLVPGBYFDJYY; store_deviceid=f8dc2505cd85d22da78edb86122bead7; jdO2OOpenPortalSessionId=821701404AB5BD1C5951146C6B69B977.s1; token=dd4cc1f4859b40b4a46070632170d1ad; JSESSIONID=2249A53C59B3E9F5E9EF6335E3E95AFB.s1
`)
}

View File

@@ -151,10 +151,108 @@ func TestAddShopCategory(t *testing.T) {
}
func TestDelShopCategory(t *testing.T) {
err := api.DelShopCategory(5259045)
if err != nil {
t.Fatal(err)
map1 := map[string][][]string{
"363436": [][]string{
[]string{
"b922658a-8f07-4932-a616-6a4b5347cf0a", "b5e6b41babba4743ab9c0896b9c6003f", "6511abe10f28405081e4f5a351457c22",
},
[]string{
"5492150",
"5492148",
"5492146",
},
},
"363558": [][]string{
[]string{
"c91173f4-567b-4bc9-a1e3-a1608407ec9d", "349b0b2156de4fd1adec4f34a5ca7247", "bee0d13695e64d13bb93ac9d50b95f94",
},
[]string{
"5490060",
"5490053",
"5490056",
},
},
"363701": [][]string{
[]string{
"3e21445d-ac39-428e-866c-69dca7b95ddc", "2148e08b14444b73bb04ee8dae4217ac", "7f541ab195934c109b8eee7a56b6f58d",
},
[]string{
"5498539",
"5498535",
"5498536",
},
},
"363739": [][]string{
[]string{
"fdb687b1-8e0a-4072-b251-04ef6d7a1a92", "218c544106e84cb08cbeed186c0d5bac", "fdd384a632354f189abce33f5a32ea14",
},
[]string{
"5498692",
"5498688",
"5498689",
},
},
"363786": [][]string{
[]string{
"098c8550-cfe7-4820-91fa-1bbf63ed9b20", "a396d930904047738dc70b6d2eb54e2d", "262f4656f16a48ed94003a1f261cd7d3",
},
[]string{
"5499968",
"5499966",
"5499964",
},
},
"363788": [][]string{
[]string{
"9b78cbb9-b956-4820-9b2f-330daaed2828", "5ecd3d4b65b44c9f9f820af232110f20", "63b0d12d32734334bf8c95d43e396035",
},
[]string{
"5500121",
"5500123",
"5500120",
},
},
"363892": [][]string{
[]string{
"163a032f-72df-44c9-a405-b7675e68d2a6", "f40e9fc714e741359c8fc4f2a1ea9e59", "e486c09cfded4fe3a15ee1cff546155f",
},
[]string{
"5502844",
"5502840",
"5502842",
},
},
"363894": [][]string{
[]string{
"840b4a7c-5b9a-40fc-95e8-e53b56573565", "fbeeef71305c46f192979ca6a00d380c", "feeec4ccf24744d892c4e892f5978847",
},
[]string{
"5503000",
"5502996",
"5502997",
},
},
"363896": [][]string{
[]string{
"064ee734-e819-455b-b4c4-cc5ee21c6b2f", "ab938148ff0444eba773a7851029d082", "8f659292e639499ca41d39476fc9c2df",
},
[]string{
"5503152",
"5503150",
"5503151",
},
},
}
for _, v := range map1 {
apijd := New(v[0][0], v[0][1], v[0][2])
for _, vv := range v[1] {
apijd.DelShopCategory(utils.Str2Int64(vv))
}
}
// err := api.DelShopCategory(5496926)
// if err != nil {
// t.Fatal(err)
// }
}
func TestGetSkuSaleAttrName(t *testing.T) {

View File

@@ -328,6 +328,7 @@ var (
regexpJDStoreSkuPage = regexp.MustCompile(`共1/(.*)页`)
regexpJDTbody = regexp.MustCompile(`<tbody>([\s\S]*?)</tbody>`)
regexpJDTr = regexp.MustCompile(`<tr>([\s\S]*?)</tr>`)
regexpJDTr2 = regexp.MustCompile(`<tr([\s\S]*?)</tr>`)
regexpJDTdInfo = regexp.MustCompile(`<td>([\s\S]*?)</td>`)
regexpJDSkuID = regexp.MustCompile(`sku编码:(.*)`)
regexpJDSkuID2 = regexp.MustCompile(`<p>SKU编码:(.*)</p>`)
@@ -336,11 +337,13 @@ var (
regexpJDStoreLevel = regexp.MustCompile(`门店分级 (.*)`)
regexpJDSkuDirectPrice = regexp.MustCompile(`<td style="max-width: 80px">([\s\S]*?)</td>`)
regexpJDStoreID = regexp.MustCompile(`<input class="storeInfoId" type="hidden" value="(.*?)"/>`)
regexpAppID = regexp.MustCompile(`onClick="backcode\((.*)\)"`)
htmlResponeURLs = []string{
"login-o2o.jddj.com/jpuser/",
"sta-store.jddj.com/store/",
"pms-store.jddj.com/ware",
"sta-store.jddj.com",
"openo2o.jddj.com",
}
)
@@ -382,6 +385,7 @@ func (a *API) AccessStorePage2(fullURL string, params map[string]interface{}, is
request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(params).Encode()))
if params[KeyImgName] == nil {
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
request.Header.Set("accept", "application/json, text/javascript, */*; q=0.01")
} else {
var b bytes.Buffer
w := multipart.NewWriter(&b)
@@ -1184,3 +1188,63 @@ func (a *API) ToOnline() (err error) {
_, err = a.AccessStorePage2("https://openo2o.jddj.com/sandBox/toOnline.htm", nil, true, "")
return err
}
//京东开放平台未授权回填验证码app的id
func (a *API) GetJdNoAuthAppID(vendorOrgCode string) (data string, err error) {
nameMap := make(map[string]string)
result, err := a.AccessStorePage2("https://openo2o.jddj.com/xmanager/listAppBaseAndAuthNoAuth.htm", nil, false, "")
if result != nil {
tbody := regexpJDTbody.FindStringSubmatch(result.(string))
trs := regexpJDTr2.FindAllStringSubmatch(tbody[1], -1)
for _, v := range trs {
tds := regexpJDTdInfo.FindAllStringSubmatch(v[1], -1)
if len(tds) > 0 {
if tds[3][1] != "" {
if len(regexpAppID.FindStringSubmatch(tds[5][1])) > 0 {
name := strings.Map(func(r rune) rune {
switch r {
case 0x000A, 0x000B, 0x000C, 0x000D, 0x0085, 0x2028, 0x2029:
return -1
default:
return r
}
}, tds[3][1])
nameMap[strings.ReplaceAll(name, "\t", "")] = regexpAppID.FindStringSubmatch(tds[5][1])[1]
}
}
}
}
}
if nameMap[vendorOrgCode] != "" {
return nameMap[vendorOrgCode], err
}
return "", err
}
type GetJdAppInfoResult struct {
CallBackURL string `json:"callBackUrl"`
OrgCode string `json:"orgCode"`
AppKey string `json:"appKey"`
AppSecret string `json:"appSecret"`
IsShowUpdateBtn string `json:"isShowUpdateBtn"`
IsIsv string `json:"isIsv"`
IsShow string `json:"isShow"`
}
func (a *API) GetJdAppInfo() (getJdAppInfoResult *GetJdAppInfoResult, err error) {
result, err := a.AccessStorePage2("https://openo2o.jddj.com/xmanager/auto/app/appInfo.htm", nil, true, "")
if err == nil {
utils.Map2StructByJson(result.(map[string]interface{})["data"], &getJdAppInfoResult, false)
}
return getJdAppInfoResult, err
}
// https://openo2o.jddj.com/xmanager/isv/appManage.htm
func (a *API) SetCode(code, jdAppID string) (err error) {
_, err = a.AccessStorePage2("https://openo2o.jddj.com/xmanager/isv/app/accesstoken.htm", map[string]interface{}{
"id": jdAppID,
"code": code,
}, true, "")
return err
}

View File

@@ -293,12 +293,19 @@ func TestExcuteInvoking(t *testing.T) {
}
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 {
}
}
}
// 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 {
// }
// }
// }
// }
// result, err := api.GetJdNoAuthAppID("364131")
result, err := api.GetJdAppInfo()
// err := api.SetCode("yCpbjc", "8770")
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}

View File

@@ -839,7 +839,7 @@ func (a *API) UpdateExpand(storeID int) (err error) {
_, err = a.AccessStorePage2("https://o2o-stores.shop.jd.com/shop/updateExpand?version=1.0.0&source=pc&requestId="+utils.Int64ToStr(reqID), map[string]interface{}{
"storeId": storeID,
"deliveryPrice": 0,
"weightLimit": 30,
"weightLimit": 3000,
"version": "1.0.0",
"source": "pc",
"requestId": reqID,

View File

@@ -210,9 +210,991 @@ func TestUpdateBasic(t *testing.T) {
}
func TestUpdateExpand(t *testing.T) {
err := api.UpdateExpand(24563694)
if err != nil {
t.Fatal(err)
s := []int{
1000068984,
1000068975,
1000068985,
1000068976,
1000068977,
1000068978,
1000068986,
1000068979,
1000068987,
1000069001,
1000069002,
1000068992,
1000068993,
1000068994,
1000069005,
1000069006,
1000068995,
1000069008,
1000069009,
1000068996,
1000069010,
1000069011,
1000068997,
1000068998,
1000068999,
1000069020,
1000069021,
1000069012,
1000069013,
1000069014,
1000069022,
1000069015,
1000069023,
1000069016,
1000069017,
1000069018,
1000069024,
1000069025,
1000069019,
1000069030,
1000069031,
1000069032,
1000069033,
1000069034,
1000069035,
1000069026,
1000069027,
1000069028,
1000069029,
1000069036,
1000069037,
1000069038,
1000069040,
1000069041,
1000069042,
1000069039,
1000069043,
1000069044,
1000069050,
1000069045,
1000069051,
1000069046,
1000069047,
1000069052,
1000069048,
1000069049,
1000069053,
1000069060,
1000069061,
1000069054,
1000069062,
1000069063,
1000069055,
1000069056,
1000069057,
1000069064,
1000069058,
1000069065,
1000069066,
1000069059,
1000069067,
1000069070,
1000069071,
1000069072,
1000069073,
1000069068,
1000069074,
1000069075,
1000069069,
1000069076,
1000069077,
1000069080,
1000069081,
1000069078,
1000069082,
1000069079,
1000069090,
1000069083,
1000069084,
1000069085,
1000069086,
1000069091,
1000069087,
1000069088,
1000069092,
1000069089,
1000069093,
1000069094,
1000069095,
1000069103,
1000069104,
1000069096,
1000069105,
1000069106,
1000069097,
1000069107,
1000069098,
1000069099,
1000069108,
1000069109,
1000069110,
1000069111,
1000069120,
1000069112,
1000069121,
1000069122,
1000069123,
1000069124,
1000069125,
1000069126,
1000069127,
1000069113,
1000069114,
1000069115,
1000069128,
1000069129,
1000069116,
1000069130,
1000069131,
1000069132,
1000069133,
1000069117,
1000069134,
1000069141,
1000069137,
1000069138,
1000069139,
1000069142,
1000069143,
1000069150,
1000069144,
1000069145,
1000069151,
1000069146,
1000069152,
1000069153,
1000069147,
1000069148,
1000069154,
1000069155,
1000069149,
1000069156,
1000069160,
1000069161,
1000069162,
1000069163,
1000069164,
1000069157,
1000069166,
1000069167,
1000069158,
1000069159,
1000069170,
1000069168,
1000069169,
1000069180,
1000069181,
1000069182,
1000069171,
1000069172,
1000069183,
1000069173,
1000069174,
1000069175,
1000069184,
1000069176,
1000069177,
1000069178,
1000069185,
1000069203,
1000069192,
1000069204,
1000069193,
1000069205,
1000069206,
1000069207,
1000069194,
1000069195,
1000069208,
1000069196,
1000069209,
1000069210,
1000069211,
1000069197,
1000069212,
1000069198,
1000069213,
1000069199,
1000069214,
1000069215,
1000069220,
1000069221,
1000069222,
1000069223,
1000069216,
1000069217,
1000069224,
1000069225,
1000069226,
1000069218,
1000069227,
1000069219,
1000069230,
1000069228,
1000069229,
1000069231,
1000069240,
1000069241,
1000069242,
1000069243,
1000069232,
1000069244,
1000069233,
1000069234,
1000069235,
1000069236,
1000069237,
1000069238,
1000069245,
1000069239,
1000069246,
1000069250,
1000069251,
1000069247,
1000069252,
1000069253,
1000069254,
1000069255,
1000069256,
1000069248,
1000069257,
1000069258,
1000069249,
1000069260,
1000069259,
1000069261,
1000069270,
1000069271,
1000069262,
1000069263,
1000069272,
1000069273,
1000069264,
1000069265,
1000069274,
1000069266,
1000069275,
1000069267,
1000069268,
1000069269,
1000069276,
1000069277,
1000069280,
1000069281,
1000069278,
1000069282,
1000069279,
1000069290,
1000069283,
1000069291,
1000069292,
1000069284,
1000069285,
1000069293,
1000069294,
1000069295,
1000069286,
1000069287,
1000069288,
1000069296,
1000069289,
1000069300,
1000069301,
1000069297,
1000069302,
1000069298,
1000069303,
1000069299,
1000069304,
1000069305,
1000069310,
1000069311,
1000069306,
1000069312,
1000069313,
1000069314,
1000069307,
1000069315,
1000069316,
1000069317,
1000069318,
1000069319,
1000069320,
1000069321,
1000069322,
1000069308,
1000069323,
1000069324,
1000069309,
1000069325,
1000069326,
1000069330,
1000069331,
1000069328,
1000069329,
1000069332,
1000069333,
1000069340,
1000069334,
1000069335,
1000069341,
1000069342,
1000069336,
1000069337,
1000069343,
1000069338,
1000069344,
1000069345,
1000069346,
1000069351,
1000069352,
1000069353,
1000069347,
1000069354,
1000069348,
1000069355,
1000069356,
1000069349,
1000069357,
1000069358,
1000069360,
1000069359,
1000069361,
1000069371,
1000069373,
1000069374,
1000069375,
1000069362,
1000069363,
1000069364,
1000069365,
1000069376,
1000069366,
1000069367,
1000069377,
1000069378,
1000069368,
1000069369,
1000069380,
1000069379,
1000069390,
1000069381,
1000069391,
1000069382,
1000069392,
1000069383,
1000069393,
1000069384,
1000069394,
1000069385,
1000069395,
1000069386,
1000069396,
1000069387,
1000069388,
1000069397,
1000069389,
1000069398,
1000069399,
1000069410,
1000069411,
1000069412,
1000069401,
1000069413,
1000069402,
1000069403,
1000069414,
1000069404,
1000069405,
1000069406,
1000069407,
1000069415,
1000069416,
1000069417,
1000069408,
1000069409,
1000069418,
1000069420,
1000069419,
1000069421,
1000069430,
1000069422,
1000069423,
1000069424,
1000069431,
1000069425,
1000069432,
1000069426,
1000069433,
1000069427,
1000069434,
1000069435,
1000069428,
1000069429,
1000069436,
1000069437,
1000069440,
1000069438,
1000069439,
1000069441,
1000069450,
1000069451,
1000069452,
1000069442,
1000069443,
1000069453,
1000069454,
1000069444,
1000069445,
1000069455,
1000069446,
1000069456,
1000069447,
1000069457,
1000069448,
1000069458,
1000069449,
1000069459,
1000069460,
1000069461,
1000069462,
1000069463,
1000069464,
1000069470,
1000069471,
1000069465,
1000069472,
1000069473,
1000069474,
1000069466,
1000069467,
1000069475,
1000069476,
1000069468,
1000069477,
1000069469,
1000069478,
1000069480,
1000069479,
1000069490,
1000069491,
1000069481,
1000069482,
1000069492,
1000069493,
1000069494,
1000069495,
1000069483,
1000069496,
1000069484,
1000069497,
1000069498,
1000069485,
1000069499,
1000069486,
1000069487,
1000069488,
1000069489,
1000069500,
1000069501,
1000069510,
1000069511,
1000069515,
1000069516,
1000069517,
1000069518,
1000069519,
1000069520,
1000069506,
1000069521,
1000069507,
1000069508,
1000069522,
1000069509,
1000069530,
1000069531,
1000069532,
1000069523,
1000069533,
1000069534,
1000069524,
1000069525,
1000069535,
1000069526,
1000069527,
1000069536,
1000069537,
1000069541,
1000069555,
1000069570,
1000069580,
1000069588,
1000069592,
1000069579,
1000069594,
1000069596,
1000069620,
1000069621,
1000069622,
1000069623,
1000069614,
1000069624,
1000069625,
1000069626,
1000069627,
1000069628,
1000069646,
1000069656,
1000069647,
1000069648,
1000069657,
1000069658,
1000069659,
1000069660,
1000069661,
1000069662,
1000069663,
1000069664,
1000069649,
1000069665,
1000069666,
1000069670,
1000069671,
1000069672,
1000069667,
1000069674,
1000069675,
1000069676,
1000069677,
1000069668,
1000069669,
1000069678,
1000069680,
1000069679,
1000069681,
1000069690,
1000069682,
1000069683,
1000069691,
1000069692,
1000069693,
1000069684,
1000069685,
1000069686,
1000069687,
1000069694,
1000069695,
1000069696,
1000069697,
1000069698,
1000069688,
1000069689,
1000069699,
1000069700,
1000069710,
1000069701,
1000069711,
1000069702,
1000069712,
1000069713,
1000069703,
1000069704,
1000069714,
1000069715,
1000069705,
1000069706,
1000069716,
1000069707,
1000069717,
1000069708,
1000069718,
1000069719,
1000069721,
1000069722,
1000069723,
1000069724,
1000069725,
1000069726,
1000069727,
1000069728,
1000069729,
1000069730,
1000069731,
1000069740,
1000069741,
1000069742,
1000069732,
1000069743,
1000069733,
1000069734,
1000069744,
1000069745,
1000069746,
1000069735,
1000069736,
1000069737,
1000069747,
1000069748,
1000069738,
1000069750,
1000069751,
1000069752,
1000069739,
1000069753,
1000069754,
1000069760,
1000069755,
1000069756,
1000069761,
1000069757,
1000069758,
1000069759,
1000069762,
1000069770,
1000069771,
1000069772,
1000069773,
1000069763,
1000069764,
1000069774,
1000069765,
1000069766,
1000069767,
1000069775,
1000069776,
1000069768,
1000069769,
1000069777,
1000069778,
1000069779,
1000069780,
1000069781,
1000069782,
1000069790,
1000069791,
1000069792,
1000069783,
1000069793,
1000069784,
1000069785,
1000069795,
1000069786,
1000069787,
1000069788,
1000069796,
1000069797,
1000069798,
1000069799,
1000069800,
1000069789,
1000069810,
1000069811,
1000069801,
1000069812,
1000069802,
1000069813,
1000069814,
1000069803,
1000069804,
1000069815,
1000069816,
1000069805,
1000069817,
1000069806,
1000069818,
1000069819,
1000069820,
1000069807,
1000069821,
1000069822,
1000069823,
1000069808,
1000069809,
1000069830,
1000069824,
1000069831,
1000069825,
1000069826,
1000069832,
1000069833,
1000069834,
1000069835,
1000069827,
1000069836,
1000069828,
1000069837,
1000069829,
1000069838,
1000069840,
1000069841,
1000069839,
1000069842,
1000069843,
1000069844,
1000069845,
1000069850,
1000069846,
1000069847,
1000069848,
1000069851,
1000069852,
1000069853,
1000069849,
1000069854,
1000069860,
1000069862,
1000069863,
1000069856,
1000069857,
1000069858,
1000069864,
1000069859,
1000069865,
1000069866,
1000069870,
1000069871,
1000069872,
1000069873,
1000069867,
1000069868,
1000069874,
1000069869,
1000069880,
1000069881,
1000069882,
1000069883,
1000069876,
1000069877,
1000069878,
1000069879,
1000069884,
1000069890,
1000069891,
1000069885,
1000069892,
1000069893,
1000069894,
1000069886,
1000069895,
1000069896,
1000069887,
1000069888,
1000069889,
1000069900,
1000069897,
1000069901,
1000069898,
1000069899,
1000069902,
1000069903,
1000069904,
1000069910,
1000069905,
1000069906,
1000069911,
1000069912,
1000069907,
1000069913,
1000069914,
1000069915,
1000069908,
1000069909,
1000069920,
1000069921,
1000069922,
1000069916,
1000069917,
1000069918,
1000069919,
1000069923,
1000069924,
1000069925,
1000069930,
1000069931,
1000069932,
1000069926,
1000069933,
1000069934,
1000069927,
1000069935,
1000069936,
1000069937,
1000069938,
1000069939,
1000069928,
1000069940,
1000069941,
1000069942,
1000069943,
1000069944,
1000069945,
1000069929,
1000069946,
1000069950,
1000069951,
1000069952,
1000069953,
1000069954,
1000069947,
1000069955,
1000069948,
1000069949,
1000069957,
1000069960,
1000069961,
1000069962,
1000069958,
1000069963,
1000069964,
1000069965,
1000069966,
1000069967,
1000069959,
1000069970,
1000069968,
1000069971,
1000069969,
1000069980,
1000069981,
1000069972,
1000069982,
1000069973,
1000069983,
1000069974,
1000069984,
1000069975,
1000069976,
1000069977,
1000069985,
1000069978,
1000069986,
1000069987,
1000069988,
1000069979,
1000069989,
1000069990,
1000069991,
1000070000,
1000070001,
1000070002,
1000069997,
1000070005,
1000070006,
1000070007,
1000069998,
1000070008,
1000070009,
1000069999,
1000070010,
1000070020,
1000070011,
1000070021,
1000070012,
1000070022,
1000070023,
1000070024,
1000070025,
1000070013,
1000070026,
1000070027,
1000070014,
1000070028,
1000070029,
1000070030,
1000070031,
1000070015,
1000070016,
1000070032,
1000070017,
1000070018,
1000070033,
1000070019,
1000070034,
1000070035,
1000070040,
1000070036,
1000070037,
1000070038,
1000070039,
1000070041,
1000070042,
1000070043,
1000070050,
1000070051,
1000070052,
1000070053,
1000070054,
1000070044,
1000070055,
1000070045,
1000070046,
1000070056,
1000070057,
1000070058,
1000070047,
1000070059,
1000070048,
1000070060,
1000070049,
1000070070,
1000070061,
1000070075,
1000070092,
1000070102,
1000070098,
1000070099,
1000070110,
1000070103,
1000070111,
1000070105,
1000070112,
1000070113,
1000070106,
1000070114,
1000070115,
1000070107,
1000070116,
1000070108,
1000070117,
1000070109,
1000070120,
1000070118,
1000070121,
1000070119,
1000070130,
1000070122,
1000070131,
1000070132,
1000070123,
1000070133,
1000070134,
1000070135,
1000070136,
1000070124,
1000070137,
1000070138,
1000070139,
1000070140,
1000070141,
1000070142,
1000070125,
1000070143,
1000070144,
1000070126,
1000070127,
1000063128,
1000070128,
1000116473,
}
for _, v := range s {
err := api.UpdateExpand(v)
if err != nil {
t.Fatal(err)
}
}
// t.Log(utils.Format4Output(result, false))
}