Commit 93202d0a by zhiheng.zhang

益禾堂添加排队号

parent 5b045e7b
...@@ -2,6 +2,7 @@ package com.freemud.sdk.api.assortment.order.service; ...@@ -2,6 +2,7 @@ package com.freemud.sdk.api.assortment.order.service;
import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq; import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq;
import com.freemud.application.sdk.api.ordercenter.request.QueryAfterSalesOrderConditionsReq; import com.freemud.application.sdk.api.ordercenter.request.QueryAfterSalesOrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.QueryLineUpOrderReq;
import com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp; import com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*; import com.freemud.sdk.api.assortment.order.response.order.*;
...@@ -351,4 +352,9 @@ public interface OrderCenterSdkService { ...@@ -351,4 +352,9 @@ public interface OrderCenterSdkService {
*/ */
QueryPartnerRefundCountResponse queryRefundCount(QueryStoreRefundCountRequest request); QueryPartnerRefundCountResponse queryRefundCount(QueryStoreRefundCountRequest request);
/**
* 获取历史订单
*/
BaseOrderResponse queryHistoryOrder(QueryLineUpOrderReq queryLineUpOrderReq);
} }
...@@ -1958,4 +1958,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1958,4 +1958,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
} }
return null; return null;
} }
@Override
public BaseOrderResponse queryHistoryOrder(QueryLineUpOrderReq queryLineUpOrderReq) {
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<List<String>> response = orderSdkService.queryHistoryOrder(queryLineUpOrderReq, LogThreadLocal.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
} }
...@@ -91,10 +91,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.PayItem; ...@@ -91,10 +91,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType; import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq; import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq;
import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp; import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
...@@ -928,69 +925,38 @@ public class OrderServiceImpl implements Orderservice { ...@@ -928,69 +925,38 @@ public class OrderServiceImpl implements Orderservice {
Integer totalSumTime = 0; Integer totalSumTime = 0;
String progress = "" ; //进度 String progress = "" ; //进度
// 查询订单的排队人数 // 查询订单的排队人数
BaseQueryOrderRequest var1 = new BaseQueryOrderRequest(); QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq();
var1.setOrderId(orderBean.getOid()); queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId());
var1.setTrackingNo(LogTreadLocal.getTrackingNo()); queryLineUpOrderReq.setStoreId(orderBean.getShopId());
queryLineUpOrderReq.setStartTime(orderBean.getGmtCreate());
queryLineUpOrderReq.setEndTime(orderBean.getGmtCreate());
// 取餐排队人数查询代码去除 // 取餐排队人数查询代码去除
BaseOrderResponse baseOrderResponse = orderCenterSdkService.queryOrderQueueIndex(var1); BaseOrderResponse response = orderCenterSdkService.queryHistoryOrder(queryLineUpOrderReq);
QueryOrderQueueIndexResponse response = new QueryOrderQueueIndexResponse();
response.setErrcode(baseOrderResponse.getErrcode());
response.setErrmsg(baseOrderResponse.getErrmsg());
response.setData(baseOrderResponse.getData() == null ? 0 : Integer.parseInt(baseOrderResponse.getData()));
if (RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) { if (RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) {
queueIndex = response.getData() == null ? 0 : response.getData(); if(StringUtils.isEmpty(response.getData())){
} queueIndex = 0;
returnWords +="前方还有 " + queueIndex + " 单" ; returnWords +="" ;
//开启制作时间 1 :是 , 2 :否" }else{
JSONObject configuration = JSONObject.parseObject(storeResponseDto.getConfiguration()); List<String> orderCodeList = JSONObject.parseArray(response.getData(),String.class);
Integer goodsAvgTimeOfMaking = 0 == configuration.getInteger("goodsAvgTimeOfMaking") ? 15 : configuration.getInteger("goodsAvgTimeOfMaking"); //开启制作时间 1 :是 , 2 :否"
if(1 == configuration.getInteger("turnOnTimeOfMaking")) { JSONObject jsonObject = JSONObject.parseObject(storeResponseDto.getConfiguration());
totalSumTime = queueIndex * goodsAvgTimeOfMaking * 60; StoreResponse.Configuration configuration = jsonObject.toJavaObject(StoreResponse.Configuration.class);
}else{ Integer goodsAvgTimeOfMaking = 0 == configuration.getGoodsAvgTimeOfMaking()? 15 : configuration.getGoodsAvgTimeOfMaking();
//查询当前门店下待接单的所有订单,计算当前订单的之前的件数 if(1 == configuration.getTurnOnTimeOfMaking()) {
OrderConditionsReq es = new OrderConditionsReq(); totalSumTime = orderCodeList.size() * goodsAvgTimeOfMaking * 60;
es.setPartnerId(queryOrderVo.getPartnerId()); }else{
es.setStoreIds(Arrays.asList(orderBean.getShopId())); productSum = orderCodeList.stream().mapToInt(product -> Integer.parseInt(product.split("-")[1])).sum();
es.setStartAcceptTimestamp(DateTimeUtil.parseDate(startDateStr,DateTimeUtil.YYYY_MM_DD_HH_MM_SS).getTime()/1000); totalSumTime = productSum * goodsAvgTimeOfMaking * 60;
es.setEndAcceptTimestamp(orderBean.getGmtAccept()); returnWords += " / " + productSum + " 件";
es.setStartTimestamp(DateTimeUtil.parseDate(startDateStr,DateTimeUtil.YYYY_MM_DD_HH_MM_SS).getTime()/1000); }
es.setEndTimestamp(DateTimeUtil.parseDate(endDateStr,DateTimeUtil.YYYY_MM_DD_HH_MM_SS).getTime()/1000); pickUpTime = orderBean.getGmtAccept() + Long.valueOf(totalSumTime);
es.setOrderStatus(OrderStatus.RECEIPT.getCode()); Date date = new Date(pickUpTime);
BaseDownLoadResponse<List<OrderInfoReqs>> acceptResponse = orderDownLoadSdkService.queryOrderByConditions(es, LogThreadLocal.getTrackingNo()); returnWords += ",预计 " + date.getHours()+":" +date.getMinutes() + " 可取餐";
QueryOrdersResponse queryOrderResponse2 = orderAdapter.conventEs2queryOrderResponse(acceptResponse); progress = String.valueOf((new Date().getTime() - orderBean.getGmtAccept()) / goodsAvgTimeOfMaking * productSum * 60 *100);
if (queryOrderResponse != null && RESPONSE_SUCCESS_CODE.equals(queryOrderResponse2.getErrcode()) && null != queryOrderResponse2.getData() && null != queryOrderResponse2.getData().getOrders() && queryOrderResponse2.getData().getOrders().size()>0) { orderBean.setProgress(progress);
List<QueryOrdersResponse.DataBean.OrderBean> orderBeanList = queryOrderResponse2.getData().getOrders(); orderBean.setReturnWords(returnWords);
productSum = Integer.valueOf(orderBeanList.stream().mapToInt(product -> product.getProductList().size()).sum());
} }
totalSumTime = queryOrderResponse2.getData().getCount() * productSum * goodsAvgTimeOfMaking * 60;
returnWords += " / " + productSum + " 件";
}
pickUpTime = orderBean.getGmtAccept() + Long.valueOf(totalSumTime);
SimpleDateFormat sdf = new SimpleDateFormat(DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);//要转换的时间格式
Date date = null;
try {
date = sdf.parse(sdf.format(pickUpTime));
} catch (ParseException e) {
date = new Date();
log.error("date error {}" ,e.getMessage());
}
returnWords += ",预计 " + date.getHours()+":" +date.getMinutes() + " 可取餐";
progress = String.valueOf((new Date().getTime() - orderBean.getGmtAccept()) / goodsAvgTimeOfMaking * 60 *100);
// 查询订单的操作状态
BaseQueryOrderRequest var2 = new BaseQueryOrderRequest();
var2.setOrderId(orderBean.getOid());
var2.setTrackingNo(LogTreadLocal.getTrackingNo());
OrderStatusTrackingInfoResponse orderStatusTrackingInfoResponse = orderCenterSdkService.getOrderStatusTrackingInfoByOid(var2);
String string = JSONObject.toJSONString(orderStatusTrackingInfoResponse);
JSONObject jsonObject = JSONObject.parseObject(string);
OrderStatusTrackingInfoDto orderStatusTrackingInfoByOid = jsonObject.toJavaObject(OrderStatusTrackingInfoDto.class);
if (RESPONSE_SUCCESS_CODE.equals(orderStatusTrackingInfoByOid.getErrcode())) {
orderStatusTracking(orderBean, orderStatusTrackingInfoByOid);
} }
orderBean.setProgress(progress);
orderBean.setReturnWords(returnWords);
} }
}); });
} }
......
...@@ -293,4 +293,16 @@ public class DateTimeUtil { ...@@ -293,4 +293,16 @@ public class DateTimeUtil {
return res; return res;
} }
/**
* 时间戳转换成时间
* @param l 传入的时间戳
* @return 返回格式化时间
*/
public static String timeStampToDate(Long l){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(l);
String res = simpleDateFormat.format(date);
return res;
}
} }
...@@ -235,4 +235,9 @@ public class InterfaceAddressConstant { ...@@ -235,4 +235,9 @@ public class InterfaceAddressConstant {
*/ */
public static final String UPDATE_BUYONEGIVEONE_SEND_COUPON = "order/v2/updateBuyOneGiveOneSendCoupon"; public static final String UPDATE_BUYONEGIVEONE_SEND_COUPON = "order/v2/updateBuyOneGiveOneSendCoupon";
/**
* 查询当前门店24小时内的订单
*/
public static final String QUERY_HISTORY_ORDER = "order/v2/queryHistoryOrder";
} }
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
@Data
public class QueryLineUpOrderReq {
/**
* 商户号
*/
private String partnerId;
/**
* 门店编号
*/
private String storeId;
/**
* 时间开始
*/
private Long startTime;
/**
* 时间开始
*/
private Long endTime;
}
...@@ -900,4 +900,14 @@ public class OrderSdkService { ...@@ -900,4 +900,14 @@ public class OrderSdkService {
return responseHandle(responseDTO); return responseHandle(responseDTO);
} }
/**
* 查询历史订单
*/
public BaseResponse<List<String>> queryHistoryOrder(QueryLineUpOrderReq queryLineUpOrderReq, String trackingNo) {
OrderBaseResp<List<String>> responseDTO = RequestThirdPartyUtils.httpGetReqComplex(restTemplate, QUERY_HISTORY_ORDER,
createBaseRequest(queryLineUpOrderReq, trackingNo), new ParameterizedTypeReference<OrderBaseResp<List<String>>>() {
});
return responseHandle(responseDTO);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment