Files
baseapi/platformapi/mtwmapi/comment_test.go
邹宗楠 312aefbf2c 1
2024-09-19 09:48:16 +08:00

180 lines
11 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)
}
}
}