158 lines
8.9 KiB
Go
158 lines
8.9 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("7821254", "20240730", "20240731", 0, 0, CommentReplyStatusAll)
|
||
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("24617232", 2947288966, "非常抱歉让您没有得到十分满意的购物体验,我们会及时与您联系进行确认并解决问题!")
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
}
|
||
|
||
func TestGetCommonList(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,
|
||
}
|
||
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`
|
||
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, ","))
|
||
}
|
||
}
|
||
|
||
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)
|
||
}
|
||
}
|
||
}
|