public void Start() { var userIds = _sysUserService.GetAllList().Select(x => x.Id)?.ToList(); _calcIndicatorIds = _monitorIndicatorService.GetAllList().Where(x => x.IsCalc).Select(x => x.Id).ToArray(); userIds.ForEach(u => { Task.Run(() => { // 获取每个用户的所属店铺 var shipInfos = _shopInfoService.GetShipsByUserId(u); // 找到虚拟店铺 虚拟店铺为用户所有实体店铺数据的聚合体 var virtualShip = shipInfos.First(x => x.Plat == (int)ApiPlatform.Local); // 获取虚拟店铺的同步状态 var record = GetSyncRecord(virtualShip); if (record == null || record.Status == 0) { return; } // 排除虚拟店铺 获取实体店铺的id var ids = shipInfos?.Where(x => x.Id != virtualShip.Id).Select(x => x.Id).ToArray(); // 统计报表数据 计算环比 StatisRealMonitorIndicator(virtualShip, ids, record); // 更新同步 UpdateyncRecord(record); }); }); }