Commit 000be1eb by zhiheng.zhang

只有待接单的才显示进度文字

parent 0f15a249
...@@ -925,43 +925,45 @@ public class OrderServiceImpl implements Orderservice { ...@@ -925,43 +925,45 @@ public class OrderServiceImpl implements Orderservice {
Long pickUpTime = 0L; //预计 Long pickUpTime = 0L; //预计
Integer totalSumTime = 0; Integer totalSumTime = 0;
String progress = "0" ; //进度 String progress = "0" ; //进度
try { if(OrderStatus.RECEIPT.getCode() == orderBean.getStatus()) {
// 查询订单的排队人数 try {
QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq(); // 查询订单的排队人数
queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId()); QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq();
queryLineUpOrderReq.setStoreId(orderBean.getShopId()); queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId());
queryLineUpOrderReq.setStartTime(DateUtil.addHours(new Date(orderBean.getGmtCreate()),-24).getTime()); queryLineUpOrderReq.setStoreId(orderBean.getShopId());
queryLineUpOrderReq.setEndTime(orderBean.getGmtCreate()); queryLineUpOrderReq.setStartTime(DateUtil.addHours(new Date(orderBean.getGmtCreate()), -24).getTime());
// 取餐排队人数查询代码去除 queryLineUpOrderReq.setEndTime(orderBean.getGmtCreate());
QueryLineUpResponse response = orderCenterSdkService.queryLineUpOrder(queryLineUpOrderReq); // 取餐排队人数查询代码去除
if (RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) { QueryLineUpResponse response = orderCenterSdkService.queryLineUpOrder(queryLineUpOrderReq);
if (null == response.getOrderCodes()) { if (RESPONSE_SUCCESS_CODE.equals(response.getErrcode())) {
progress = "100"; if (null == response.getOrderCodes()) {
returnWords = ""; progress = "100";
} else { returnWords = "";
List<String> orderCodeList = response.getOrderCodes();
//开启制作时间 1 :是 , 2 :否"
JSONObject jsonObject = JSONObject.parseObject(storeResponseDto.getConfiguration());
StoreResponse.Configuration configuration = jsonObject.toJavaObject(StoreResponse.Configuration.class);
Integer goodsAvgTimeOfMaking = 0 == configuration.getGoodsAvgTimeOfMaking() ? 15 : configuration.getGoodsAvgTimeOfMaking();
returnWords += "前方还有 " + orderCodeList.size() + " 单";
if (1 != configuration.getTurnOnTimeOfMaking()) {
totalSumTime = orderCodeList.size() * Integer.valueOf(configuration.getAutoSelfmentionMakerWorkflowFinishTime()); //分钟
} else { } else {
productSum = orderCodeList.stream().mapToInt(product -> Integer.parseInt(product.split("-")[1])).sum(); List<String> orderCodeList = response.getOrderCodes();
totalSumTime = productSum * goodsAvgTimeOfMaking; //开启制作时间 1 :是 , 2 :否"
returnWords += " / " + productSum + " 件"; JSONObject jsonObject = JSONObject.parseObject(storeResponseDto.getConfiguration());
StoreResponse.Configuration configuration = jsonObject.toJavaObject(StoreResponse.Configuration.class);
Integer goodsAvgTimeOfMaking = 0 == configuration.getGoodsAvgTimeOfMaking() ? 15 : configuration.getGoodsAvgTimeOfMaking();
returnWords += "前方还有 " + orderCodeList.size() + " 单";
if (1 != configuration.getTurnOnTimeOfMaking()) {
totalSumTime = orderCodeList.size() * Integer.valueOf(configuration.getAutoSelfmentionMakerWorkflowFinishTime()); //分钟
} else {
productSum = orderCodeList.stream().mapToInt(product -> Integer.parseInt(product.split("-")[1])).sum();
totalSumTime = productSum * goodsAvgTimeOfMaking;
returnWords += " / " + productSum + " 件";
}
pickUpTime = DateUtil.addMinutes(new Date(orderBean.getGmtAccept()), totalSumTime).getTime();
Date date = new Date(pickUpTime);
returnWords += ",预计 " + date.getHours() + ":" + date.getMinutes() + " 可取餐";
//制餐进度(当前时间-接单时间)/总时长(制餐时长)x100%
BigDecimal progressB = new BigDecimal(DateUtil.diffMinute(new Date(orderBean.getGmtAccept()), new Date())).divide(new BigDecimal(totalSumTime), 2, BigDecimal.ROUND_HALF_UP);
progress = progressB.compareTo(new BigDecimal(1)) == 1 ? "100" : progressB.multiply(new BigDecimal(100)).toString();
} }
pickUpTime = DateUtil.addMinutes(new Date(orderBean.getGmtAccept()),totalSumTime).getTime();
Date date = new Date(pickUpTime);
returnWords += ",预计 " + date.getHours() + ":" + date.getMinutes() + " 可取餐";
//制餐进度(当前时间-接单时间)/总时长(制餐时长)x100%
BigDecimal progressB = new BigDecimal(DateUtil.diffMinute(new Date(orderBean.getGmtAccept()),new Date())).divide(new BigDecimal(totalSumTime),2, BigDecimal.ROUND_HALF_UP);
progress = progressB.compareTo(new BigDecimal(1)) == 1 ? "100" : progressB.multiply(new BigDecimal(100)).toString();
} }
} catch (Exception e) {
log.error("get returnWords error {}", e.getMessage());
} }
}catch (Exception e){
log.error("get returnWords error {}",e.getMessage());
} }
orderBean.setProgress(String.valueOf(progress)); orderBean.setProgress(String.valueOf(progress));
orderBean.setReturnWords(returnWords); orderBean.setReturnWords(returnWords);
......
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