public void Update(AdvInfo advInfo) { var adParms = new IDataParameter[] { GetParameter(ParmPublishmentsystemid, EDataType.Integer, advInfo.PublishmentSystemID), GetParameter(ParmAdvAreaid, EDataType.Integer, advInfo.AdAreaID), GetParameter(ParmAdvName, EDataType.NVarChar, 50, advInfo.AdvName), GetParameter(ParmSummary, EDataType.Text, advInfo.Summary), GetParameter(ParmIsEnabled, EDataType.VarChar, 18, advInfo.IsEnabled.ToString()), GetParameter(ParmIsDateLimited, EDataType.VarChar, 18, advInfo.IsDateLimited.ToString()), GetParameter(ParmStartDate, EDataType.DateTime, advInfo.StartDate), GetParameter(ParmEndDate, EDataType.DateTime, advInfo.EndDate), GetParameter(ParmLevelType, EDataType.NVarChar, 50, EAdvLevelTypeUtils.GetValue(advInfo.LevelType)), GetParameter(ParmLevel, EDataType.Integer, advInfo.Level), GetParameter(ParmIsWeight, EDataType.VarChar, 18, advInfo.IsWeight.ToString()), GetParameter(ParmWeight, EDataType.Integer, advInfo.Weight), GetParameter(ParmRotateType, EDataType.NVarChar, 50, EAdvRotateTypeUtils.GetValue(advInfo.RotateType)), GetParameter(ParmRotateInterval, EDataType.Integer, advInfo.RotateInterval), GetParameter(ParmNodeIdCollectionToChannel, EDataType.NVarChar, 4000, advInfo.NodeIDCollectionToChannel), GetParameter(ParmNodeIdCollectionToContent, EDataType.NVarChar, 4000, advInfo.NodeIDCollectionToContent), GetParameter(ParmFiletemplateIdCollection, EDataType.NVarChar, 4000, advInfo.FileTemplateIDCollection), GetParameter(ParmAdvId, EDataType.Integer, advInfo.AdvID) }; ExecuteNonQuery(SqlUpdateAdv, adParms); }
protected void Submit1_ServerClick(object sender, EventArgs e) { AdvInfo ob = new AdvInfo(); ob.title = tbtitle.Text; ob.imgurl = tbimgUrl.Text; ob.imglink = tbimgLink.Text; ob.flyimagewidth = int.Parse(tbFlyImageWidth.Text); ob.flyimageheight = int.Parse(tbFlyImageHeight.Text); ob.addtime = Convert.ToDateTime(tbAddTime.Text); ob.flag = this.rbFlag.SelectedValue == "1" ? true : false; AdvInfoService.InsertAdvInfo(ob); try { string script = "<script>if(confirm('是否继续添加?')){location='" + Request.Url.ToString() + "';}else{location='advInfo_add.aspx';}</script>"; Response.Write(script); Response.End(); } catch { ShowJs.ShowAndRedirect("添加失败!", "advInfo_add.aspx", this.Page); } }
public ArrayList GetAdvInfoArrayList(ETemplateType templateType, int adAreaId, int publishmentSystemId, int nodeId, int fileTemplateId) { var arraylist = new ArrayList(); var strSql = new StringBuilder(); strSql.AppendFormat(@"SELECT AdvID,PublishmentSystemID,AdAreaID,AdvName,Summary, IsEnabled, IsDateLimited, StartDate, EndDate,LevelType,Level,IsWeight,Weight ,RotateType,RotateInterval,NodeIDCollectionToChannel,NodeIDCollectionToContent,FileTemplateIDCollection FROM (SELECT * FROM siteserver_Adv WHERE AdAreaID ={0} AND PublishmentSystemID ={1}) AS ADV", adAreaId, publishmentSystemId); if (templateType == ETemplateType.IndexPageTemplate || templateType == ETemplateType.ChannelTemplate) { strSql.AppendFormat(" WHERE NodeIDCollectionToChannel='{0}' OR NodeIDCollectionToChannel LIKE '{0},%' OR NodeIDCollectionToChannel LIKE '%,{0}' OR NodeIDCollectionToChannel LIKE '%,{0},%'", nodeId.ToString()); } else if (templateType == ETemplateType.ContentTemplate) { strSql.AppendFormat(" WHERE NodeIDCollectionToContent='{0}' OR NodeIDCollectionToContent LIKE '{0},%' OR NodeIDCollectionToContent LIKE '%,{0}' OR NodeIDCollectionToContent LIKE '%,{0},%'", nodeId.ToString()); } else if (templateType == ETemplateType.FileTemplate) { strSql.AppendFormat(" WHERE FileTemplateIDCollection='{0}' OR FileTemplateIDCollection LIKE '{0},%' OR FileTemplateIDCollection LIKE '%,{0}' OR FileTemplateIDCollection LIKE '%,{0},%'", fileTemplateId); } strSql.AppendFormat(@" ORDER BY StartDate ASC"); using (var rdr = ExecuteReader(strSql.ToString())) { while (rdr.Read()) { var i = 0; var advInfo = new AdvInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), EAdvLevelTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EAdvRotateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); arraylist.Add(advInfo); } rdr.Close(); } return(arraylist); }
protected void sbEdit_ServerClick(object sender, EventArgs e) { if (Request["id"] != null) { try { AdvInfo ob = AdvInfoService.GetAdvInfoById(int.Parse(Request["id"])); if (ob != null) { ob.title = tbtitle.Text; ob.imgurl = tbimgUrl.Text; ob.imglink = tbimgLink.Text; ob.flyimagewidth = int.Parse(tbFlyImageWidth.Text); ob.flyimageheight = int.Parse(tbFlyImageHeight.Text); ob.addtime = Convert.ToDateTime(tbAddTime.Text); ob.flag = this.rbFlag.SelectedValue == "1" ? true : false; AdvInfoService.UpdateAdvInfo(ob); } } catch { ShowJs.ShowAndRedirect("修改失败!", hdUrl.Value, this.Page); } } ShowJs.ShowAndRedirect("修改成功!", hdUrl.Value, this.Page); }
/* * 广告物料轮换 * 均匀:随机获取广告物料,几率相等 * 手动权重:去权重值最大的,权重相等则取最新的一条 * 幻灯片轮换:图片大于1时有效, */ public static AdMaterialInfo GetShowAdMaterialInfo(int publishmentSystemID, AdvInfo advInfo, out ArrayList adMaterialInfoList) { AdMaterialInfo adMaterialInfo = null; adMaterialInfoList = new ArrayList(); var adMaterialInfoArrayList = DataProvider.AdMaterialDao.GetAdMaterialInfoArrayList(advInfo.AdvID, publishmentSystemID); if (adMaterialInfoArrayList.Count > 0) { if (advInfo.RotateType == EAdvRotateType.Equality) { var rd = new Random(); var index = rd.Next(0, adMaterialInfoArrayList.Count); adMaterialInfo = adMaterialInfoArrayList[index] as AdMaterialInfo; } else if (advInfo.RotateType == EAdvRotateType.HandWeight) { var index = 0; var maxWeight = 0; var adMaterialIDList = new Hashtable(); foreach (AdMaterialInfo info in adMaterialInfoArrayList) { index++; if (info.Weight > maxWeight) { maxWeight = info.Weight; adMaterialIDList.Add(maxWeight, index); } } adMaterialInfo = adMaterialInfoArrayList[(int)adMaterialIDList[maxWeight] - 1] as AdMaterialInfo; } else if (advInfo.RotateType == EAdvRotateType.SlideRotate) { foreach (AdMaterialInfo info in adMaterialInfoArrayList) { if (info.AdMaterialType == EAdvType.Image) { adMaterialInfoList.Add(info); } } } } return(adMaterialInfo); }
protected void Page_Load(object sender, EventArgs e) { //if (!LJH.Rank.IsModuleRank(1407)) //{ // Response.Write("<div style='width:100%;margin-top:200px;text-align:center;color:red;'>您没有本模块的操作权限! 请与管理员联系!</div>"); // Response.End(); // } if (Request["id"] != null) { sbEdit.Visible = true; Submit1.Visible = false; btBack.Visible = true; } else { sbEdit.Visible = false; Submit1.Visible = true; btBack.Visible = false; } if (!IsPostBack) { this.tbFlyImageHeight.Text = "100"; this.tbFlyImageWidth.Text = "100"; tbAddTime.Text = DateTime.Now.ToString(); if (Request["id"] != null) { hdUrl.Value = Request.UrlReferrer.ToString(); AdvInfo ob = AdvInfoService.GetAdvInfoById(int.Parse(Request["id"])); if (ob != null) { this.tbtitle.Text = ob.title; tbimgUrl.Text = ob.imgurl; tbimgLink.Text = ob.imglink; tbFlyImageHeight.Text = ob.flyimageheight.ToString(); tbFlyImageWidth.Text = ob.flyimagewidth.ToString(); tbAddTime.Text = ob.addtime.ToString("yyyy-MM-dd"); rbFlag.SelectedValue = ob.flag == true?"1":"0"; } } } }
public static AdvInfo GetAdvInfoByAdAreaName(ETemplateType templateType, string adAreaName, int publishmentSystemID, int channelID, int fileTemplateID) { AdvInfo advInfo = null; var adAreaInfo = DataProvider.AdAreaDao.GetAdAreaInfo(adAreaName, publishmentSystemID); if (adAreaInfo != null) { if (adAreaInfo.IsEnabled == false) { return(null); } var advInfoList = DataProvider.AdvDao.GetAdvInfoArrayList(templateType, adAreaInfo.AdAreaID, publishmentSystemID, channelID, fileTemplateID); if (advInfoList.Count <= 0) { return(null); } advInfo = GetShowAdvInfo(advInfoList); } return(advInfo); }
public AdvInfo GetAdvInfo(int advId, int publishmentSystemId) { AdvInfo advInfo = null; var parms = new IDataParameter[] { GetParameter(ParmAdvId, EDataType.Integer, advId), GetParameter(ParmPublishmentsystemid, EDataType.Integer, publishmentSystemId) }; using (var rdr = ExecuteReader(SqlSelectAdv, parms)) { if (rdr.Read()) { var i = 0; advInfo = new AdvInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), EAdvLevelTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EAdvRotateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(advInfo); }
/// <summary> /// 获取广告信息,在编辑器下无效 /// </summary> /// <param name="info"></param> public static AdvInfo GetAdvInfo() { AdvInfo info = new AdvInfo(); //编辑器下的信息 if (Application.isEditor) { info.radid = string.Empty; info.rsid = string.Empty; info.PartnerID = "0"; return(info); } string RadidKey = "radid:"; string rsidKey = "rsid:"; string PartnerKey = "Partner:"; System.Collections.Generic.List <string> argList = new System.Collections.Generic.List <string>(); argList.AddRange(System.Environment.GetCommandLineArgs()); foreach (string arg in argList) { if (arg.Contains(RadidKey)) { info.radid = arg.Replace(RadidKey, string.Empty); } if (arg.Contains(rsidKey)) { info.rsid = arg.Replace(rsidKey, string.Empty); } if (arg.Contains(PartnerKey)) { info.PartnerID = arg.Replace(PartnerKey, string.Empty); } } return(info); }
public override bool Init(IUIWnd wnd) { m_CurrentSelectGroup = 0; tempServer = new gameview_select_server(); mediator = wnd as UMediatorLogin; if (UserNameIFCombobox == null) { UserNameIFCombobox = GetTransform().GetComponentInChildren <UInputFieldCombobox>(); } DistrictFrame.gameObject.SetActive(false); GetUserNameFromLocalConfig(); //GetIPAddressFromLocalConfig(); ServerList.onButtonGroupSelectedChange.AddListener(OnselectedServerChanged); LastEnterServerList.onButtonGroupSelectedChange.AddListener(OnselectedServerChanged); DistrictSearchInputField.onValueChanged.AddListener(OnSearchInputFieldChanged); UpdateDistrictList(); UpdateServerInfo(); if (!Debug.isDebugBuild) { InitForRelease(); //发布版走外网注册网址 m_strRegisterURL = "http://passport.q1.com/zhuce.html"; } AdvInfo info = GameUtil.GetAdvInfo(); m_strRegisterURL += "?" + "radid=" + info.radid + "&" + "rsid=" + info.rsid + "&gameid=7"; return(base.Init(wnd)); }
private static AtomEntry ExportAdInfo(AdvInfo advInfo) { var entry = AtomUtility.GetEmptyEntry(); //AtomUtility.AddDcElement(entry.AdditionalElements, "AdName", adInfo.AdName); //AtomUtility.AddDcElement(entry.AdditionalElements, "PublishmentSystemID", adInfo.PublishmentSystemID.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "AdType", EAdTypeUtils.GetValue(adInfo.AdType)); //AtomUtility.AddDcElement(entry.AdditionalElements, "Code", AtomUtility.Encrypt(adInfo.Code));//加密 //AtomUtility.AddDcElement(entry.AdditionalElements, "TextWord", adInfo.TextWord); //AtomUtility.AddDcElement(entry.AdditionalElements, "TextLink", adInfo.TextLink); //AtomUtility.AddDcElement(entry.AdditionalElements, "TextColor", adInfo.TextColor); //AtomUtility.AddDcElement(entry.AdditionalElements, "TextFontSize", adInfo.TextFontSize.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageUrl", adInfo.ImageUrl); //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageLink", adInfo.ImageLink); //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageWidth", adInfo.ImageWidth.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageHeight", adInfo.ImageHeight.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "ImageAlt", adInfo.ImageAlt); //AtomUtility.AddDcElement(entry.AdditionalElements, "IsEnabled", adInfo.IsEnabled.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "IsDateLimited", adInfo.IsDateLimited.ToString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "StartDate", adInfo.StartDate.ToLongDateString()); //AtomUtility.AddDcElement(entry.AdditionalElements, "EndDate", adInfo.EndDate.ToLongDateString()); return(entry); }
public void Main(int publishmentSystemId, int uniqueId, string area, int channelId, int fileTemplateId, string templateType) { var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId); var eTemplateType = ETemplateTypeUtils.GetEnumType(templateType); if (!string.IsNullOrEmpty(area) && !string.IsNullOrEmpty(templateType)) { AdvInfo advInfo = null; if (eTemplateType == ETemplateType.IndexPageTemplate || eTemplateType == ETemplateType.ChannelTemplate || eTemplateType == ETemplateType.ContentTemplate) { advInfo = AdvManager.GetAdvInfoByAdAreaName(eTemplateType, area, publishmentSystemId, channelId, 0); } else if (eTemplateType == ETemplateType.FileTemplate) { advInfo = AdvManager.GetAdvInfoByAdAreaName(eTemplateType, area, publishmentSystemId, 0, fileTemplateId); } if (advInfo != null) { ArrayList adMaterialInfoList; var adMaterialInfo = AdvManager.GetShowAdMaterialInfo(publishmentSystemId, advInfo, out adMaterialInfoList); if (advInfo.RotateType == EAdvRotateType.Equality || advInfo.RotateType == EAdvRotateType.HandWeight) { if (adMaterialInfo.AdMaterialType == EAdvType.HtmlCode) { HttpContext.Current.Response.Write($@"<!-- document.write('{StringUtils.ToJsString(adMaterialInfo.Code)}'); --> "); } else if (adMaterialInfo.AdMaterialType == EAdvType.Text) { var style = string.Empty; if (!string.IsNullOrEmpty(adMaterialInfo.TextColor)) { style += $"color:{adMaterialInfo.TextColor};"; } if (adMaterialInfo.TextFontSize > 0) { style += $"font-size:{adMaterialInfo.TextFontSize}px;"; } HttpContext.Current.Response.Write($@"<!-- document.write('<a href=""{PageUtils.AddProtocolToUrl(PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.TextLink))}"" target=""_blank"" style=""{style}"">{StringUtils.ToJsString(adMaterialInfo.TextWord)}</a>\r\n'); --> "); } else if (adMaterialInfo.AdMaterialType == EAdvType.Image) { var attribute = string.Empty; if (adMaterialInfo.ImageWidth > 0) { attribute += $@" width=""{adMaterialInfo.ImageWidth}"""; } if (adMaterialInfo.ImageHeight > 0) { attribute += $@" height=""{adMaterialInfo.ImageHeight}"""; } if (!string.IsNullOrEmpty(adMaterialInfo.ImageAlt)) { attribute += $@" title=""{adMaterialInfo.ImageAlt}"""; } HttpContext.Current.Response.Write($@"<!-- document.write('<a href=""{PageUtils.AddProtocolToUrl(PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageLink))}"" target=""_blank""><img src=""{PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageUrl)}"" {attribute} border=""0"" /></a>\r\n'); --> "); } else if (adMaterialInfo.AdMaterialType == EAdvType.Flash) { var imageUrl = PageUtility.ParseNavigationUrl(publishmentSystemInfo, adMaterialInfo.ImageUrl); HttpContext.Current.Response.Write($@"<!-- document.write('<div id=""flashcontent_{uniqueId}""></div>'); var so_{uniqueId} = new SWFObject(""{imageUrl}"", ""flash_{uniqueId}"", ""{adMaterialInfo.ImageWidth}"", ""{adMaterialInfo.ImageHeight}"", ""7"", """"); so_{uniqueId}.addParam(""quality"", ""high""); so_{uniqueId}.addParam(""wmode"", ""transparent""); so_{uniqueId}.write(""flashcontent_{uniqueId}""); --> "); } } } } HttpContext.Current.Response.End(); }
public override void Submit_OnClick(object sender, EventArgs e) { if (Page.IsPostBack && Page.IsValid) { try { if (_isEdit) { var advInfo = DataProvider.AdvDao.GetAdvInfo(_advId, PublishmentSystemId); advInfo.AdvName = AdvName.Text; advInfo.IsEnabled = TranslateUtils.ToBool(IsEnabled.SelectedValue); advInfo.IsDateLimited = IsDateLimited.Checked; advInfo.StartDate = TranslateUtils.ToDateTime(StartDate.Text); advInfo.EndDate = TranslateUtils.ToDateTime(EndDate.Text); advInfo.NodeIDCollectionToChannel = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToChannel); advInfo.NodeIDCollectionToContent = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToContent); advInfo.FileTemplateIDCollection = ControlUtils.GetSelectedListControlValueCollection(FileTemplateIDCollection); advInfo.LevelType = EAdvLevelTypeUtils.GetEnumType(LevelType.SelectedValue); advInfo.Level = TranslateUtils.ToInt(Level.SelectedValue); advInfo.IsWeight = IsWeight.Checked; advInfo.Weight = TranslateUtils.ToInt(Weight.SelectedValue); advInfo.RotateType = EAdvRotateTypeUtils.GetEnumType(RotateType.SelectedValue); advInfo.RotateInterval = TranslateUtils.ToInt(RotateInterval.Text); advInfo.Summary = Summary.Text; DataProvider.AdvDao.Update(advInfo); Body.AddSiteLog(PublishmentSystemId, "修改固定广告", $"广告名称:{advInfo.AdvName}"); SuccessMessage("修改广告成功!"); } else { var advInfo = new AdvInfo(); advInfo.AdAreaID = _adAreadId; advInfo.PublishmentSystemID = PublishmentSystemId; advInfo.AdvName = AdvName.Text; advInfo.Summary = Summary.Text; advInfo.IsEnabled = TranslateUtils.ToBool(IsEnabled.SelectedValue); advInfo.IsDateLimited = IsDateLimited.Checked; advInfo.StartDate = TranslateUtils.ToDateTime(StartDate.Text); advInfo.EndDate = TranslateUtils.ToDateTime(EndDate.Text); advInfo.NodeIDCollectionToChannel = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToChannel); advInfo.NodeIDCollectionToContent = ControlUtils.GetSelectedListControlValueCollection(NodeIDCollectionToContent); advInfo.FileTemplateIDCollection = ControlUtils.GetSelectedListControlValueCollection(FileTemplateIDCollection); advInfo.LevelType = EAdvLevelTypeUtils.GetEnumType(LevelType.SelectedValue); advInfo.Level = TranslateUtils.ToInt(Level.SelectedValue); advInfo.IsWeight = IsWeight.Checked; advInfo.Weight = TranslateUtils.ToInt(Weight.SelectedValue); advInfo.RotateType = EAdvRotateTypeUtils.GetEnumType(RotateType.SelectedValue); advInfo.RotateInterval = TranslateUtils.ToInt(RotateInterval.Text); DataProvider.AdvDao.Insert(advInfo); Body.AddSiteLog(PublishmentSystemId, "新增固定广告", $"广告名称:{advInfo.AdvName}"); SuccessMessage("新增广告成功!"); } AddWaitAndRedirectScript(PageAdv.GetRedirectUrl(PublishmentSystemId, _adAreadId)); } catch (Exception ex) { FailMessage(ex, $"操作失败:{ex.Message}"); } } }
public static string GetSlideAdvHtml(PublishmentSystemInfo publishmentSystemInfo, AdAreaInfo adAreaInfo, AdvInfo advInfo, ArrayList adMaterialInfoList) { var strHtml = new StringBuilder(); strHtml.Append($@"<link href=""{SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, "Styles/Css/slideAdv.css")}"" rel=""stylesheet"" />"); strHtml.Append($@"<script src=""{SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, "JQuery/jquery-1.4.3.min.js")}""></script>"); strHtml.AppendFormat(@" <script type=""text/javascript""> var t = n = 0, count; $(document).ready(function () {{ count = $(""#banner_list a"").length; $(""#banner_list a:not(:first-child)"").hide(); $(""#banner_info"").html($(""#banner_list a:first-child"").find(""img"").attr('alt')); $(""#banner_info"").click(function () {{ window.open($(""#banner_list a:first-child"").attr('href'), ""_blank"") }}); $(""#banner li"").click(function () {{ var i = $(this).text() - 1; n = i; if (i >= count) return; $(""#banner_info"").html($(""#banner_list a"").eq(i).find(""img"").attr('alt')); $(""#banner_info"").unbind().click(function () {{ window.open($(""#banner_list a"").eq(i).attr('href'), ""_blank"") }}) $(""#banner_list a"").filter("":visible"").fadeOut(500).parent().children().eq(i).fadeIn(1000); document.getElementById(""banner"").style.background = """"; $(this).toggleClass(""on""); $(this).siblings().removeAttr(""class""); }}); t = setInterval(""showAuto()"", {0}000); $(""#banner"").hover(function () {{ clearInterval(t) }}, function () {{ t = setInterval(""showAuto()"", {0}000); }}); }}) function showAuto() {{ n = n >= (count - 1) ? 0 : ++n; $(""#banner li"").eq(n).trigger('click'); }} </script> ", advInfo.RotateInterval); strHtml.AppendFormat(@"<div id=""banner"" style=""width:{0}px;height:{1}px;"">", adAreaInfo.Width, adAreaInfo.Height); strHtml.AppendFormat(@"<div id=""banner_bg""></div> <!--标题背景-->"); strHtml.AppendFormat(@"<div id=""banner_info""></div><ul> <!--标题-->"); if (adMaterialInfoList.Count == 1) { var info = adMaterialInfoList[0] as AdMaterialInfo; strHtml.AppendFormat(@"<li class=""on"">1</li></ul><div id=""banner_list"">"); strHtml.AppendFormat(GetImageHtml(publishmentSystemInfo, info)); strHtml.AppendFormat(@"</div></div>"); } else if (adMaterialInfoList.Count > 1) { var index = 0; foreach (AdMaterialInfo info in adMaterialInfoList) { index++; if (index == 1) { strHtml.AppendFormat(@"<li class=""on"">1</li>"); } else { if (index != adMaterialInfoList.Count) { strHtml.AppendFormat(@"<li>{0}</li>", index); } else { strHtml.AppendFormat(@"<li>{0}</li>", index); strHtml.AppendFormat(@"</ul><div id=""banner_list"">"); } } } foreach (AdMaterialInfo info in adMaterialInfoList) { strHtml.AppendFormat(GetImageHtml(publishmentSystemInfo, info)); } strHtml.AppendFormat(@"</div></div>"); } return(strHtml.ToString()); }
/* * 优先级:独占大于标准 * 独占:不设置权重,按开始时间正序取第一条;设置权重,取权重最大的一条 * 标准:一个等级相当于10个权重值,随机获取,等级和权重高的获取的几率比较大 */ public static AdvInfo GetShowAdvInfo(ArrayList advInfoList) { var index = 0; var maxWeight = 0; var isSetWeight = false; AdvInfo advInfo = null; var advIDList = new ArrayList(); var advWeights = new Hashtable(); var holdAdvInfoList = new ArrayList(); var standardAdvInfoList = new ArrayList(); foreach (AdvInfo info in advInfoList) { index++; if (info.IsDateLimited) { if (info.StartDate > DateTime.Now || info.EndDate < DateTime.Now) { continue; } } if (info.LevelType == EAdvLevelType.Hold) { if (info.IsWeight == true) { isSetWeight = true; if (info.Weight > maxWeight) { maxWeight = info.Weight; advWeights.Add(maxWeight, index); } } holdAdvInfoList.Add(info); } else if (info.LevelType == EAdvLevelType.Standard) { var k = 0; if (info.IsWeight == false) { k = info.Level * 10 + info.Weight; } else { k = info.Level * 10; } for (var j = 0; j < k; j++) { advIDList.Add(info.AdvID); } standardAdvInfoList.Add(info); } } if (holdAdvInfoList.Count > 0) { if (isSetWeight == false) { advInfo = holdAdvInfoList[0] as AdvInfo; } else { advInfo = holdAdvInfoList[(int)advWeights[maxWeight] - 1] as AdvInfo; } } else { if (standardAdvInfoList.Count > 0) { var rd = new Random(); var index1 = rd.Next(0, advIDList.Count); foreach (AdvInfo info in standardAdvInfoList) { if (info.AdvID == (int)advIDList[index1]) { advInfo = info; } } } } return(advInfo); }
public string CreatePreAdv(string advTitle, string areaId, string rewardStr, int count) { WorkspaceDataSaveResult saveResult = new WorkspaceDataSaveResult(); var rewardIds = rewardStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var allReward = db.RewardType.Where(p => rewardIds.Contains(p.RewardTypeId.ToString())).OrderBy(p => p.RewardValue).ToList(); //calc totalcost var averageCount = count / rewardIds.Length; var levValue = count % rewardIds.Length; decimal totalValue = 0; for (int i = 0; i < allReward.Count; i++) { if (i < allReward.Count - 1) { totalValue += averageCount * allReward[i].RewardValue; } else { totalValue += (averageCount + levValue) * allReward[i].RewardValue; } } var incomeStatusId = SystemStaticData.LookUpSystemIncomeStatusId(SystemStaticData.SystemIncomeDictionary.Normal); var inCo = db.SystemConfig.FirstOrDefault(p => p.Status == incomeStatusId); totalValue += count * inCo.SystemIncomeValue; //检测账户余额是否够 var userAccount = db.UserAccount.First(p => p.UserId == this.CurrentLoginUserId); if (userAccount.AccountBalance < totalValue) { saveResult.Status = (int)DataSaveStatus.DataValidationError; saveResult.Description = "账户余额不足,请联系管理员充值"; return(new JavaScriptSerializer().Serialize(saveResult)); } //sava adv AdvInfo adv = new AdvInfo(); adv.AdvTitle = advTitle; //adv.AreaId = areaId; adv.TotalCount = count; adv.TotalCash = totalValue; adv.RemainderCash = totalValue; adv.CreateAt = DateTime.Now; adv.UserId = this.CurrentLoginUserId; adv.Status = SystemStaticData.LookUpAdvStatusId(SystemStaticData.AdvDictionary.Prepare); db.AdvInfo.Add(adv); db.SaveChanges(); //save advArea var publishToAreaIds = areaId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var aId in publishToAreaIds) { AdvInfoArea advInfoArea = new AdvInfoArea(); advInfoArea.AdvId = adv.AdvId; advInfoArea.AreaId = int.Parse(aId); db.AdvInfoArea.Add(advInfoArea); } //save adv reward foreach (var id in rewardIds) { AdvReward reward = new AdvReward(); reward.RewardTypeId = int.Parse(id); reward.AdvId = adv.AdvId; db.AdvReward.Add(reward); } //扣款 userAccount.AccountBalance -= totalValue; //记录账户日志 AccountHistory accountHistory = new AccountHistory(); accountHistory.CreateAt = DateTime.Now; accountHistory.AccountId = userAccount.AccountId; accountHistory.ChangeValue = -totalValue; accountHistory.ComeFrom = "发布广告"; db.AccountHistory.Add(accountHistory); db.SaveChanges(); saveResult.Status = (int)DataSaveStatus.Success; saveResult.Description = "申请成功,请联系管理员进行广告内容制作"; return(new JavaScriptSerializer().Serialize(saveResult)); }