Commit 000be1eb by zhiheng.zhang

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

parent 0f15a249
......@@ -925,43 +925,45 @@ public class OrderServiceImpl implements Orderservice {
Long pickUpTime = 0L; //预计
Integer totalSumTime = 0;
String progress = "0" ; //进度
try {
// 查询订单的排队人数
QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq();
queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId());
queryLineUpOrderReq.setStoreId(orderBean.getShopId());
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())) {
if (null == response.getOrderCodes()) {
progress = "100";
returnWords = "";
} else {
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()); //分钟
if(OrderStatus.RECEIPT.getCode() == orderBean.getStatus()) {
try {
// 查询订单的排队人数
QueryLineUpOrderReq queryLineUpOrderReq = new QueryLineUpOrderReq();
queryLineUpOrderReq.setPartnerId(orderBean.getCompanyId());
queryLineUpOrderReq.setStoreId(orderBean.getShopId());
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())) {
if (null == response.getOrderCodes()) {
progress = "100";
returnWords = "";
} else {
productSum = orderCodeList.stream().mapToInt(product -> Integer.parseInt(product.split("-")[1])).sum();
totalSumTime = productSum * goodsAvgTimeOfMaking;
returnWords += " / " + productSum + " 件";
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 {
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.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