修改订单时间

This commit is contained in:
Lenovo 2024-07-30 15:49:09 +08:00
parent 3afeb2d8e2
commit ceadfff3d9
1 changed files with 46 additions and 23 deletions

View File

@ -13,7 +13,6 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.SplitListUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDictDataMapper;
import jdk.nashorn.internal.runtime.logging.Logger;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
@ -58,7 +57,6 @@ import java.util.stream.Collectors;
* 采集美团数据service
*/
@Service
@Logger
public class MeituanServiceImpl implements IMeituanService {
@Autowired
@ -392,7 +390,7 @@ public class MeituanServiceImpl implements IMeituanService {
if ("0".equals(code)) {
JSONArray array = jsonObject.getJSONObject("data").getJSONArray("wmOrderList");
boolean flag = false;
// boolean flag = false;
// String key = wmPoiId + date;
// String lastDayseq = Optional.ofNullable(redisTemplate.opsForValue().get(key)).orElse(null);
while (array != null && array.size() > 0) {
@ -409,7 +407,7 @@ public class MeituanServiceImpl implements IMeituanService {
JSONObject order0 = oj.getJSONObject("orderInfo");
JSONObject commonInfo = oj.getJSONObject("commonInfo");
String userId = commonInfo.getString("wmUserId");
String daySeq = ""; String wmOrderViewId = ""; String orderTimeFmt = ""; String expectTime = ""; String statusDesc = ""; String orderCount = "";
String daySeq = ""; String wmOrderViewId = ""; String orderTimeFmt = ""; String statusDesc = ""; String orderCount = "";
String privacyPhone = null; String recipientPhone = null; String recipientBindedPhone = null;
if ("1".equals(businessType)) {
JSONObject order1 = order0.getJSONObject("orderInfo");
@ -421,7 +419,6 @@ public class MeituanServiceImpl implements IMeituanService {
daySeq = order1.getString("dayseq");
wmOrderViewId = order1.getString("wmOrderViewId");
orderTimeFmt = "2024-"+order1.getString("orderTimeFmt");
expectTime = expectTimeVo.getString("expectTimeFmt");
statusDesc = order1.getString("statusDesc");
if ("门店新客".equals(info)){
orderCount = "1";
@ -432,7 +429,6 @@ public class MeituanServiceImpl implements IMeituanService {
statusDesc = "用户已收餐";
wmOrderViewId = commonInfo.getString("wm_order_id_view");
orderTimeFmt = order0.getString("order_time_fmt");
expectTime = order0.getString("expectTimeFmt");
daySeq = commonInfo.getString("wm_poi_order_dayseq");
privacyPhone = order0.getString("privacy_phone");
recipientPhone = order0.getString("recipient_phone");
@ -459,28 +455,15 @@ public class MeituanServiceImpl implements IMeituanService {
orderInfo.setDayseq(daySeq);
orderInfo.setOrderNo(wmOrderViewId);
if(expectTime.contains("今日")){
expectTime = expectTime.substring(3,expectTime.length());
}
BusStoreInfo storeInfo = new BusStoreInfo();
storeInfo.setStoreCode(wmPoiId);
BusStoreInfo storeInfo1 = busStoreInfoMapper.selectBusStoreInfoList(storeInfo).get(0);
orderInfo.setStoreName(storeInfo1.getStoreName());
String completeTime = "2024-"+expectTime;
if (completeTime.contains("门店设置")){
completeTime = completeTime.replaceAll("门店设置","");
}
if (completeTime.contains("约今日")){
completeTime = completeTime.replaceAll("约今日 ","");
}
if (completeTime.contains("明日")){
completeTime = completeTime.replaceAll("明日 ","");
}
String reachTime = receiveTime(wmPoiId,cookie,wmOrderViewId);
orderInfo.setCompleteTime(completeTime);
orderInfo.setCompleteTime(date+" "+reachTime);
orderInfo.setOrderStatus(statusDesc);
orderInfo.setCustomId(userId);
orderInfo.setOrderCount(orderCount);
@ -540,7 +523,7 @@ public class MeituanServiceImpl implements IMeituanService {
}
private String getOrderCountByType(String getUrl, String wmOrderViewId,String cookie){
CloseableHttpClient httpClient = proxyHttpClient(getUrl);
CloseableHttpClient httpClient = proxyHttpClient();
String url = "https://e.waimai.meituan.com/gw/phf/v2/order/receive/processed/r/orderAsyncInfos/v3";
Map<String, Object> params = new HashMap<>();
params.put("region_id", valueFromCookie("region_id",cookie));
@ -616,6 +599,39 @@ public class MeituanServiceImpl implements IMeituanService {
return jsonObject;
}
@Override
public String receiveTime(String storeCode,String cookie,String orderNo){
CloseableHttpClient client = proxyHttpClient();
String url = "https://e.waimai.meituan.com/api/logistics/logs";
Map<String, Object> params = new LinkedHashMap<>();
params.put("region_id", valueFromCookie("region_id",cookie));
params.put("region_version",valueFromCookie("region_version",cookie));
params.put("wmOrderViewId", orderNo);
params.put("wmPoiIdFromQuery", storeCode);
params.put("yodaReady", "h5");
params.put("csecplatform", 4);
params.put("csecversion", "2.4.0");
url = appendParams(url, params);
HttpGet request = new HttpGet(url);
request.setHeader("Cookie",cookie);
request.setHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36");
String result = null;
try {
result = EntityUtils.toString(client.execute(request).getEntity());
} catch (Exception e) {
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.parseObject(result);
String code = jsonObject.getString(("code"));
String info = null;
if ("0".equals(code)) {
JSONArray data = jsonObject.getJSONArray("data");
info = data.getJSONObject(0).getString("timeLine");
}
return info;
}
@Override
public String getStoreName(String cookie,String getUrl){
String url = "https://e.waimai.meituan.com/v2/index/homePage";
@ -696,7 +712,14 @@ public class MeituanServiceImpl implements IMeituanService {
List<BusOrderInfo> lsList1 = ls.stream().filter(x -> x.getPrivcyPhone() == null && x.getRecipientPhone() == null && x.getRecipientBindedPhone() == null).collect(Collectors.toList());
List<BusReturnVisitInfo> lss = new ArrayList<>();
for (BusOrderInfo info : lsList) {
BusReturnVisitInfo returnVisitInfo1 = new BusReturnVisitInfo();
returnVisitInfo1.setStoreCode(info.getStoreCode());
returnVisitInfo1.setStoreName(info.getStoreName());
returnVisitInfo1.setPhoneEndNumber(info.getRecipientPhone());
returnVisitInfo1.setPhoneNumber(info.getPrivcyPhone());
lss.add(returnVisitInfo1);
}
for (BusOrderInfo orderInfo : lsList1) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
String regionId = valueFromCookie("region_id", cookie);