获取手机号

This commit is contained in:
Lenovo 2024-07-04 11:55:45 +08:00
parent 9e0a73d8d8
commit d2673d75e4
4 changed files with 85 additions and 51 deletions

View File

@ -72,55 +72,8 @@ public class MeituanController {
* @throws Exception * @throws Exception
*/ */
@GetMapping("/getPriPhone") @GetMapping("/getPriPhone")
public R priPhone() throws Exception { public R priPhone(String orderId) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax"; return iMeituanService.priPhoneInfo(orderId);
Map<String,Object> params = new LinkedHashMap<>();
params.put("searchItem","2001141341103646099");
params.put("region_id","1000440100");
params.put("region_version","1687236854");
params.put("yodaReady","h5");
params.put("csecplatform",4);
params.put("csecversion","2.4.0");
params.put("mtgsig","%7B%22a1%22%3A%221.1%22%2C%22a2%22%3A1719559430105%2C%22a3%22%3A%221719555287467YYKUWIAfd79fef3d01d5e9aadc18ccd4d0c95077155%22%2C%22a5%22%3A%22RysVtjJl6dwe7UCBGvbf%22%2C%22a6%22%3A%22hs1.4aOG4x69iuIGtADfqn9IKcTw1%2FkgMmU2b7SKfkduAyV5JdsMP7K%2FyaI4LzRA7LmuUUNuW8gACTFDnxuSagQ8j8Q%3D%3D%22%2C%22x0%22%3A4%2C%22d1%22%3A%224ddede8d030621664d0ad9194ed8ffee%22%7D");
String param = "?";
for (Map.Entry<String, Object> stringObjectEntry : params.entrySet()) {
param = param + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()+"&";
}
url = url + param.substring(0, param.length()-1);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("searchItem","2001141341103646099");
HttpClient client = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
httpPost.setHeader("Cookie","WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=17xh2gwbrxsun1rfcihmpq8qvx; acctId=196975850; token=0kw5y1iHPZlyzyFwPKIvYXEn15f2YTeJ-Ib-Vvnf8CVA*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=JOYX5FuZ82Ng28_UmiNZbCRpG1cje_gx80ZmZEoy-QZa1feZmr2u5fSNfQt3otmx0U5-f1CzvuY_7B_I4oAO3g; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; wpush_server_url=wss://wpush.meituan.com; logan_session_token=p80b8gguagwg91fkep63; setPrivacyTime=1_20240702; _lxsdk_s=19072812c83-a0d-0a7-c43%7C%7C62");
HttpResponse response = client.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
String resp = EntityUtils.toString(responseEntity);
JSONObject jsonObject = JSONObject.parseObject(resp);
String code = jsonObject.getString(("code"));
if ("0".equals(code)) {
JSONArray array = jsonObject.getJSONArray("wmOrderList");
List<PriPhoneInfo> list = new ArrayList<>();
for (Object o : array) {
PriPhoneInfo phoneInfo = new PriPhoneInfo();
JSONObject oj = JSONObject.parseObject(JSON.toJSONString(o));
String wmOrderViewId = oj.getString("wm_order_id_view");
String privacyPhone = oj.getString("privacy_phone");
phoneInfo.setPricyPhone(privacyPhone);
phoneInfo.setOrderId(wmOrderViewId);
list.add(phoneInfo);
}
if (list.size() > 0) {
for (PriPhoneInfo phoneInfo : list) {
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone());
}
return R.ok(JSON.toJSON(list));
}
}
return R.fail("获取手机号码失败");
} }
/** /**

View File

@ -3,6 +3,24 @@ package com.ruoyi.business.domain;
public class PriPhoneInfo { public class PriPhoneInfo {
private String orderId; private String orderId;
private String pricyPhone; private String pricyPhone;
private String recipientPhone;
private String recipientBindedPhone;
public String getRecipientPhone() {
return recipientPhone;
}
public void setRecipientPhone(String recipientPhone) {
this.recipientPhone = recipientPhone;
}
public String getRecipientBindedPhone() {
return recipientBindedPhone;
}
public void setRecipientBindedPhone(String recipientBindedPhone) {
this.recipientBindedPhone = recipientBindedPhone;
}
public String getOrderId() { public String getOrderId() {
return orderId; return orderId;

View File

@ -8,5 +8,6 @@ public interface IMeituanService {
String getScore(); String getScore();
R orderInfo(); R orderInfo();
R priPhoneInfo(String orderId);
} }

View File

@ -5,11 +5,13 @@ import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.business.domain.BusStoreInfo; import com.ruoyi.business.domain.BusStoreInfo;
import com.ruoyi.business.domain.OrderInfo; import com.ruoyi.business.domain.OrderInfo;
import com.ruoyi.business.domain.PriPhoneInfo;
import com.ruoyi.business.mapper.BusStoreInfoMapper; import com.ruoyi.business.mapper.BusStoreInfoMapper;
import com.ruoyi.business.service.IMeituanService; import com.ruoyi.business.service.IMeituanService;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.HttpClientUtilT; import com.ruoyi.common.utils.HttpClientUtilT;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient; import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.entity.mime.MultipartEntityBuilder;
@ -57,7 +59,7 @@ public class MeituanServiceImpl implements IMeituanService {
@Override @Override
public R orderInfo() { public R orderInfo() {
int pageNum = 1; int pageNum = 1;
JSONObject jsonObject = merchantOrders(pageNum,"2024-06-28", JSONObject jsonObject = merchantOrders(pageNum,"2024-07-03",
"WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=on7soe32fcruh809e5hfls7z; acctId=196975850; token=0pU06uu_iGAHgwhFO85t0G6PZxaoBiSNFdZyi2pS2mG0*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=19mI8ZOraG-XXNAMJ2qmJEDbBIf97CFoQ_ndkcmZM0iBR9UKTpOcERrZsXLftuuJUJ6l1nOl3Q5pc0lul3KOWw; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; setPrivacyTime=1_20240704; wpush_server_url=wss://wpush.meituan.com; logan_session_token=h11r1rr8yb4n872vhlsr; _lxsdk_s=1907b53fb56-164-582-76a%7C%7C62"); "WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=on7soe32fcruh809e5hfls7z; acctId=196975850; token=0pU06uu_iGAHgwhFO85t0G6PZxaoBiSNFdZyi2pS2mG0*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=19mI8ZOraG-XXNAMJ2qmJEDbBIf97CFoQ_ndkcmZM0iBR9UKTpOcERrZsXLftuuJUJ6l1nOl3Q5pc0lul3KOWw; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; setPrivacyTime=1_20240704; wpush_server_url=wss://wpush.meituan.com; logan_session_token=h11r1rr8yb4n872vhlsr; _lxsdk_s=1907b53fb56-164-582-76a%7C%7C62");
String code = jsonObject.getString("code"); String code = jsonObject.getString("code");
if ("0".equals(code)) { if ("0".equals(code)) {
@ -108,7 +110,7 @@ public class MeituanServiceImpl implements IMeituanService {
} }
} }
pageNum += 1; pageNum += 1;
JSONObject jo = merchantOrders(pageNum, "2024-06-28", JSONObject jo = merchantOrders(pageNum, "2024-07-03",
"WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=on7soe32fcruh809e5hfls7z; acctId=196975850; token=0pU06uu_iGAHgwhFO85t0G6PZxaoBiSNFdZyi2pS2mG0*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=19mI8ZOraG-XXNAMJ2qmJEDbBIf97CFoQ_ndkcmZM0iBR9UKTpOcERrZsXLftuuJUJ6l1nOl3Q5pc0lul3KOWw; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; setPrivacyTime=1_20240704; wpush_server_url=wss://wpush.meituan.com; logan_session_token=h11r1rr8yb4n872vhlsr; _lxsdk_s=1907b53fb56-164-582-76a%7C%7C62"); "WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=on7soe32fcruh809e5hfls7z; acctId=196975850; token=0pU06uu_iGAHgwhFO85t0G6PZxaoBiSNFdZyi2pS2mG0*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=19mI8ZOraG-XXNAMJ2qmJEDbBIf97CFoQ_ndkcmZM0iBR9UKTpOcERrZsXLftuuJUJ6l1nOl3Q5pc0lul3KOWw; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; setPrivacyTime=1_20240704; wpush_server_url=wss://wpush.meituan.com; logan_session_token=h11r1rr8yb4n872vhlsr; _lxsdk_s=1907b53fb56-164-582-76a%7C%7C62");
if("0".equals(jo.getString("code"))){ if("0".equals(jo.getString("code"))){
array = jo.getJSONObject("data").getJSONArray("wmOrderList"); array = jo.getJSONObject("data").getJSONArray("wmOrderList");
@ -160,6 +162,66 @@ public class MeituanServiceImpl implements IMeituanService {
return jsonObject; return jsonObject;
} }
@Override
public R priPhoneInfo(String orderId) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
Map<String,Object> params = new LinkedHashMap<>();
params.put("searchItem",orderId);
params.put("region_id","1000440100");
params.put("region_version","1687236854");
params.put("yodaReady","h5");
params.put("csecplatform",4);
params.put("csecversion","2.4.0");
params.put("mtgsig","%7B%22a1%22%3A%221.1%22%2C%22a2%22%3A1719559430105%2C%22a3%22%3A%221719555287467YYKUWIAfd79fef3d01d5e9aadc18ccd4d0c95077155%22%2C%22a5%22%3A%22RysVtjJl6dwe7UCBGvbf%22%2C%22a6%22%3A%22hs1.4aOG4x69iuIGtADfqn9IKcTw1%2FkgMmU2b7SKfkduAyV5JdsMP7K%2FyaI4LzRA7LmuUUNuW8gACTFDnxuSagQ8j8Q%3D%3D%22%2C%22x0%22%3A4%2C%22d1%22%3A%224ddede8d030621664d0ad9194ed8ffee%22%7D");
String param = "?";
for (Map.Entry<String, Object> stringObjectEntry : params.entrySet()) {
param = param + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()+"&";
}
url = url + param.substring(0, param.length()-1);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
// builder.addTextBody("searchItem","3801144621770927987");
HttpClient client = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
httpPost.setHeader("Cookie","WEBDFPID=81x675y2y0x156y20z8194xvv5622uv180938x0x565979585zu21vx7-2034987530564-1719627530564QGCGCKGfd79fef3d01d5e9aadc18ccd4d0c95072413; _lxsdk_cuid=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; _lxsdk=19061b46258c8-0a575a85246371-d373666-1fa400-19061b4625873; device_uuid=!f681d2ae-d8e3-44ae-abed-9319cef9b9a1; uuid_update=true; pushToken=08Y-B6R3RJh0vWW3sunjIls8g5ks282V0XDqw0_8uK2I*; shopCategory=food; JSESSIONID=on7soe32fcruh809e5hfls7z; acctId=196975850; token=0pU06uu_iGAHgwhFO85t0G6PZxaoBiSNFdZyi2pS2mG0*; wmPoiId=21737990; isOfflineSelfOpen=0; city_id=510100; isChain=0; ignore_set_router_proxy=false; region_id=1000510100; region_version=1717637457; bsid=19mI8ZOraG-XXNAMJ2qmJEDbBIf97CFoQ_ndkcmZM0iBR9UKTpOcERrZsXLftuuJUJ6l1nOl3Q5pc0lul3KOWw; city_location_id=510100; location_id=510107; has_not_waimai_poi=0; cityId=210100; provinceId=210000; set_info=%7B%22wmPoiId%22%3A%2221737990%22%2C%22region_id%22%3A%221000510100%22%2C%22region_version%22%3A1717637457%7D; setPrivacyTime=1_20240704; wpush_server_url=wss://wpush.meituan.com; logan_session_token=h11r1rr8yb4n872vhlsr; _lxsdk_s=1907b53fb56-164-582-76a%7C%7C62");
String resp = null;
try {
HttpResponse response = client.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
resp = EntityUtils.toString(responseEntity);
}catch (Exception e){
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.parseObject(resp);
String code = jsonObject.getString(("code"));
if ("0".equals(code)) {
JSONArray array = jsonObject.getJSONArray("wmOrderList");
List<PriPhoneInfo> list = new ArrayList<>();
for (Object o : array) {
PriPhoneInfo phoneInfo = new PriPhoneInfo();
JSONObject oj = JSONObject.parseObject(JSON.toJSONString(o));
String wmOrderViewId = oj.getString("wm_order_id_view");
String privacyPhone = oj.getString("privacy_phone");
String recipientPhone = oj.getString("recipient_phone");
String recipientBindedPhone = oj.getString("recipient_bindedPhone");
phoneInfo.setOrderId(wmOrderViewId);
phoneInfo.setPricyPhone(privacyPhone);
phoneInfo.setRecipientPhone(recipientPhone);
phoneInfo.setRecipientBindedPhone(recipientBindedPhone);
list.add(phoneInfo);
}
if (list.size() > 0) {
for (PriPhoneInfo phoneInfo : list) {
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone()+ "," +phoneInfo.getRecipientPhone()+ "," +phoneInfo.getRecipientBindedPhone());
}
return R.ok(JSON.toJSON(list));
}
}
return R.fail("获取手机号码失败");
}
/** /**
* 获取评分 * 获取评分
* @return * @return