loadingService(); //加载服务 $this->registerObserver(); //注册监听器 $this->registerProvider(); //注册可选择的服务提供者 $this->appendExtension(); //追加扩展 $this->someTask(); //一些任务 } private function loadingService(){ app()->singleton('AllInventoryService',AllInventoryService::class); app()->singleton('AndroidInventoryService',AndroidInventoryService::class); app()->singleton('AuthorityService',AuthorityService::class); app()->singleton('BatchService',BatchService::class); app()->singleton('BatchUpdateService', BatchUpdateService::class); app()->singleton('CacheService',CacheService::class); app()->singleton('CacheShelfService',CacheShelfService::class); app()->singleton('CheckActiveMenuService',CheckActiveMenuService::class); app()->singleton('CityService',CityService::class); app()->singleton('CommodityBarcodeService',CommodityBarcodeService::class); app()->singleton('CommodityMaterialBoxModelService',CommodityMaterialBoxModelService::class); app()->singleton('CommodityService', CommodityService::class); app()->singleton('ConfigurationService',ConfigurationService::class); app()->singleton('CustomerLogService',CustomerLogService::class); app()->singleton('CustomerLogStatusService',CustomerLogStatusService::class); app()->singleton('CustomerService',CustomerService::class); app()->singleton('DataHandlerService',DataHandlerService::class); app()->singleton('DbOpenService',DbOpenService::class); app()->singleton('DeliveryAppointmentService',DeliveryAppointmentService::class); app()->singleton('DeliveryService',DeliveryService::class); app()->singleton('DeliveryTypeService',DeliveryTypeService::class); app()->singleton('DemandProcessService',DemandProcessService::class); app()->singleton('DemandService',DemandService::class); app()->singleton('DepositoryService',DepositoryService::class); app()->singleton('DischargeTaskService',DischargeTaskService::class); app()->singleton('ErrorPushService',ErrorPushService::class); app()->singleton('FacilitatorService',FacilitatorService::class); app()->singleton('FeatureService',FeatureService::class); app()->singleton('ForeignHaiRoboticsService',ForeignHaiRoboticsService::class); app()->singleton('ForeignZhenCangService',ForeignZhenCangService::class); app()->singleton('GoodScanWeightService',GoodScanWeightService::class); app()->singleton('HandInStorageService',HandInStorageService::class); app()->singleton('HaoChuangWeightService',HaoChuangWeightService::class); app()->singleton('HengLiWeightService',HengLiWeightService::class); app()->singleton('InventoryAccountMissionService', InventoryAccountMissionService::class); app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class); app()->singleton('InventoryAccountService',InventoryAccountService::class); app()->singleton('InventoryCompareService', InventoryCompareService::class); app()->singleton('InventoryDailyLogService', InventoryDailyLogService::class); app()->singleton('JDDeliveryService',JDDeliveryService::class); app()->singleton('LaborApplyService',LaborApplyService::class); app()->singleton('LaborCompanyService',LaborCompanyService::class); app()->singleton('LaborReportsCountingRecordService', LaborReportsCountingRecordService::class); app()->singleton('LogService', LogService::class); app()->singleton('LogisticAliJiSuApiService',LogisticAliJiSuApiService::class); app()->singleton('LogisticALiYunService',LogisticALiYunService::class); app()->singleton('LogisticSFService', LogisticSFService::class); app()->singleton('LogisticService', LogisticService::class); app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class); app()->singleton('LogisticSyncRecordService', LogisticSyncRecordService::class); app()->singleton('LogisticYDService', LogisticYDService::class); app()->singleton('LogisticYTOService', LogisticYTOService::class); app()->singleton('LogisticZopService', LogisticZopService::class); app()->singleton('LogisticZopService', LogisticZopService::class); app()->singleton('LogisticZopService', LogisticZopService::class); app()->singleton('MaterialBoxModelService',MaterialBoxModelService::class); app()->singleton('MaterialBoxService', MaterialBoxService::class); app()->singleton('MenuService',MenuService::class); app()->singleton('NewOrderCountingRecordService',NewOrderCountingRecordService::class); app()->singleton('NotificationService',NotificationService::class); app()->singleton('ObligationService',ObligationService::class); app()->singleton('OracleActAllocationDetailService', OracleActAllocationDetailService::class); app()->singleton('OracleBasCustomerService', OracleBasCustomerService::class); app()->singleton('OracleBasSkuService', OracleBasSkuService::class); app()->singleton('OracleDocAsnDetailService', OracleDocAsnDetailService::class); app()->singleton('OracleDocOrderHeaderService', OracleDOCOrderHeaderService::class); app()->singleton('OracleDocWaveDetailService', OracleDocWaveDetailService::class); app()->singleton('OrderCommodityAssignService', OrderCommodityAssignService::class); app()->singleton('OrderCommodityService', OrderCommodityService::class); app()->singleton('OrderDetailService',OrderDetailService::class); app()->singleton('OrderFreezeService', OrderFreezeService::class); app()->singleton('OrderIssuePerformanceService', OrderIssuePerformanceService::class); app()->singleton('OrderIssueProcessLogService', OrderIssueProcessLogService::class); app()->singleton('OrderIssueRejectedBillService', OrderIssueRejectedBillService::class); app()->singleton('OrderIssueService', OrderIssueService::class); app()->singleton('OrderIssueTypeService',OrderIssueTypeService::class); app()->singleton('OrderIssueWorkLoadService', OrderIssueWorkLoadService::class); app()->singleton('OrderPackageCommoditiesService', OrderPackageCommoditiesService::class); app()->singleton('OrderPackageCommoditySerialNumberService', OrderPackageCommoditySerialNumberService::class); app()->singleton('OrderPackageExceptionTypeCountingRecordService', OrderPackageExceptionTypeCountingRecordService::class); app()->singleton('OrderPackageExpressBillPrintRecordService',OrderPackageExpressBillPrintRecordService::class); app()->singleton('OrderPackageReceivedSyncRecordService', OrderPackageReceivedSyncRecordService::class); app()->singleton('OrderPackageReceivedSyncService', OrderPackageReceivedSyncService::class); app()->singleton('OrderPackageRemarkService',OrderPackageRemarkService::class); app()->singleton('OrderPackageService', OrderPackageService::class); app()->singleton('OrderRejectedBillRelationService',OrderRejectedBillRelationService::class); app()->singleton('OrderService', OrderService::class); app()->singleton('OrderTrackingService', OrderTrackingService::class); app()->singleton('OwnerAreaReportService', OwnerAreaReportService::class); app()->singleton('OwnerBillReportArchiveService',OwnerBillReportArchiveService::class); app()->singleton('OwnerBillReportService', OwnerBillReportService::class); app()->singleton('OwnerDischargeTaskSettlementBillService',OwnerDischargeTaskSettlementBillService::class); app()->singleton('OwnerFeeDetailService', OwnerFeeDetailService::class); app()->singleton('OwnerFeeTotalService',OwnerFeeTotalService::class); app()->singleton('OwnerLogisticFeeDetailService',OwnerLogisticFeeDetailService::class); app()->singleton('OwnerLogisticFeeReportService',OwnerLogisticFeeReportService::class); app()->singleton('OwnerMaterialService', OwnerMaterialService::class); app()->singleton('OwnerMaterialService', OwnerMaterialService::class); app()->singleton('OwnerPriceDirectLogisticService', OwnerPriceDirectLogisticService::class); app()->singleton('OwnerPriceExpressService', OwnerPriceExpressService::class); app()->singleton('OwnerPriceLogisticService', OwnerPriceLogisticService::class); app()->singleton('OwnerPriceOperationItemService', OwnerPriceOperationItemService::class); app()->singleton('OwnerPriceOperationService', OwnerPriceOperationService::class); app()->singleton('OwnerProcessSettlementBillService',OwnerProcessSettlementBillService::class); app()->singleton('OwnerProcurementSettlementBillService',OwnerProcurementSettlementBillService::class); app()->singleton('OwnerReportService', OwnerReportService::class); app()->singleton('OwnerService', OwnerService::class); app()->singleton('OwnerStoragePriceModelService', OwnerStoragePriceModelService::class); app()->singleton('OwnerStoreFeeDetailService',OwnerStoreFeeDetailService::class); app()->singleton('OwnerStoreFeeReportService',OwnerStoreFeeReportService::class); app()->singleton('OwnerStoreOutFeeDetailService',OwnerStoreOutFeeDetailService::class); app()->singleton('OwnerStoreOutFeeReportService',OwnerStoreOutFeeReportService::class); app()->singleton('OwnerSundryFeeDetailService',OwnerSundryFeeDetailService::class); app()->singleton('OwnerWayBillFeeDetailService',OwnerWayBillFeeDetailService::class); app()->singleton('OwnerWaybillSettlementBillService',OwnerWaybillSettlementBillService::class); app()->singleton('PDDDeliveryService',PDDDeliveryService::class); app()->singleton('PackageService', PackageService::class); app()->singleton('PackageStatisticsService', PackageStatisticsService::class); app()->singleton('PrintPartImageService',PrintPartImageService::class); app()->singleton('PrintPartService',PrintPartService::class); app()->singleton('PrintService',PrintService::class); app()->singleton('PrintTemplateService',PrintTemplateService::class); app()->singleton('ProcessMethodService', ProcessMethodService::class); app()->singleton('ProcessService', ProcessService::class); app()->singleton('ProcessStatisticService', ProcessStatisticService::class); app()->singleton('ProcessesContentService', ProcessesContentService::class); app()->singleton('ProcurementService', ProcurementService::class); app()->singleton('ProcurementTotalBillService', ProcurementTotalBillService::class); app()->singleton('ProcurementWeiXinSendMessageService', ProcurementWeiXinSendMessageService::class); app()->singleton('ProvinceService', ProvinceService::class); app()->singleton('RealtimePendingOrdersService', RealtimePendingOrdersService::class); app()->singleton('ReceivingTaskItemService',ReceivingTaskItemService::class); app()->singleton('ReceivingTaskService',ReceivingTaskService::class); app()->singleton('RegionService', RegionService::class); app()->singleton('RejectedBillItemService', RejectedBillItemService::class); app()->singleton('RejectedBillService', RejectedBillService::class); app()->singleton('RejectedBillSyncOrderService',OrderRejectingStatusService::class); app()->singleton('RejectedService', RejectedService::class); app()->singleton('ReplenishmentService',ReplenishmentService::class); app()->singleton('RequirementService',RequirementService::class); app()->singleton('RequirementUserService',RequirementUserService::class); app()->singleton('ReviewService',ReviewService::class); app()->singleton('RoleService',RoleService::class); app()->singleton('SFDeliveryService',SFDeliveryService::class); app()->singleton('SFQHDDeliveryService',SFQHDDeliveryService::class); app()->singleton('SettlementBillsAreaFeeService',SettlementBillsAreaFeeService::class); app()->singleton('SettlementIndemnityFeeService',SettlementIndemnityFeeService::class); app()->singleton('ShopService', ShopService::class); app()->singleton('StationCacheShelfGridService', StationCacheShelfGridService::class); app()->singleton('StationRuleBatchService', StationRuleBatchService::class); app()->singleton('StationService', StationService::class); app()->singleton('StationTaskBatchService', StationTaskBatchService::class); app()->singleton('StationTaskBatchTypeService', StationTaskBatchTypeService::class); app()->singleton('StationTaskChildService', StationTaskChildService::class); app()->singleton('StationTaskCommodityService', StationTaskCommodityService::class); app()->singleton('StationTaskMaterialBoxService', StationTaskMaterialBoxService::class); app()->singleton('StationTaskService', StationTaskService::class); app()->singleton('StationTaskTypeService', StationTaskTypeService::class); app()->singleton('StationTypeBinMonitorService', StationTypeBinMonitorService::class); app()->singleton('StationTypeService', StationTypeService::class); app()->singleton('StorageService',StorageService::class); app()->singleton('StoreCheckingReceiveItemService', StoreCheckingReceiveItemService::class); app()->singleton('StoreCheckingReceiveService', StoreCheckingReceiveService::class); app()->singleton('StoreItemService', StoreItemService::class); app()->singleton('StoreService', StoreService::class); app()->singleton('SupplierService', SupplierService::class); app()->singleton('SyriusTaskService',SyriusTaskService::class); app()->singleton('TBDeliveryService',TBDeliveryService::class); app()->singleton('TerminalPrinterLogisticService',TerminalPrinterLogisticService::class); app()->singleton('TerminalPrinterService',TerminalPrinterService::class); app()->singleton('TerminalService',TerminalService::class); app()->singleton('UnitService', UnitService::class); app()->singleton('UserOwnerGroupService', UserOwnerGroupService::class); app()->singleton('UserService', UserService::class); app()->singleton('UserWorkgroupService', UserWorkgroupService::class); app()->singleton('WarehouseService', WarehouseService::class); app()->singleton('WaybillFinancialService', WaybillFinancialService::class); app()->singleton('WaybillService', WaybillService::class); app()->singleton('WeighExceptedService', WeighExceptedService::class); app()->singleton('WorkOrderCancelInterceptService',WorkOrderCancelInterceptService::class); app()->singleton('WorkOrderCommoditiesService',WorkOrderCommoditiesService::class); app()->singleton('WorkOrderDamageService',WorkOrderDamageService::class); app()->singleton('WorkOrderDetailService',WorkOrderDetailService::class); app()->singleton('WorkOrderExpressAbnormalService',WorkOrderExpressAbnormalService::class); app()->singleton('WorkOrderImageService',WorkOrderImageService::class); app()->singleton('WorkOrderInformationChangeService',WorkOrderInformationChangeService::class); app()->singleton('WorkOrderInterceptService',WorkOrderInterceptService::class); app()->singleton('WorkOrderLogService',WorkOrderLogService::class); app()->singleton('WorkOrderLossService',WorkOrderLossService::class); app()->singleton('WorkOrderMistakeService',WorkOrderMistakeService::class); app()->singleton('WorkOrderProcessLogService',WorkOrderProcessLogService::class); app()->singleton('WorkOrderService',WorkOrderService::class); app()->singleton('WorkOrderTypeService',WorkOrderTypeService::class); app()->singleton('LaborCompanyDispatchDetailService',LaborCompanyDispatchDetailService::class); } private function registerObserver() { Owner::observe(OwnerObserver::class); UserWorkgroup::observe(UserWorkGroupObserver::class); //Menu::observe(MenuObserver::class); //Authority::observe(AuthorityObserver::class); } private function registerProvider() { if(config('app.env')!='production'){ $this->app->register(\Barryvdh\Debugbar\ServiceProvider::class); $this->app->register(TinkerServiceProvider::class); } } private function appendExtension() { Schema::defaultStringLength(191); //扩展身份证验证规则 Validator::extend('identity_cards', function($attribute, $value, $parameters) { return preg_match('/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/', $value); }); View::share('pageUuid',Uuid::uuid4()); \Illuminate\Database\Query\Builder::macro('sql', function () { $bindings = $this->getBindings(); $sql = str_replace('?',"'%s'",$this->toSql()); return vsprintf($sql, $bindings); }); Builder::macro('sql', function(){ return ($this->getQuery()->sql()); }); } private function someTask() { Queue::failing(function (JobFailed $event) { (new Controller())->log(__METHOD__, 'EventError_', json_encode($event)); $payload = $event->job->payload(); $displayName = $payload['displayName']; //快递信息同步失败计数 /** @var $logisticSyncRecordService LogisticSyncRecordService*/ $logisticSyncRecordService = app("LogisticSyncRecordService"); if ($logisticSyncRecordService->isLogisticSyncJob($displayName)) { $logisticSyncRecordService->logisticSyncRecord($displayName, 'failed_count'); } }); //任务成功后的回调 Queue::after(function (JobProcessed $event) { //快递信息同步成功计数 $payload = $event->job->payload(); $displayName = $payload['displayName']; /** @var $logisticSyncRecordService LogisticSyncRecordService*/ $logisticSyncRecordService = app("LogisticSyncRecordService"); if ($logisticSyncRecordService->isLogisticSyncJob($displayName)) { $logisticSyncRecordService->logisticSyncRecord($displayName, 'succeed_count'); } }); } }