自己根据工作中遇到的情况进行总结的,对其他人应该无用
package com.wanshun.drivingservice.task;
import com.wanshun.common.code.anwser.AnwserCode;
import com.wanshun.common.database.redis.RedisCache;
import com.wanshun.common.utils.JsonUtil;
import com.wanshun.common.utils.StringUtil;
import com.wanshun.im.client.clientao.ClientMessagePacketAo;
import com.wanshun.drivingservice.ao.VnInfoAo;
import com.wanshun.drivingservice.async.OrderPersistence;
import com.wanshun.drivingservice.constants.MqttUrlConstants;
import com.wanshun.drivingservice.constants.OrderStatus;
import com.wanshun.drivingservice.rpcao.driver.RpcDrivingDriverInfoAo;
import com.wanshun.drivingservice.rpcao.order.RpcCostEstimateAo;
import com.wanshun.drivingservice.rpcao.order.RpcDriverPositionAo;
import com.wanshun.drivingservice.rpcao.order.RpcOrderTraceAo;
import com.wanshun.drivingservice.rpcao.order.RpcPollingOrderInfoAo;
import com.wanshun.drivingservice.rpcvo.driver.RpcDrivingDriverInfoVo;
import com.wanshun.drivingservice.rpcvo.order.*;
import com.wanshun.drivingservice.rpcvo.user.RpcCarOwnerInfoVo;
import com.wanshun.drivingservice.service.DrivingDriverService;
import com.wanshun.drivingservice.service.OrderService;
import com.wanshun.drivingservice.spingboot.SpringBeanLoader;
import com.wanshun.drivingservice.springboot.TimeConfig;
import com.wanshun.drivingservice.utils.DrivingDateUtil;
import com.wanshun.drivingservice.vo.PollingFailedData;
import com.wanshun.drivingservice.wrap.*;
import com.wanshun.im.client.clientapi.IMPushMessageService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* 车主下单后, 轮询拉取订单信息
* E代驾接口地址
* http://open.d.api.edaijia.cn/doc/
*/
public class PollingOrderTimerTask {
private static Logger logger = LoggerFactory.getLogger(PollingOrderTimerTask.class);
private OrderService orderService;
private RedisCache redisCache;
private OrderPersistence orderPersistence;
//private VirtualNumInfoService virtualNumInfoService;
private IMPushMessageService imPushMessageService;
private RpcPollingOrderInfoAo pollingOrderInfoAo;
private RpcCarOwnerInfoVo carOwnerInfo;
private Timer taskTimer;
private long period;
private int mapType;
private DrivingDriverService drivingDriverService;
private String dutyCancelTime;
private boolean isPushData;
private RpcPollingOrderInfoDataVo pollingOrderInfo;
public PollingOrderTimerTask(RpcPollingOrderInfoAo pollingOrderInfoAo, int mapType, long period) {
this.pollingOrderInfoAo = pollingOrderInfoAo;
this.orderService = SpringBeanLoader.getSpringBean(OrderService.class);
this.redisCache = SpringBeanLoader.getSpringBean(RedisCache.class);
this.orderPersistence = SpringBeanLoader.getS