123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.IO;
- using System.Text;
- using System.Web.Services;
- using System.Xml;
- using System.Xml.Serialization;
- using CB.Data;
- using CB.Entity;
- namespace CB.Web.Kjh.WebServices
- {
- /// <summary>
- /// datasafe 的摘要说明
- /// </summary>
- [WebService(Namespace = "http://kjh.55128.cn/webservices/", Description = "<span style=\"font-size:20px;font-family:'微软雅黑'\">供数据保障调用的开奖号服务</span>")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- [ToolboxItem(false)]
- public class datasafe : System.Web.Services.WebService
- {
- [WebMethod(Description = "开奖号信息", CacheDuration = 10)]
- public string[] GetKjh(int type, int qi)
- {
- string[] Number = new string[2];
- switch (type)
- {
- case 0:
- FC3DInfo entity = CB.Data.Caches.GetFC3DInfo(qi, OpenCodeType.KaiJiangHao);
- if (entity != null)
- {
- Number[0] = entity.Term.ToString().Trim();
- Number[1] = entity.OpenCode1.ToString().Trim() + "," + entity.OpenCode2.ToString().Trim() + "," + entity.OpenCode3.ToString().Trim();
- }
- break;
- case 1:
- TCP3Info p3entity = CB.Data.Caches.GetTCP3Info(qi, OpenCodeType.KaiJiangHao);
- if (p3entity != null)
- {
- Number[0] = p3entity.Term.ToString().Trim();
- Number[1] = p3entity.OpenCode1.ToString().Trim() + "," + p3entity.OpenCode2.ToString().Trim() + "," + p3entity.OpenCode3.ToString().Trim();
- }
- break;
- }
- return Number;
- }
- [WebMethod(Description = "期数信息", CacheDuration = 10)]
- public int Getqi(int type)
- {
- int qi = 0;
- switch (type)
- {
- case 0:
- FC3DInfo entity = CB.Data.Caches.GetFC3DInfo(qi, OpenCodeType.KaiJiangHao);
- if (entity != null)
- {
- qi = Convert.ToInt32(entity.Term);
- }
- break;
- case 1:
- TCP3Info p3entity = CB.Data.Caches.GetTCP3Info(qi, OpenCodeType.KaiJiangHao);
- if (p3entity != null)
- {
- qi = Convert.ToInt32(p3entity.Term);
- }
- break;
- }
- return qi;
- }
- [WebMethod(Description = "20:30之后的期数问题", CacheDuration = 10)]
- public int GetNewqi(int type)
- {
- int qi = 0;
- switch (type)
- {
- case 0:
- qi =Convert.ToInt32(CB.Data.Caches.GetFC3DInfo(0,OpenCodeType.KaiJiHao).Term);
- break;
- case 1:
- qi = Convert.ToInt32(CB.Data.Caches.GetTCP3Info(0, OpenCodeType.KaiJiHao).Term);
- break;
- }
- return qi;
- }
- [WebMethod(Description = "首页获取彩种开奖详细", CacheDuration = 10)]
- public string GetLotteryJson(int type)
- {
- string kjinfo = "";
- switch (type)
- {
- case 1:
- kjinfo = SerializationHelper.Serialize(CB.Data.Caches.GetFC3DInfo(0,OpenCodeType.KaiJiangHao));
- break;
- case 2:
- kjinfo = SerializationHelper.Serialize(CB.Data.Caches.GetTCP3Info(0,OpenCodeType.KaiJiangHao));
- break;
- case 3:
- kjinfo = SerializationHelper.Serialize(CB.Data.Caches.GetFCSSQInfo(0,OpenCodeType.KaiJiangHao));
- break;
- }
- return kjinfo;
- }
- [WebMethod(Description = "开奖数据同步至55125", CacheDuration = 10)]
- public string GetLotteryAward()
- {
- return SerializationHelper.Serialize(LotteryAwardService.GetLotteryAwardList());
- }
- /// <summary>
- /// 序列化
- /// </summary>
- public class SerializationHelper
- {
- private SerializationHelper()
- { }
- private static Dictionary<int, XmlSerializer> serializer_dict = new Dictionary<int, XmlSerializer>();
- public static XmlSerializer GetSerializer(Type t)
- {
- int type_hash = t.GetHashCode();
- if (!serializer_dict.ContainsKey(type_hash))
- serializer_dict.Add(type_hash, new XmlSerializer(t));
- return serializer_dict[type_hash];
- }
- /// <summary>
- /// xml序列化成字符串
- /// </summary>
- /// <param name="obj">对象</param>
- /// <returns>xml字符串</returns>
- public static string Serialize(object obj)
- {
- string returnStr = "";
- XmlSerializer serializer = GetSerializer(obj.GetType());
- MemoryStream ms = new MemoryStream();
- XmlTextWriter xtw = null;
- StreamReader sr = null;
- try
- {
- xtw = new System.Xml.XmlTextWriter(ms, Encoding.UTF8);
- xtw.Formatting = System.Xml.Formatting.Indented;
- serializer.Serialize(xtw, obj);
- ms.Seek(0, SeekOrigin.Begin);
- sr = new StreamReader(ms);
- returnStr = sr.ReadToEnd();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (xtw != null)
- xtw.Close();
- if (sr != null)
- sr.Close();
- ms.Close();
- }
- return returnStr;
- }
- /// <summary>
- /// 字符串反序列化
- /// </summary>
- /// <param name="type"></param>
- /// <param name="s"></param>
- /// <returns></returns>
- public static object DeSerialize(Type type, string s)
- {
- byte[] b = System.Text.Encoding.UTF8.GetBytes(s);
- try
- {
- XmlSerializer serializer = GetSerializer(type);
- return serializer.Deserialize(new MemoryStream(b));
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
- }
|