123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489 |
- using System;
- using System.Collections;
- using System.Reflection;
- using System.Web;
- using System.Web.UI.WebControls;
- using CB.Common;
- using CB.Data;
- using CB.Entity;
- using CB.TrendChart.LotteryTrendChart;
- using CB.TrendMiss.LotteryTrendMiss;
- using CB.TrendChart.FrequencyTrendChart;
- namespace CB.Framework
- {
- public class AdminPage : PageBase
- {
- private string _authPage = "";
- private bool _superAdmin = false;
- #region 属性
- /// <summary>
- /// UID
- /// </summary>
- protected internal int Uid = 0;
- /// <summary>
- /// 用户组ID
- /// </summary>
- protected internal int UserGroupId = 0;
- /// <summary>
- /// 用户组名称
- /// </summary>
- protected internal string UserGroupName = "";
- /// <summary>
- /// 用户名
- /// </summary>
- protected internal string UserName = "";
- /// <summary>
- /// 昵称
- /// </summary>
- protected internal string NickName = "";
- /// <summary>
- /// 权限页信息
- /// </summary>
- protected internal SysAuthorityInfo Authority = null;
- /// <summary>
- /// 权限页类名称
- /// </summary>
- public string authPage { get { return this._authPage; } }
- /// <summary>
- /// 是否超级管理员
- /// </summary>
- public bool superAdmin { get { return this._superAdmin; } }
- #endregion
- public AdminPage()
- {
- GetOnLineUser();
- _authPage = WRequest.GetQueryString("authPage");
- if (0 >= Uid)
- {
- HttpContext.Current.Response.Write("<script language=\"javascript\">top.location.href=\"/webadmin/syslogin.aspx\";</script>");
- HttpContext.Current.Response.End();
- }
- if (!IsPageAllow())
- {
- HttpContext.Current.Response.Write("<script language=\"javascript\">alert(\"提示:您无法访问当前链接地址网页!\");top.location.href=\"/scybsc/main.aspx\";</script>");
- HttpContext.Current.Response.End();
- }
- }
- protected virtual void BindRepeaterList() { }
- #region 页面权限及验证
- /// <summary>
- /// 获取在线用户信息
- /// </summary>
- private void GetOnLineUser()
- {
- string usercookies = Utils.GetCookie("ducenter-user");
- if (string.IsNullOrEmpty(usercookies) || !Utils.IsBase64String(usercookies))
- return;
- usercookies = XXTEA.Decode(usercookies);
- string[] _data = usercookies.Split(new char[] { ',', '-', '|' });
- if (5 == _data.Length)
- {
- UserName = _data[0];
- NickName = _data[1];
- UserGroupName = _data[2];
- Uid = TypeConverter.StrToInt(_data[3]);
- UserGroupId = TypeConverter.StrToInt(_data[4]);
- }
- if (1 <= Uid)
- {
- var userinfo = CB.Data.SysUserService.GetUserInfo(Uid);
- if (null == userinfo || 0 >= userinfo.Uid || !userinfo.Status)
- {
- Uid = 0;
- return;
- }
- this._superAdmin = userinfo.SuperAdmin;
- }
- }
- /// <summary>
- /// 页面权限验证
- /// </summary>
- /// <returns></returns>
- private bool IsPageAllow()
- {
- if (string.IsNullOrEmpty(authPage))
- {
- string _pageName = this.GetType().Name.ToLower();
- if (_pageName.EndsWith("main_aspx", StringComparison.CurrentCultureIgnoreCase) || _pageName.EndsWith("menu_aspx", StringComparison.CurrentCultureIgnoreCase)
- || _pageName.EndsWith("right_aspx", StringComparison.CurrentCultureIgnoreCase) || _pageName.EndsWith("mypassword_aspx", StringComparison.CurrentCultureIgnoreCase))
- { return true; }
- }
- else
- {
- if (0 >= UserGroupId)
- {
- return false;
- }
- var list = CB.Data.SysAuthorityService.GetUserGroupAuthorityList(UserGroupId, _superAdmin);
- if (null == list || 0 == list.Count)
- { return false; }
- foreach (var item in list)
- {
- if (item.PageName.Equals(_authPage, StringComparison.CurrentCultureIgnoreCase))
- {
- Authority = item;
- return true;
- }
- }
- }
- return false;
- }
- #endregion
- #region 操作日志
- /// <summary>
- /// 通用记录操作日志
- /// </summary>
- /// <param name="title"></param>
- /// <param name="content"></param>
- protected void Logs(string title, string content)
- {
- CB.Data.SysUserLogService.Save(new SysUserLogInfo()
- {
- UId = Uid,
- UserName = UserName,
- Title = title,
- Contents = "[" + UserName + "]于:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + content,
- AId = Authority.AId,
- IP = Utils.GetRealIP()
- });
- }
- #endregion
- #region 提示信息
- /// <summary>
- /// 页面输出提示信息
- /// </summary>
- /// <param name="Message"></param>
- /// <param name="Url"></param>
- protected void ShowMessageBox(string Message, string Url = null)
- {
- if (!string.IsNullOrEmpty(Url))
- {
- HttpContext.Current.Response.Write("<script language=\"javascript\">alert(\"" + Message + "\");location.href=\"" + Url + "\";</script>");
- HttpContext.Current.Response.End();
- }
- else
- {
- HttpContext.Current.Response.Write("<script language=\"javascript\">alert(\"" + Message + "\");history.back(-1);</script>");
- HttpContext.Current.Response.End();
- }
- }
- #endregion
- #region 页面常用方法
- /// <summary>
- /// 获取权限导航类型字符串
- /// </summary>
- /// <param name="type"></param>
- /// <returns></returns>
- public static string GetAuthorityTypeString(AuthorityType type)
- {
- switch (type)
- {
- case AuthorityType.Config:
- return "基本配置";
- case AuthorityType.DataList:
- return "数据列表";
- case AuthorityType.Nomarl:
- return "公共页面";
- case AuthorityType.Statistics:
- return "数据统计";
- }
- return "";
- }
- /// <summary>
- /// 更改走势图状态
- /// </summary>
- /// <param name="status">走势图状态</param>
- /// <param name="chartId">走势图ID</param>
- /// <returns></returns>
- public static bool ChangeState(TrendChartStatus status, int chartId)
- {
- Entity.TrendChartInfo model = CB.Data.TrendChartService.Get(chartId);
- model.Status = status;
- if (TrendChartService.Update(model))
- {
- //ShowMessageBox("数据生成成功!");
- return true;
- }
- else
- {
- //ShowMessageBox("数据生成失败!");
- return false;
- }
- }
- /// <summary>
- /// 生成走势图数据
- /// </summary>
- /// <param name="Cid"></param>
- /// <param name="chartId"></param>
- /// <returns></returns>
- public static Tuple<bool, string> CreateTrendChartData(int Cid, int chartId, long term)
- {
- Tuple<bool, string> t;
- LotterySearchField fields = null;
- switch (Cid)
- {
- case 1:
- if (11 == chartId)
- fields = new LotterySearchField() { NumRepeat = 1 };
- t = FC3DTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 2:
- case 3:
- if (23 == chartId)
- fields = new LotterySearchField() { NumRepeat = 1 };
- t = TCP3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 4:
- if (99 == chartId)
- fields = new LotterySearchField() { Week = 3 };
- if (100 == chartId)
- fields = new LotterySearchField() { Week = 5 };
- if (101 == chartId)
- fields = new LotterySearchField() { Week = 1 };
- t = FCSSQTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 5:
- t = FCQLCTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 12:
- if (107 == chartId)
- fields = new LotterySearchField() { Week = 2 };
- if (108 == chartId)
- fields = new LotterySearchField() { Week = 4 };
- if (109 == chartId)
- fields = new LotterySearchField() { Week = 7 };
- t = TCDLTTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 19:
- t = TCQXCTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 28:
- t = HC1Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 59:
- t = KL12SiChuanTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 60:
- t = TCFJ31X7Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 61:
- t = TCFJ36X7Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 62:
- t = TCJS7WSTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 63:
- t = TCZJ6J1Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 64:
- t = FCDF6J1Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 65:
- t = FCHD11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 66:
- t = FCHB22X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 67:
- t = FCHN22X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 68:
- t = FCXJ35X7Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 69:
- t = FCNY36X7Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 70:
- t = AH11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 71:
- t = CQ11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 72:
- t = GD11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 73:
- t = GZ11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 74:
- t = HLJ11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 75:
- t = HB11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 76:
- t = JS11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 77:
- t = JX11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 78:
- t = JL11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 79:
- t = LN11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 80:
- t = SD11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 81:
- t = SH11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 82:
- t = SC11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 83:
- t = TJ11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 84:
- t = YN11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 85:
- t = ZJ11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 86:
- t = AHK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 87:
- t = HBK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 88:
- t = JSK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 89:
- t = JLK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 90:
- t = KL12LiaoNingTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 15:
- t = GDKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 91:
- t = CQKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 92:
- t = GXKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 93:
- t = HNKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 94:
- t = TJKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 95:
- t = SDQYHTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 96:
- t = HeBK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 97:
- t = NMGK3Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 98:
- t = ZJKLCTrend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 99:
- t = SXKL10Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 100:
- t = HeB11X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- case 101:
- t = FCHB30X5Trend.CreateTrendChart(chartId, TrendChartType.PC, term, fields);
- break;
- default:
- t = new Tuple<bool, string>(false, "");
- break;
- }
- if (!t.Item1)
- return t;
- if (ChangeState(TrendChartStatus.Default, chartId))
- return new Tuple<bool, string>(true, "");
- return new Tuple<bool, string>(false, string.Format("更改走势图【chartId={0}】状态失败!", chartId));
- }
- /// <summary>
- /// 生成遗漏数据
- /// </summary>
- /// <param name="chartId">走势图ID</param>
- /// <param name="term">期号</param>
- /// <param name="MultiTerm">true:生成term期数及以后期数的走势图及遗漏数据;false:仅生成当前期走势图及遗漏数据</param>
- /// <returns></returns>
- public static Tuple<bool, string> CreateMissData(int Cid, int chartId, long term, LotterySearchField fields = null)
- {
- Tuple<bool, string> t = new Tuple<bool, string>(false, "");
- switch (Cid)
- {
- case 1:
- t = FC3DTrendMiss.CreateMissData(chartId, term, fields);
- break;
- case 2:
- case 3:
- t = TCP3TrendMiss.CreateMissData(chartId, term, fields);
- break;
- case 4:
- t = FCSSQTrendMiss.CreateMissData(chartId, term, fields);
- break;
- case 5:
- break;
- case 12:
- break;
- case 19:
- break;
- }
- return t;
- }
- #endregion
- #region 下拉列表绑定
- protected void BindDropDownListAndSelect(DropDownList ddl, IEnumerable dataSource, string NameField, string ValueField, string selectValue)
- {
- ddl.Items.Clear();
- ddl.DataTextField = NameField;
- ddl.DataValueField = ValueField;
- ddl.DataSource = dataSource;
- ddl.DataBind();
- ddl.Items.Insert(0, new ListItem("--请选择--", ""));
- if (string.IsNullOrEmpty(selectValue))
- ddl.SelectedValue = selectValue;
- //if (selectValue != null)
- //{
- // ListItem selectedItem = ddl.Items.FindByValue(selectValue);
- // ddl.SelectedIndex = ddl.Items.IndexOf(selectedItem);
- //}
- }
- #endregion
- }
- }
|