Commit 93202d0a by zhiheng.zhang

益禾堂添加排队号

parent 5b045e7b
......@@ -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.QueryAfterSalesOrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.QueryLineUpOrderReq;
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.response.order.*;
......@@ -351,4 +352,9 @@ public interface OrderCenterSdkService {
*/
QueryPartnerRefundCountResponse queryRefundCount(QueryStoreRefundCountRequest request);
/**
* 获取历史订单
*/
BaseOrderResponse queryHistoryOrder(QueryLineUpOrderReq queryLineUpOrderReq);
}
......@@ -1958,4 +1958,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
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;
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.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
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.*;
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.BaseDownLoadResponse;
......@@ -928,70 +925,39 @@ public class OrderServiceImpl implements Orderservice {
Integer totalSumTime = 0;
String progress = "" ; //进度
// 查询订单的排队人数
BaseQueryOrderRequest var1 = new BaseQueryOrderRequest();
var1.setOrderId(orderBean.getOid());
var1.setTrackingNo(LogTreadLocal.getTrackingNo());
QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq();
queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId());
queryLineUpOrderReq.setStoreId(orderBean.getShopId());
queryLineUpOrderReq.setStartTime(orderBean.getGmtCreate());
queryLineUpOrderReq.setEndTime(orderBean.getGmtCreate());
// 取餐排队人数查询代码去除
BaseOrderResponse baseOrderResponse = orderCenterSdkService.queryOrderQueueIndex(var1);
QueryOrderQueueIndexResponse response = new QueryOrderQueueIndexResponse();
response.setErrcode(baseOrderResponse.getErrcode());
response.setErrmsg(baseOrderResponse.getErrmsg());
response.setData(baseOrderResponse.getData() == null ? 0 : Integer.parseInt(baseOrderResponse.getData()));
BaseOrderResponse response = orderCenterSdkService.queryHistoryOrder(queryLineUpOrderReq);
if (RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) {
queueIndex = response.getData() == null ? 0 : response.getData();
}
returnWords +="前方还有 " + queueIndex + " 单" ;
if(StringUtils.isEmpty(response.getData())){
queueIndex = 0;
returnWords +="" ;
}else{
List<String> orderCodeList = JSONObject.parseArray(response.getData(),String.class);
//开启制作时间 1 :是 , 2 :否"
JSONObject configuration = JSONObject.parseObject(storeResponseDto.getConfiguration());
Integer goodsAvgTimeOfMaking = 0 == configuration.getInteger("goodsAvgTimeOfMaking") ? 15 : configuration.getInteger("goodsAvgTimeOfMaking");
if(1 == configuration.getInteger("turnOnTimeOfMaking")) {
totalSumTime = queueIndex * goodsAvgTimeOfMaking * 60;
JSONObject jsonObject = JSONObject.parseObject(storeResponseDto.getConfiguration());
StoreResponse.Configuration configuration = jsonObject.toJavaObject(StoreResponse.Configuration.class);
Integer goodsAvgTimeOfMaking = 0 == configuration.getGoodsAvgTimeOfMaking()? 15 : configuration.getGoodsAvgTimeOfMaking();
if(1 == configuration.getTurnOnTimeOfMaking()) {
totalSumTime = orderCodeList.size() * goodsAvgTimeOfMaking * 60;
}else{
//查询当前门店下待接单的所有订单,计算当前订单的之前的件数
OrderConditionsReq es = new OrderConditionsReq();
es.setPartnerId(queryOrderVo.getPartnerId());
es.setStoreIds(Arrays.asList(orderBean.getShopId()));
es.setStartAcceptTimestamp(DateTimeUtil.parseDate(startDateStr,DateTimeUtil.YYYY_MM_DD_HH_MM_SS).getTime()/1000);
es.setEndAcceptTimestamp(orderBean.getGmtAccept());
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);
es.setOrderStatus(OrderStatus.RECEIPT.getCode());
BaseDownLoadResponse<List<OrderInfoReqs>> acceptResponse = orderDownLoadSdkService.queryOrderByConditions(es, LogThreadLocal.getTrackingNo());
QueryOrdersResponse queryOrderResponse2 = orderAdapter.conventEs2queryOrderResponse(acceptResponse);
if (queryOrderResponse != null && RESPONSE_SUCCESS_CODE.equals(queryOrderResponse2.getErrcode()) && null != queryOrderResponse2.getData() && null != queryOrderResponse2.getData().getOrders() && queryOrderResponse2.getData().getOrders().size()>0) {
List<QueryOrdersResponse.DataBean.OrderBean> orderBeanList = queryOrderResponse2.getData().getOrders();
productSum = Integer.valueOf(orderBeanList.stream().mapToInt(product -> product.getProductList().size()).sum());
}
totalSumTime = queryOrderResponse2.getData().getCount() * productSum * goodsAvgTimeOfMaking * 60;
productSum = orderCodeList.stream().mapToInt(product -> Integer.parseInt(product.split("-")[1])).sum();
totalSumTime = 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());
}
Date date = new Date(pickUpTime);
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);
}
progress = String.valueOf((new Date().getTime() - orderBean.getGmtAccept()) / goodsAvgTimeOfMaking * productSum * 60 *100);
orderBean.setProgress(progress);
orderBean.setReturnWords(returnWords);
}
}
}
});
}
......
......@@ -293,4 +293,16 @@ public class DateTimeUtil {
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 {
*/
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 {
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