/// <summary> /// 获取某一个语言的页数 /// </summary> /// <param name="cultureID"></param> /// <returns></returns> private static int Select(int cultureID) { IMongoQuery query = Query <MongoDBSpuItemModel> .EQ(item => item.CultureID, cultureID); long recordCount = MongoDBHelper.Count <MongoDBSpuItemModel>(query); int pageCount = TypeParseHelper.StrToInt32(recordCount / PAGE_SIZE); if (recordCount % PAGE_SIZE != 0) { pageCount += 1; } return(pageCount); }
/// <summary> /// 初始化 /// </summary> private void Init() { if (MongoDBHelper.Count <SymbolInfo>() > 0) { this.PreFinishedTime = this.PreStartTime = DateTime.Now; } else { this.PreFinishedTime = this.PreStartTime = new DateTime(1990, 1, 1); string indexSecurityIDAsc = "{SecurityID:1}"; MongoDBHelper.CreateOneIndexAsync <SymbolInfo>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <BOLLResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <DMIResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <KDJResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <L1QuoteInfo>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <MACDResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <MAResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <RSIResult>(indexSecurityIDAsc); MongoDBHelper.CreateOneIndexAsync <WRResult>(indexSecurityIDAsc); string indexSecurityIDAsc_TradingDateAsc = "{SecurityID:1,TradingDate:1}"; MongoDBHelper.CreateOneIndexAsync <DMIHistory>(indexSecurityIDAsc_TradingDateAsc); MongoDBHelper.CreateOneIndexAsync <KDJHistory>(indexSecurityIDAsc_TradingDateAsc); MongoDBHelper.CreateOneIndexAsync <MACDHistory>(indexSecurityIDAsc_TradingDateAsc); string indexPlateIDAsc = "{PlateID:1}"; MongoDBHelper.CreateOneIndexAsync <PlateInfo>(indexPlateIDAsc); MongoDBHelper.CreateOneIndexAsync <PlateSymbolInfo>(indexPlateIDAsc); string indexCodeAsc_SelectTermAsc = "{Code:1,SelectTerm:1}"; MongoDBHelper.CreateOneIndexAsync <IndexDetailDTO>(indexCodeAsc_SelectTermAsc); string indexTypeCodeAsc = "{TypeCode:1}"; MongoDBHelper.CreateOneIndexAsync <IndexTreeDTO>(indexTypeCodeAsc); string indexSecurityIDAsc_TradingDateDesc = "{SecurityID:1,TradingDate:-1}"; List <CreateIndexModel <DataByTime> > lstIndexDataByTime = new List <CreateIndexModel <DataByTime> >(); lstIndexDataByTime.Add(new CreateIndexModel <DataByTime>(indexSecurityIDAsc_TradingDateAsc)); lstIndexDataByTime.Add(new CreateIndexModel <DataByTime>(indexSecurityIDAsc_TradingDateDesc)); MongoDBHelper.CreatManyIndexAsync <DataByTime>(lstIndexDataByTime); string indexSecurityIDAsc_TradingDateNameAsc = "{SecurityID:1,TradingDateName:1}"; string indexIndexCodeAsc_TradingDateNameDesc = "{IndexCode:1,TradingDateName:-1}"; string indexIndexCodeAsc_TradingDateDesc = "{IndexCode:1,TradingDate:-1}"; List <CreateIndexModel <DataByTimeIndexInfo> > lstIndexDataByTimeIndexInfo = new List <CreateIndexModel <DataByTimeIndexInfo> >(); lstIndexDataByTimeIndexInfo.Add(new CreateIndexModel <DataByTimeIndexInfo>(indexSecurityIDAsc_TradingDateNameAsc)); lstIndexDataByTimeIndexInfo.Add(new CreateIndexModel <DataByTimeIndexInfo>(indexIndexCodeAsc_TradingDateNameDesc)); lstIndexDataByTimeIndexInfo.Add(new CreateIndexModel <DataByTimeIndexInfo>(indexIndexCodeAsc_TradingDateDesc)); MongoDBHelper.CreatManyIndexAsync <DataByTimeIndexInfo>(lstIndexDataByTimeIndexInfo); string indexSecurityIDAsc_EndDateNameDesc = "{SecurityID:1,EndDateName:-1}"; string indexSecurityIDAsc_EndDateDesc = "{SecurityID:1,EndDate:-1}"; string indexIndexCodeAsc_EndDateNameDesc = "{IndexCode:1,EndDateName:-1}"; List <CreateIndexModel <FinanceIndexInfo> > lstIndexFinanceIndexInfo = new List <CreateIndexModel <FinanceIndexInfo> >(); lstIndexFinanceIndexInfo.Add(new CreateIndexModel <FinanceIndexInfo>(indexSecurityIDAsc_EndDateNameDesc)); lstIndexFinanceIndexInfo.Add(new CreateIndexModel <FinanceIndexInfo>(indexSecurityIDAsc_EndDateDesc)); lstIndexFinanceIndexInfo.Add(new CreateIndexModel <FinanceIndexInfo>(indexIndexCodeAsc_EndDateNameDesc)); MongoDBHelper.CreatManyIndexAsync <FinanceIndexInfo>(lstIndexFinanceIndexInfo); } timerJob.Enabled = true; }