authInitRun method
授权自动开始未完成运单 TODO:放在程序启动时
Implementation
void authInitRun({required List<ShippingNoteInfo> localInfoList,SuccessBack? successBack}) {
if(localInfoList.isEmpty) {
taskListener(true, SUCCESS_CODE, "认证授权时未提供平台运单运行数据,无运单处理,已跳过认证", null);
return;
}
authBack(successBack: (code,msg, dataList) {
if (dataList.isEmpty) {
taskListener(true, SUCCESS_CODE, "认证授权成功,没有运行中的运单,即将开始新运单,运单数量:${localInfoList.length}", localInfoList);
startRunTask(shippingNoteInfos: localInfoList, remark: "");
return;
}
//初始化服务端数据
List<ShippingNoteInfo> runInfoList = [];
for(ShippingNoteInfo info in localInfoList){
for (var element in dataList) {
if(info.shippingNoteNumber == element.shippingNoteNumber){
info.runState = RunState.start;
info.interval = element.interval;
runInfoList.add(info);
runMap[info.shippingNoteNumber!] = info;
}
}
}
if(runInfoList.isEmpty){
taskListener(true, SUCCESS_CODE, "认证授权成功,本地运单尚未开始,即将开始新运单,运单数量:${localInfoList.length}", localInfoList);
startRunTask(shippingNoteInfos: localInfoList, remark: "");
return;
}
int interval = runInfoList[0].interval ?? DEFAULT_MILL;
taskListener(true, SUCCESS_CODE, "认证授权成功,运单恢复发送,运单数量:${runInfoList.length},即将在${interval / 1000}秒后发送定位", runInfoList);
taskRunTimer?.cancel();
taskRunTimer = Timer(Duration(milliseconds: interval), () {
_sendRunTask();
});
if(successBack!=null){
successBack(code,msg, runInfoList);
}
});
}