180 lines
11 KiB
Go
180 lines
11 KiB
Go
package mtwmapi
|
||
|
||
import (
|
||
"fmt"
|
||
"git.rosy.net.cn/jx-callback/globals"
|
||
"io/ioutil"
|
||
"net/http"
|
||
"sort"
|
||
"strings"
|
||
"testing"
|
||
)
|
||
|
||
func TestCommentQuery(t *testing.T) {
|
||
result, err := api.CommentQuery("23932637", "20240813", "20240819", 0, 0, CommentReplyStatusNotReplied)
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
for _, mtwmComment := range result {
|
||
foodNameList := make(map[string]int, 0)
|
||
for _, fn := range mtwmComment.PraiseRetailList {
|
||
foodNameList[fn.Name] = 1
|
||
}
|
||
for _, fn := range mtwmComment.CriticRetailList {
|
||
foodNameList[fn.Name] = 1
|
||
}
|
||
|
||
for _, fn := range mtwmComment.CommentOrderDetail {
|
||
if len(fn.FoodName)-strings.LastIndex(fn.FoodName, ")") > 3 {
|
||
foodNameList[fn.FoodName] = 1
|
||
} else {
|
||
foodNameList[fn.FoodName[0:strings.LastIndex(fn.FoodName, "(")]] = 1
|
||
}
|
||
}
|
||
fmt.Println(foodNameList)
|
||
}
|
||
|
||
//t.Log(utils.Format4Output(result, false))
|
||
}
|
||
|
||
func TestCommentAddReply(t *testing.T) {
|
||
err := api.CommentAddReply("23932637", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
}
|
||
|
||
func TestGetCommonList(t *testing.T) {
|
||
var page = 1
|
||
param := map[string]interface{}{
|
||
"wmPoiId": -1,
|
||
"appType": 3,
|
||
"pageNum": page,
|
||
"rate": 0,
|
||
"reply": -1,
|
||
"context": -1,
|
||
"startDate": "2024-09-07",
|
||
"endDate": "2024-09-13",
|
||
"timeType": 4,
|
||
}
|
||
cookie := `uuid_update=true; _lxsdk_cuid=18a8c469cebc8-0d5443d9234ef1-26021051-240000-18a8c469cebc8; uuid=19f97d5039dc40979c40.1701152326.1.0.0; device_uuid=!303ca77f-1f5c-4db9-8beb-2140b78696e2; pushToken=01YLhAxagh8b3tlBORRhDbRt9URjGhSdCG84G5-PA1w0*; WEBDFPID=29z4yy3y961959z509u92w75626y558381x7618yx56979584y00uw64-2016762763564-1701402763564QQKUMAGfd79fef3d01d5e9aadc18ccd4d0c95073707; iuuid=6150CECD00F8926053D5784EE8E108EC3F622CECA73B5042408DE46AB37C3D80; _lxsdk=6150CECD00F8926053D5784EE8E108EC3F622CECA73B5042408DE46AB37C3D80; _ga=GA1.2.2133425411.1707118186; userTicket=ABDdQinAblqsCpXDsEdtLNYrSpYSSlbRWYlhFyUm; u=893483812; n=tel1808018; lt=AgFCI__eFEzarguG6ly07rQWhiJFBEsWRgxUWRQPXLNOqeBN-U1C0hQ56pWpHL4sm50cGWeduIqVQwAAAAC4IQAAxbA-z1YAE9bBoB64Id-_ZJV3tTdf3aKBnn8v3h5o6AOWhEVtVcGjAr7ax5V84Mej; mt_c_token=AgFCI__eFEzarguG6ly07rQWhiJFBEsWRgxUWRQPXLNOqeBN-U1C0hQ56pWpHL4sm50cGWeduIqVQwAAAAC4IQAAxbA-z1YAE9bBoB64Id-_ZJV3tTdf3aKBnn8v3h5o6AOWhEVtVcGjAr7ax5V84Mej; isNewCome=1; e_u_id_3299326472=cbee20e50a13edae555928828ac9a4e7; wpush_server_url=wss://wpush.meituan.com; acctId=62884810; token=0OURmdynYsCHmfmw_BzFZSpdMyN-NpEhy_lOf6ScMSrU*; brandId=-1; wmPoiId=-1; isOfflineSelfOpen=0; city_id=0; shopCategory=food; isChain=1; existBrandPoi=true; ignore_set_router_proxy=true; region_id=; region_version=0; newCategory=true; bsid=irU_eBSO6DWvVI9cwYaSs44aob3AdBSsGCnN2zFepz8UnDWL79GP_0eVcOP9Ll6AO3JEvwzF8hn346QXEBVTSw; grayPath=newRoot; signToken="htd1LkHCWu/j5C3Essvpr2DoTjMVQ9NP2EoUaTtqVckFzLzYngYSsLfR/lNoQdZpt4GzudRw9XVhTHnjVJZg9Jic4tdFKg5CauCYZNuoqop1j75praME5P4nx9jBSYBak8038XQGJ7goFnzmpDObYw=="; cityId=510100; provinceId=510000; city_location_id=0; location_id=0; _gw_ab_call_29945_47=TRUE; _gw_ab_29945_47=561; logan_session_token=9nuel9qirajn1ms9ax2h; gatherPoi=; cacheTimeMark=2024-09-14; set_info=%7B%22wmPoiId%22%3A-1%2C%22ignoreSetRouterProxy%22%3Atrue%7D; igateApp=shangouepc; timeout=2000; accessToken=irU_eBSO6DWvVI9cwYaSs44aob3AdBSsGCnN2zFepz8UnDWL79GP_0eVcOP9Ll6AO3JEvwzF8hn346QXEBVTSw; pharmacistAccount=0; _lxsdk_s=191ee2d02f8-967-08e-330%7C%7C256`
|
||
|
||
for {
|
||
result, err := api.GetComment4ShanGou(param, true, cookie)
|
||
if err != nil {
|
||
fmt.Println(err)
|
||
return
|
||
}
|
||
for _, mtwmComment := range result {
|
||
// 商品的名称集合
|
||
foodNameList := make(map[string]int, 0)
|
||
// 好评商品
|
||
for _, fn := range mtwmComment.PraiseFoodList {
|
||
foodNameList[fn] = 1
|
||
}
|
||
// 差评商品
|
||
for _, fn := range mtwmComment.CriticFoodList {
|
||
foodNameList[fn] = 1
|
||
}
|
||
// 列表商品
|
||
for _, fn := range mtwmComment.SpuCommentList {
|
||
foodNameList[fn.SpuName] = 1
|
||
}
|
||
// 包含()中文括号的商品
|
||
for _, fn := range mtwmComment.OrderStatus.Details {
|
||
if len(fn.FoodName)-strings.LastIndex(fn.FoodName, ")") > 3 {
|
||
foodNameList[strings.TrimSuffix(fn.FoodName, " ")] = 1
|
||
} else {
|
||
foodNameList[strings.TrimSuffix(fn.FoodName[0:strings.LastIndex(fn.FoodName, "(")], " ")] = 1
|
||
}
|
||
}
|
||
|
||
foodName := make([]string, 0, len(foodNameList))
|
||
for fnl, _ := range foodNameList {
|
||
foodName = append(foodName, fnl)
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("vendorStoreId :%d , skuName: %s", mtwmComment.WmPoiId, strings.Join(foodName, ","))
|
||
}
|
||
|
||
if len(result) >= 10 {
|
||
page += 1
|
||
} else {
|
||
break
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
//2024-09-14T10:54:11.724+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :17916252 , skuName: 【剥肉】红心柚子肉.250g,【抢鲜吃】泰国椰 子/椰肉 水果切盒-250g,【爆品】缤纷酸奶水果捞 200g
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :21752676 , skuName: 【冰镇】8424西瓜半个约3斤(切块),红毛桃 1个
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :17916252 , skuName: 【代餐轻食】混合水果捞.300g
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :5943132 , skuName: 《力荐》超甜黄金百香果 《一盒4粒》表皮褶皱 正常现象介意勿拍160克左右,【整果】金枕榴莲1个装(约3.3-4斤)《保好》,4A麻竹山竹福 利【质量好.不好联系返差价】500g,《冰镇嘎嘎凉》{新北海不甜不要钱}甜王西瓜【3斤 左右】大小块不定按分量走
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :24330787 , skuName: 超大份低脂水果捞(800g)约1005ml【免费加 伴侣】
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :5943132 , skuName: 【新上市】红油桃质量一级好【嘎嘎甜】400克 左右
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :2370192 , skuName: 草莓味酸奶水果捞485ml,【果切】赔本赚吆喝缤 纷水果随机切200ml盒,【果切】赔本赚吆喝缤纷水果随机切200ml盒 (200毫升),【果切】 番茄+乌梅400ml
|
||
//2024-09-14T10:54:11.725+0800 DEBUG mtwmapi/comment_test.go:94 vendorStoreId :21490215 , skuName: 都乐(Dole) 欢乐果园 来一碗超甜凤梨切 200 克(g),【活动爆品】麒麟西瓜切盒约400g,精品海南小台切盒400g
|
||
|
||
func TestCommonList2(t *testing.T) {
|
||
url := "https://shangoue.meituan.com/api/support/customer/comment/r/list"
|
||
|
||
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"wmPoiId\"\r\n\r\n-1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"appType\"\r\n\r\n3\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"pageNum\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"rate\"\r\n\r\n0\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"reply\"\r\n\r\n-1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"context\"\r\n\r\n-1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n2024-07-29\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n2024-07-31\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"timeType\"\r\n\r\n4\r\n-----011000010111000001101001--\r\n\r\n")
|
||
|
||
req, _ := http.NewRequest("POST", url, payload)
|
||
|
||
req.Header.Add("Cookie", `uuid_update=true; _lxsdk_cuid=18a8c469cebc8-0d5443d9234ef1-26021051-240000-18a8c469cebc8; uuid=19f97d5039dc40979c40.1701152326.1.0.0; device_uuid=!303ca77f-1f5c-4db9-8beb-2140b78696e2; pushToken=01YLhAxagh8b3tlBORRhDbRt9URjGhSdCG84G5-PA1w0*; WEBDFPID=29z4yy3y961959z509u92w75626y558381x7618yx56979584y00uw64-2016762763564-1701402763564QQKUMAGfd79fef3d01d5e9aadc18ccd4d0c95073707; epassport_token=oekR9LsWaVAP0AUg0Z6l85HJoHP0OliCE3WcoMW3Xcluu9DZWqGb3SooLjItdc4BDgNRgeGKKLZYqAtpYp3CuQ; iuuid=6150CECD00F8926053D5784EE8E108EC3F622CECA73B5042408DE46AB37C3D80; _lxsdk=6150CECD00F8926053D5784EE8E108EC3F622CECA73B5042408DE46AB37C3D80; _ga=GA1.2.2133425411.1707118186; e_u_id_3299326472=a22cdb4f9c9a66958f72f3fe4d99aba6; isNewCome=1; userTicket=ABDdQinAblqsCpXDsEdtLNYrSpYSSlbRWYlhFyUm; u=893483812; n=tel1808018; lt=AgFCI__eFEzarguG6ly07rQWhiJFBEsWRgxUWRQPXLNOqeBN-U1C0hQ56pWpHL4sm50cGWeduIqVQwAAAAC4IQAAxbA-z1YAE9bBoB64Id-_ZJV3tTdf3aKBnn8v3h5o6AOWhEVtVcGjAr7ax5V84Mej; mt_c_token=AgFCI__eFEzarguG6ly07rQWhiJFBEsWRgxUWRQPXLNOqeBN-U1C0hQ56pWpHL4sm50cGWeduIqVQwAAAAC4IQAAxbA-z1YAE9bBoB64Id-_ZJV3tTdf3aKBnn8v3h5o6AOWhEVtVcGjAr7ax5V84Mej; wpush_server_url=wss://wpush.meituan.com; acctId=57396785; token=07_OvFPg_ZTHgLwGngAZTjwG214Gt4Yxh5HMgvCfYcas*; brandId=-1; isOfflineSelfOpen=0; city_id=0; isChain=1; existBrandPoi=true; ignore_set_router_proxy=true; region_id=; region_version=0; newCategory=true; bsid=GqPMJNy9tK3SglBZptuLYqkzKquaUJg2vmQCBLmZyMxhiHF4l44JeZRFxbW5eud8t7Ejzrsq2tHbHMnJ65_prw; grayPath=newRoot; cityId=510100; provinceId=510000; city_location_id=0; location_id=0; cacheTimeMark=2024-08-02; igateApp=shangouepc; pharmacistAccount=0; timeout=2000; accessToken=GqPMJNy9tK3SglBZptuLYqkzKquaUJg2vmQCBLmZyMxhiHF4l44JeZRFxbW5eud8t7Ejzrsq2tHbHMnJ65_prw; wmPoiName=京西菜市·新生鲜(珍珠园市场店); shopCategory=market; logistics_support=1; _gw_ab_call_43208_4=TRUE; _gw_ab_43208_4=434; wmPoiId=-1; signToken="L5bPEb0sVnqry/aUnAJMgoY7TH3sRjc6Vh3YXkAPPT1V79wwnQZTpV+zNJc4Zp5bDrwDP07NvrMICxPIAYJW4ztXmoL/p3JuZ28PaGGJ1AkaN5ogSY2xA1K1HOTia30DEMB3DbmR+tLgmCqm3oQd6w=="; logan_session_token=y0ktraxb5ilbbvjryqzn; set_info={"wmPoiId":-1,"ignoreSetRouterProxy":true}; _lxsdk_s=191109f37ec-af3-533-8d7||38`)
|
||
req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")
|
||
|
||
res, _ := http.DefaultClient.Do(req)
|
||
|
||
defer res.Body.Close()
|
||
body, _ := ioutil.ReadAll(res.Body)
|
||
|
||
fmt.Println(res)
|
||
fmt.Println(string(body))
|
||
|
||
}
|
||
|
||
func TestCommonList3(t *testing.T) {
|
||
param := map[string]interface{}{
|
||
"wmPoiId": -1,
|
||
"appType": 3,
|
||
"pageNum": 1,
|
||
"rate": 0,
|
||
"reply": -1,
|
||
"context": -1,
|
||
"startDate": "2024-07-30",
|
||
"endDate": "2024-07-31",
|
||
"timeType": 4,
|
||
}
|
||
api.AccessStoreComment2(param)
|
||
}
|
||
|
||
func TestMNMath(t *testing.T) {
|
||
|
||
mathProbability := map[string]float64{
|
||
"order1": 0.800,
|
||
"order2": 0.750,
|
||
"order3": 0.900,
|
||
"order4": 0.981,
|
||
"order5": 0.230,
|
||
}
|
||
|
||
var values []float64
|
||
for _, v := range mathProbability {
|
||
values = append(values, v)
|
||
}
|
||
sort.Slice(values, func(i, j int) bool {
|
||
if values[i] > values[j] {
|
||
return true
|
||
}
|
||
return false
|
||
})
|
||
for k, v := range mathProbability {
|
||
if v == values[0] {
|
||
fmt.Println(k)
|
||
}
|
||
}
|
||
}
|