DTOpenCodeServices.cs 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using Interface;
  8. using Models;
  9. using Common;
  10. using Models.Entity.LotteryNumDB;
  11. namespace Services
  12. {
  13. /// <summary>
  14. /// 地方彩相关数据服务
  15. /// </summary>
  16. public class DTOpenCodeServices : BaseServices, IDTOpenCode
  17. {
  18. /// <summary>
  19. /// 获取最新一条记录
  20. /// 开奖1个球号的地方彩
  21. /// </summary>
  22. /// <param name="lottery">彩种名称</param>
  23. /// <returns></returns>
  24. public OpenCode1DTModel GetOpenCode1DTLastItem(SCCLottery lottery)
  25. {
  26. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  27. var sqlString = string.Format(LastItemSql, TableName);
  28. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  29. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  30. {
  31. var result = LoadData<OpenCode1DTModel>(ds.Tables[0].Rows[0]);
  32. return result;
  33. }
  34. return null;
  35. }
  36. public OpenCode2DTModel GetOpenCode2DTLastItem(SCCLottery lottery)
  37. {
  38. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  39. var sqlString = string.Format(LastItemSql, TableName);
  40. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  41. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  42. {
  43. var result = LoadData<OpenCode2DTModel>(ds.Tables[0].Rows[0]);
  44. return result;
  45. }
  46. return null;
  47. }
  48. public OpenCode3DTModel GetOpenCode3DTLastItem(SCCLottery lottery)
  49. {
  50. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  51. var sqlString = string.Format(LastItemSql, TableName);
  52. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  53. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  54. {
  55. var result = LoadData<OpenCode3DTModel>(ds.Tables[0].Rows[0]);
  56. return result;
  57. }
  58. return null;
  59. }
  60. public OpenCode4DTModel GetOpenCode4DTLastItem(SCCLottery lottery)
  61. {
  62. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  63. var sqlString = string.Format(LastItemSql, TableName);
  64. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  65. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  66. {
  67. var result = LoadData<OpenCode4DTModel>(ds.Tables[0].Rows[0]);
  68. return result;
  69. }
  70. return null;
  71. }
  72. /// <summary>
  73. /// 获取最新一条记录
  74. /// 开奖5个球号的地方彩
  75. /// </summary>
  76. /// <param name="lottery">彩种名称</param>
  77. /// <returns></returns>
  78. public OpenCode5DTModel GetOpenCode5DTLastItem(SCCLottery lottery)
  79. {
  80. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  81. var sqlString = string.Format(LastItemSql, TableName);
  82. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  83. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  84. {
  85. var result = LoadData<OpenCode5DTModel>(ds.Tables[0].Rows[0]);
  86. return result;
  87. }
  88. return null;
  89. }
  90. /// <summary>
  91. /// 获取开奖列表
  92. /// 当前年 去年的不算
  93. /// </summary>
  94. /// <param name="lottery">彩种名称</param>
  95. /// <returns></returns>
  96. ///
  97. ///
  98. public List<T> GetListS<T>(SCCLottery lottery)
  99. {
  100. List<string> result = new List<string>();
  101. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  102. var sqlString = string.Format(QueryListSQL, TableName, CommonHelper.SCCSysDateTime.ToString("yyyy"));
  103. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  104. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  105. {
  106. var data = LoadDataList<T>(ds.Tables[0]);
  107. return data;
  108. }
  109. else
  110. {
  111. return new List<T>();
  112. }
  113. }
  114. /// <summary>
  115. /// 获取最新一条记录
  116. /// 开奖7个球号的地方彩
  117. /// </summary>
  118. /// <param name="lottery">彩种名称</param>
  119. /// <returns></returns>
  120. public OpenCode7DTModel GetOpenCode7DTLastItem(SCCLottery lottery)
  121. {
  122. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  123. var sqlString = string.Format(LastItemSql, TableName);
  124. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  125. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  126. {
  127. var result = LoadData<OpenCode7DTModel>(ds.Tables[0].Rows[0]);
  128. return result;
  129. }
  130. return null;
  131. }
  132. /// <summary>
  133. /// 获取最新一条记录
  134. /// 开奖8个球号的地方彩
  135. /// </summary>
  136. /// <param name="lottery">彩种名称</param>
  137. /// <returns></returns>
  138. public OpenCode8DTModel GetOpenCode8DTLastItem(SCCLottery lottery)
  139. {
  140. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  141. var sqlString = string.Format(LastItemSql, TableName);
  142. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString);
  143. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  144. {
  145. var result = LoadData<OpenCode8DTModel>(ds.Tables[0].Rows[0]);
  146. return result;
  147. }
  148. return null;
  149. }
  150. /// <summary>
  151. /// 获取今年的失败期号列表
  152. /// 第1期与数据库最新一期之间的失败期号列表
  153. /// 期号格式形如YYQQQ
  154. /// </summary>
  155. /// <param name="lottery">彩种名称</param>
  156. /// <returns></returns>
  157. public List<string> GetFailedYYQQQList(SCCLottery lottery)
  158. {
  159. List<string> result = new List<string>();
  160. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  161. var sqlString = string.Format(FailedQiHaoListSql, TableName);
  162. var param = new SqlParameter[]{
  163. new SqlParameter("@Year",CommonHelper.SCCSysDateTime.Year)
  164. };
  165. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString, param);
  166. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  167. {
  168. List<string> termList = new List<string>();
  169. foreach (DataRow dr in ds.Tables[0].Rows)
  170. {
  171. termList.Add(dr["Term"].ToString());
  172. }
  173. var topQiHao = Convert.ToInt32(termList[0].Substring(2));
  174. var qiHao = string.Empty;
  175. for (var i = 1; i <= topQiHao; i++)
  176. {
  177. qiHao = CommonHelper.GenerateQiHaoYYQQQ(i).ToString();
  178. if (!termList.Contains(qiHao))
  179. result.Add(qiHao);
  180. }
  181. }
  182. return result;
  183. }
  184. /// <summary>
  185. /// 获取今年的失败期号列表
  186. /// 第1期与数据库最新一期之间的失败期号列表
  187. /// 期号格式形如YYYYQQQ
  188. /// </summary>
  189. /// <param name="lottery">彩种名称</param>
  190. /// <returns></returns>
  191. public List<string> GetFailedYYYYQQQList(SCCLottery lottery)
  192. {
  193. List<string> result = new List<string>();
  194. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  195. var sqlString = string.Format(FailedQiHaoListSql, TableName);
  196. var param = new SqlParameter[]{
  197. new SqlParameter("@Year",CommonHelper.SCCSysDateTime.Year)
  198. };
  199. var ds = SqlHelper.ExecuteDataset(CommandType.Text, sqlString, param);
  200. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  201. {
  202. List<string> termList = new List<string>();
  203. foreach (DataRow dr in ds.Tables[0].Rows)
  204. {
  205. termList.Add(dr["Term"].ToString());
  206. }
  207. var topQiHao = Convert.ToInt32(termList[0].Substring(4));
  208. var qiHao = string.Empty;
  209. for (var i = 1; i <= topQiHao; i++)
  210. {
  211. qiHao = CommonHelper.GenerateQiHaoYYYYQQQ(i).ToString();
  212. if (!termList.Contains(qiHao))
  213. result.Add(qiHao);
  214. }
  215. }
  216. return result;
  217. }
  218. /// <summary>
  219. /// 新增彩种开奖数据
  220. /// 开奖1个球号的地方彩
  221. /// </summary>
  222. /// <param name="lottery">彩种名称</param>
  223. /// <param name="model">开奖数据模型</param>
  224. /// <returns></returns>
  225. public bool AddDTOpen1Code(SCCLottery lottery, OpenCode1DTModel model)
  226. {
  227. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  228. var sqlString = string.Format(AddOpenCode1DTItemSql, TableName);
  229. var param = new SqlParameter[]{
  230. new SqlParameter("@Term",model.Term),
  231. new SqlParameter("@OpenCode1",model.OpenCode1),
  232. new SqlParameter("@OpenTime",model.OpenTime),
  233. new SqlParameter("@Spare",model.Spare)
  234. };
  235. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  236. return result > 0;
  237. }
  238. /// <summary>
  239. /// 新增彩种开奖数据
  240. /// 开奖5个球号的地方彩
  241. /// </summary>
  242. /// <param name="lottery">彩种名称</param>
  243. /// <param name="model">开奖数据模型</param>
  244. /// <returns></returns>
  245. public bool AddDTOpen5Code(SCCLottery lottery, OpenCode5DTModel model)
  246. {
  247. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  248. var sqlString = string.Format(AddOpenCode5DTItemSql, TableName);
  249. var param = new SqlParameter[]{
  250. new SqlParameter("@Term",model.Term),
  251. new SqlParameter("@OpenCode1",model.OpenCode1),
  252. new SqlParameter("@OpenCode2",model.OpenCode2),
  253. new SqlParameter("@OpenCode3",model.OpenCode3),
  254. new SqlParameter("@OpenCode4",model.OpenCode4),
  255. new SqlParameter("@OpenCode5",model.OpenCode5),
  256. new SqlParameter("@OpenTime",model.OpenTime),
  257. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-","").ToLower()),
  258. new SqlParameter("@Spare",model.Spare)
  259. };
  260. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  261. return result > 0;
  262. }
  263. public bool AddDTOpen4Code(SCCLottery lottery, OpenCode4DTModel model)
  264. {
  265. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  266. var sqlString = string.Format(AddOpenCode4DTItemSql, TableName);
  267. var param = new SqlParameter[]{
  268. new SqlParameter("@Term",model.Term),
  269. new SqlParameter("@OpenCode1",model.OpenCode1),
  270. new SqlParameter("@OpenCode2",model.OpenCode2),
  271. new SqlParameter("@OpenCode3",model.OpenCode3),
  272. new SqlParameter("@OpenCode4",model.OpenCode4),
  273. new SqlParameter("@OpenTime",model.OpenTime),
  274. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-","").ToLower()),
  275. new SqlParameter("@Spare",model.Spare)
  276. };
  277. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  278. return result > 0;
  279. }
  280. /// <summary>
  281. /// 新增彩种开奖数据
  282. /// 开奖7个球号的地方彩
  283. /// </summary>
  284. /// <param name="lottery">彩种名称</param>
  285. /// <param name="model">开奖数据模型</param>
  286. /// <returns></returns>
  287. public bool AddDTOpen7Code(SCCLottery lottery, OpenCode7DTModel model)
  288. {
  289. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  290. var sqlString = string.Format(AddOpenCode7DTItemSql, TableName);
  291. var param = new SqlParameter[]{
  292. new SqlParameter("@Term",model.Term),
  293. new SqlParameter("@OpenCode1",model.OpenCode1),
  294. new SqlParameter("@OpenCode2",model.OpenCode2),
  295. new SqlParameter("@OpenCode3",model.OpenCode3),
  296. new SqlParameter("@OpenCode4",model.OpenCode4),
  297. new SqlParameter("@OpenCode5",model.OpenCode5),
  298. new SqlParameter("@OpenCode6",model.OpenCode6),
  299. new SqlParameter("@OpenCode7",model.OpenCode7),
  300. new SqlParameter("@OpenTime",model.OpenTime),
  301. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-","").ToLower()),
  302. new SqlParameter("@Spare",model.Spare)
  303. };
  304. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  305. return result > 0;
  306. }
  307. /// <summary>
  308. /// 新增彩种开奖数据
  309. /// 开奖8个球号的地方彩
  310. /// </summary>
  311. /// <param name="lottery">彩种名称</param>
  312. /// <param name="model">开奖数据模型</param>
  313. /// <returns></returns>
  314. public bool AddDTOpen8Code(SCCLottery lottery, OpenCode8DTModel model)
  315. {
  316. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  317. var sqlString = string.Format(AddOpenCode8DTItemSql, TableName);
  318. var param = new SqlParameter[]{
  319. new SqlParameter("@Term",model.Term),
  320. new SqlParameter("@OpenCode1",model.OpenCode1),
  321. new SqlParameter("@OpenCode2",model.OpenCode2),
  322. new SqlParameter("@OpenCode3",model.OpenCode3),
  323. new SqlParameter("@OpenCode4",model.OpenCode4),
  324. new SqlParameter("@OpenCode5",model.OpenCode5),
  325. new SqlParameter("@OpenCode6",model.OpenCode6),
  326. new SqlParameter("@OpenCode7",model.OpenCode7),
  327. new SqlParameter("@OpenCode8",model.OpenCode8),
  328. new SqlParameter("@OpenTime",model.OpenTime),
  329. new SqlParameter("@Spare",model.Spare),
  330. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-", ""))
  331. };
  332. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  333. return result > 0;
  334. }
  335. /// <summary>
  336. /// 获取江苏七位数所有开奖记录
  337. /// 生成走势图所需数据
  338. /// </summary>
  339. /// <returns></returns>
  340. public List<TCJS7WSInfo> GetJS7WSListOpenCode()
  341. {
  342. List<TCJS7WSInfo> result = new List<TCJS7WSInfo>();
  343. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetJS7WSListSql);
  344. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  345. {
  346. result = LoadDataList<TCJS7WSInfo>(ds.Tables[0]);
  347. foreach (var info in result)
  348. {
  349. info.OpenCode = new List<int>(){
  350. info.OpenCode1,
  351. info.OpenCode2,
  352. info.OpenCode3,
  353. info.OpenCode4,
  354. info.OpenCode5,
  355. info.OpenCode6,
  356. info.OpenCode7
  357. };
  358. }
  359. }
  360. return result;
  361. }
  362. /// <summary>
  363. /// 获取浙江体彩6+1所有开奖记录
  364. /// 生成走势图所需数据
  365. /// </summary>
  366. /// <returns></returns>
  367. public List<TCZJ6J1Info> GetZJ6J1ListOpenCode()
  368. {
  369. List<TCZJ6J1Info> result = new List<TCZJ6J1Info>();
  370. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetZJ6J1ListSql);
  371. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  372. {
  373. result = LoadDataList<TCZJ6J1Info>(ds.Tables[0]);
  374. foreach (var info in result)
  375. {
  376. info.OpenCode = new List<int>(){
  377. info.OpenCode1,
  378. info.OpenCode2,
  379. info.OpenCode3,
  380. info.OpenCode4,
  381. info.OpenCode5,
  382. info.OpenCode6,
  383. info.OpenCode7
  384. };
  385. }
  386. }
  387. return result;
  388. }
  389. /// <summary>
  390. /// 获取新疆35选7所有开奖记录
  391. /// 生成走势图所需数据
  392. /// </summary>
  393. /// <returns></returns>
  394. public List<FCXJ35X7Info> GetXJ35X7ListOpenCode()
  395. {
  396. List<FCXJ35X7Info> result = new List<FCXJ35X7Info>();
  397. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetXJ35X7ListSql);
  398. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  399. {
  400. result = LoadDataList<FCXJ35X7Info>(ds.Tables[0]);
  401. foreach (var info in result)
  402. {
  403. info.OpenCode = new List<int>(){
  404. info.OpenCode1,
  405. info.OpenCode2,
  406. info.OpenCode3,
  407. info.OpenCode4,
  408. info.OpenCode5,
  409. info.OpenCode6,
  410. info.OpenCode7,
  411. info.OpenCode8
  412. };
  413. }
  414. }
  415. return result;
  416. }
  417. /// <summary>
  418. /// 获取东方6+1所有开奖记录
  419. /// 生成走势图所需数据
  420. /// </summary>
  421. /// <returns></returns>
  422. public List<FCDF6J1Info> GetDF6J1ListOpenCode()
  423. {
  424. List<FCDF6J1Info> result = new List<FCDF6J1Info>();
  425. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetDF6J1ListSql);
  426. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  427. {
  428. result = LoadDataList<FCDF6J1Info>(ds.Tables[0]);
  429. foreach (var info in result)
  430. {
  431. info.OpenCode = new List<int>(){
  432. info.OpenCode1,
  433. info.OpenCode2,
  434. info.OpenCode3,
  435. info.OpenCode4,
  436. info.OpenCode5,
  437. info.OpenCode6,
  438. info.OpenCode7
  439. };
  440. }
  441. }
  442. return result;
  443. }
  444. /// <summary>
  445. /// 获取东方6+1最新指定条数所有开奖记录
  446. /// </summary>
  447. /// <param name="period">指定条数</param>
  448. /// <returns></returns>
  449. public List<FCDF6J1Info> GetDF6J1ListOpenCode(int period)
  450. {
  451. List<FCDF6J1Info> result = new List<FCDF6J1Info>();
  452. var ds = SqlHelper.ExecuteDataset(CommandType.Text, string.Format(GetDF6J1TopCountListSql, period));
  453. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  454. {
  455. result = LoadDataList<FCDF6J1Info>(ds.Tables[0]);
  456. }
  457. return result;
  458. }
  459. /// <summary>
  460. /// 获取指定期数的开奖详情
  461. /// </summary>
  462. /// <param name="Term">指定期数</param>
  463. /// <returns></returns>
  464. public OpenCode7DTModel GetDF6J1Detail(int Term)
  465. {
  466. var param = new SqlParameter[]{
  467. new SqlParameter("@Term",Term)
  468. };
  469. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetDF6J1DetailSql, param);
  470. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  471. {
  472. return LoadData<OpenCode7DTModel>(ds.Tables[0].Rows[0]);
  473. }
  474. return null;
  475. }
  476. /// <summary>
  477. /// 获取华东15选5所有开奖记录
  478. /// 生成走势图所需数据
  479. /// </summary>
  480. /// <returns></returns>
  481. public List<FCHD15X5Info> GetHD15X5ListOpenCode()
  482. {
  483. List<FCHD15X5Info> result = new List<FCHD15X5Info>();
  484. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetHD15X5ListSql);
  485. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  486. {
  487. result = LoadDataList<FCHD15X5Info>(ds.Tables[0]);
  488. foreach (var info in result)
  489. {
  490. info.OpenCode = new List<int>(){
  491. info.OpenCode1,
  492. info.OpenCode2,
  493. info.OpenCode3,
  494. info.OpenCode4,
  495. info.OpenCode5
  496. };
  497. }
  498. }
  499. return result;
  500. }
  501. /// <summary>
  502. /// 获取华东15选5最新指定条数所有开奖记录
  503. /// </summary>
  504. /// <param name="period">指定条数</param>
  505. /// <returns></returns>
  506. public List<FCHD15X5Info> GetHD15X5ListOpenCode(int period)
  507. {
  508. List<FCHD15X5Info> result = new List<FCHD15X5Info>();
  509. var ds = SqlHelper.ExecuteDataset(CommandType.Text, string.Format(GetHD15X5TopCountListSql, period));
  510. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  511. {
  512. result = LoadDataList<FCHD15X5Info>(ds.Tables[0]);
  513. }
  514. return result;
  515. }
  516. /// <summary>
  517. /// 获取指定期数的开奖详情
  518. /// </summary>
  519. /// <param name="Term">指定期数</param>
  520. /// <returns></returns>
  521. public OpenCode5DTModel GetHD15X5Detail(int Term)
  522. {
  523. var param = new SqlParameter[]{
  524. new SqlParameter("@Term",Term)
  525. };
  526. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetHD15X5DetailSql, param);
  527. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  528. {
  529. return LoadData<OpenCode5DTModel>(ds.Tables[0].Rows[0]);
  530. }
  531. return null;
  532. }
  533. /// <summary>
  534. /// 获取河南22选5所有开奖记录
  535. /// 生成走势图所需数据
  536. /// </summary>
  537. /// <returns></returns>
  538. public List<FCHN22X5Info> GetHN22X5ListOpenCode()
  539. {
  540. List<FCHN22X5Info> result = new List<FCHN22X5Info>();
  541. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetHN22X5ListSql);
  542. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  543. {
  544. result = LoadDataList<FCHN22X5Info>(ds.Tables[0]);
  545. foreach (var info in result)
  546. {
  547. info.OpenCode = new List<int>(){
  548. info.OpenCode1,
  549. info.OpenCode2,
  550. info.OpenCode3,
  551. info.OpenCode4,
  552. info.OpenCode5
  553. };
  554. }
  555. }
  556. return result;
  557. }
  558. /// <summary>
  559. /// 获取广东36选7所有开奖记录
  560. /// 生成走势图所需数据
  561. /// </summary>
  562. /// <returns></returns>
  563. public List<FCNY36X7Info> GetGD36X7ListOpenCode()
  564. {
  565. List<FCNY36X7Info> result = new List<FCNY36X7Info>();
  566. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetGD36X7ListSql);
  567. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  568. {
  569. result = LoadDataList<FCNY36X7Info>(ds.Tables[0]);
  570. foreach (var info in result)
  571. {
  572. info.OpenCode = new List<int>(){
  573. info.OpenCode1,
  574. info.OpenCode2,
  575. info.OpenCode3,
  576. info.OpenCode4,
  577. info.OpenCode5,
  578. info.OpenCode6,
  579. info.OpenCode7
  580. };
  581. }
  582. }
  583. return result;
  584. }
  585. /// <summary>
  586. /// 获取湖北30选5所有开奖记录
  587. /// 生成走势图所需数据
  588. /// </summary>
  589. /// <returns></returns>
  590. public List<FCHB30X5Info> GetHuBei30X5ListOpenCode()
  591. {
  592. List<FCHB30X5Info> result = new List<FCHB30X5Info>();
  593. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetHuBei30X5ListSql);
  594. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  595. {
  596. result = LoadDataList<FCHB30X5Info>(ds.Tables[0]);
  597. foreach (var info in result)
  598. {
  599. info.OpenCode = new List<int>(){
  600. info.OpenCode1,
  601. info.OpenCode2,
  602. info.OpenCode3,
  603. info.OpenCode4,
  604. info.OpenCode5
  605. };
  606. }
  607. }
  608. return result;
  609. }
  610. /// <summary>
  611. /// 获取福建36选7所有开奖记录
  612. /// 生成走势图所需数据
  613. /// </summary>
  614. /// <returns></returns>
  615. public List<TCFJ36X7Info> GetFJ36X7ListOpenCode()
  616. {
  617. List<TCFJ36X7Info> result = new List<TCFJ36X7Info>();
  618. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetFJ36X7ListSql);
  619. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  620. {
  621. result = LoadDataList<TCFJ36X7Info>(ds.Tables[0]);
  622. foreach (var info in result)
  623. {
  624. info.OpenCode = new List<int>(){
  625. info.OpenCode1,
  626. info.OpenCode2,
  627. info.OpenCode3,
  628. info.OpenCode4,
  629. info.OpenCode5,
  630. info.OpenCode6,
  631. info.OpenCode7,
  632. info.OpenCode8
  633. };
  634. }
  635. }
  636. return result;
  637. }
  638. /// <summary>
  639. /// 获取福建31选7所有开奖记录
  640. /// 生成走势图所需数据
  641. /// </summary>
  642. /// <returns></returns>
  643. public List<TCFJ31X7Info> GetFJ31X7ListOpenCode()
  644. {
  645. List<TCFJ31X7Info> result = new List<TCFJ31X7Info>();
  646. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetFJ31X7ListSql);
  647. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  648. {
  649. result = LoadDataList<TCFJ31X7Info>(ds.Tables[0]);
  650. foreach (var info in result)
  651. {
  652. info.OpenCode = new List<int>(){
  653. info.OpenCode1,
  654. info.OpenCode2,
  655. info.OpenCode3,
  656. info.OpenCode4,
  657. info.OpenCode5,
  658. info.OpenCode6,
  659. info.OpenCode7,
  660. info.OpenCode8
  661. };
  662. }
  663. }
  664. return result;
  665. }
  666. /// <summary>
  667. /// 获取广东好彩1所有开奖记录
  668. /// 生成走势图所需数据
  669. /// </summary>
  670. /// <returns></returns>
  671. public List<FCGDHC1Info> GetGDHC1ListOpenCode()
  672. {
  673. List<FCGDHC1Info> result = new List<FCGDHC1Info>();
  674. var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetGDHC1ListSql);
  675. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  676. {
  677. result = LoadDataList<FCGDHC1Info>(ds.Tables[0]);
  678. foreach (var info in result)
  679. {
  680. info.OpenCode = new List<int>(){
  681. info.OpenCode1
  682. };
  683. }
  684. }
  685. return result;
  686. }
  687. public bool AddDTOpen3Code(SCCLottery lottery, OpenCode3DTModel model)
  688. {
  689. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  690. var sqlString = string.Format(AddOpenCode3DTItemSql, TableName);
  691. var param = new SqlParameter[]{
  692. new SqlParameter("@Term",model.Term),
  693. new SqlParameter("@OpenCode1",model.OpenCode1),
  694. new SqlParameter("@OpenCode2",model.OpenCode2),
  695. new SqlParameter("@OpenCode3",model.OpenCode3),
  696. new SqlParameter("@OpenTime",model.OpenTime),
  697. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-","").ToLower()),
  698. new SqlParameter("@Spare",model.Spare)
  699. };
  700. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  701. return result > 0;
  702. }
  703. public bool AddDTOpen2Code(SCCLottery lottery, OpenCode2DTModel model)
  704. {
  705. var TableName = EnumHelper.GetSCCLotteryTableName(lottery);
  706. var sqlString = string.Format(AddOpenCode2DTItemSql, TableName);
  707. var param = new SqlParameter[]{
  708. new SqlParameter("@Term",model.Term),
  709. new SqlParameter("@OpenCode1",model.OpenCode1),
  710. new SqlParameter("@OpenCode2",model.OpenCode2),
  711. new SqlParameter("@OpenTime",model.OpenTime),
  712. new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-","").ToLower()),
  713. new SqlParameter("@Spare",model.Spare)
  714. };
  715. var result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlString, param);
  716. return result > 0;
  717. }
  718. #region Sql语句
  719. /// <summary>
  720. /// 获取最新一条记录的Sql语句
  721. /// </summary>
  722. private static string LastItemSql = @"SELECT TOP 1 * FROM {0} ORDER BY Term DESC";
  723. /// <summary>
  724. /// 获取今年的失败期号列表的Sql语句
  725. /// </summary>
  726. private static string FailedQiHaoListSql = @"SELECT Term FROM {0}
  727. WHERE YEAR(OpenTime) = @year
  728. ORDER BY Term DESC";
  729. /// <summary>
  730. /// 新增开奖1个球号的彩种数据的Sql语句
  731. /// </summary>
  732. private static string AddOpenCode1DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  733. BEGIN
  734. INSERT INTO {0}(Term,OpenCode1,OpenTime,Addtime,Spare)
  735. SELECT @Term,@OpenCode1,@OpenTime,GETDATE(),@Spare
  736. END";
  737. private static string AddOpenCode2DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  738. BEGIN
  739. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenTime,Addtime,Spare,ID)
  740. SELECT @Term,@OpenCode1,@OpenCode2,@OpenTime,GETDATE(),@Spare,@ID
  741. END";
  742. private static string AddOpenCode3DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  743. BEGIN
  744. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenTime,Addtime,Spare,ID)
  745. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenTime,GETDATE(),@Spare,@ID
  746. END";
  747. /// <summary>
  748. /// 新增开奖5个球号的彩种数据的Sql语句
  749. /// </summary>
  750. private static string AddOpenCode5DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  751. BEGIN
  752. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenCode4,OpenCode5,OpenTime,Addtime,Spare,ID)
  753. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenCode5,@OpenTime,GETDATE(),@Spare,@ID
  754. END";
  755. private static string AddOpenCode4DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  756. BEGIN
  757. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenCode4,OpenTime,Addtime,Spare,ID)
  758. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenTime,GETDATE(),@Spare,@ID
  759. END";
  760. // IF NOT EXISTS(SELECT TOP 1 1 FROM { 0}
  761. // WHERE Term = @Term)
  762. // BEGIN
  763. // INSERT INTO {0}
  764. // (Term, OpenCode1, OpenCode2, OpenCode3, OpenCode4, OpenCode5, OpenTime, Addtime, Spare, ID)
  765. // SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenCode5,@OpenTime,GETDATE(),@Spare,@ID
  766. // END
  767. /// <summary>
  768. /// 新增开奖7个球号的彩种数据的Sql语句
  769. /// </summary>
  770. private static string AddOpenCode7DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  771. BEGIN
  772. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenCode4,OpenCode5,OpenCode6,OpenCode7,OpenTime,Addtime,Spare,ID)
  773. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenCode5,@OpenCode6,@OpenCode7,@OpenTime,GETDATE(),@Spare ,@ID
  774. END";
  775. /// <summary>
  776. /// 新增开奖8个秋毫的彩种数据的Sql语句
  777. /// </summary>
  778. private static string AddOpenCode8DTItemSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM {0} WHERE Term = @Term)
  779. BEGIN
  780. INSERT INTO {0}(Term,OpenCode1,OpenCode2,OpenCode3,OpenCode4,OpenCode5,OpenCode6,OpenCode7,OpenCode8,OpenTime,Addtime,Spare,ID)
  781. SELECT @Term,@OpenCode1,@OpenCode2,@OpenCode3,@OpenCode4,@OpenCode5,@OpenCode6,@OpenCode7,@OpenCode8,@OpenTime,GETDATE(),@Spare,@ID
  782. END";
  783. /// <summary>
  784. /// 获取江苏七位数所有开奖记录的Sql语句
  785. /// </summary>
  786. private static string GetJS7WSListSql = @"SELECT * FROM DT_TCJS7WS ORDER BY Term ASC";
  787. /// <summary>
  788. /// 获取浙江体彩6+1所有开奖记录的Sql语句
  789. /// </summary>
  790. private static string GetZJ6J1ListSql = @"SELECT * FROM DT_TCZJ6J1 ORDER BY Term ASC";
  791. /// <summary>
  792. /// 获取新疆35选7所有开奖记录的Sql语句
  793. /// </summary>
  794. private static string GetXJ35X7ListSql = @"SELECT * FROM DT_FCXJ35X7 ORDER BY Term ASC";
  795. /// <summary>
  796. /// 获取东方6+1所有开奖记录的Sql语句
  797. /// </summary>
  798. private static string GetDF6J1ListSql = @"SELECT * FROM DT_FCDF6J1 ORDER BY Term ASC";
  799. /// <summary>
  800. /// 获取东方6+1最新指定条数开奖记录的Sql语句
  801. /// </summary>
  802. private static string GetDF6J1TopCountListSql = @"SELECT TOP {0} * FROM DT_FCDF6J1 ORDER BY Term DESC";
  803. /// <summary>
  804. /// 获取东方6+1指定期数的开奖详情的Sql语句
  805. /// </summary>
  806. private static string GetDF6J1DetailSql = @"SELECT * FROM DT_FCDF6J1 WHERE Term = @Term";
  807. /// <summary>
  808. /// 获取华东15选5所有开奖记录的Sql语句
  809. /// </summary>
  810. private static string GetHD15X5ListSql = @"SELECT * FROM DT_FCHD11X5 ORDER BY Term ASC";
  811. /// <summary>
  812. /// 获取华东15选5最新指定条数开奖记录的Sql语句
  813. /// </summary>
  814. private static string GetHD15X5TopCountListSql = @"SELECT TOP {0} * FROM DT_FCHD11X5 ORDER BY Term DESC";
  815. /// <summary>
  816. /// 获取华东15选5指定期数的开奖详情的Sql语句
  817. /// </summary>
  818. private static string GetHD15X5DetailSql = @"SELECT * FROM DT_FCHD11X5 WHERE Term = @Term";
  819. /// <summary>
  820. /// 获取河南22选5所有开奖记录的Sql语句
  821. /// </summary>
  822. private static string GetHN22X5ListSql = @"SELECT * FROM DT_FCHN22X5 ORDER BY Term ASC";
  823. /// <summary>
  824. /// 获取广东36选7所有开奖记录的Sql语句
  825. /// </summary>
  826. private static string GetGD36X7ListSql = @"SELECT * FROM DT_FCNY36X7 ORDER BY Term ASC";
  827. /// <summary>
  828. /// 获取湖北30选5所有开奖记录的Sql语句
  829. /// </summary>
  830. private static string GetHuBei30X5ListSql = @"SELECT * FROM DT_FCHB30X5 ORDER BY Term ASC";
  831. /// <summary>
  832. /// 获取福建36选7所有开奖记录的Sql语句
  833. /// </summary>
  834. private static string GetFJ36X7ListSql = @"SELECT * FROM DT_TCFJ36X7 ORDER BY Term ASC";
  835. /// <summary>
  836. /// 获取福建31选7所有开奖记录的Sql语句
  837. /// </summary>
  838. private static string GetFJ31X7ListSql = @"SELECT * FROM DT_TCFJ31X7 ORDER BY Term ASC";
  839. /// <summary>
  840. /// 获取广东好彩1所有开奖记录的Sql语句
  841. /// </summary>
  842. private static string GetGDHC1ListSql = @"SELECT * FROM DT_HC1 ORDER BY Term ASC";
  843. #endregion
  844. private static string QueryListSQL = @"SELECT * FROM {0}
  845. WHERE CONVERT(varchar(4),OpenTime,112)='{1}'
  846. ORDER BY OpenTime DESC";
  847. }
  848. }