Esempio n. 1
0
    public IList <UserAdsInfo> SelectAllTouUserAds(string cid, int state)
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        SqlParameter[] param = new SqlParameter[]
        {
            new SqlParameter("@UserAdsState", state),
            new SqlParameter("@CateId", cid)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_TAOCLASS_ADSINFO, param);

        foreach (DataRow dr in dt.Rows)
        {
            UserAdsInfo info = new UserAdsInfo();
            info.Id       = new Guid(dr["Id"].ToString());
            info.AdsTitle = dr["AdsTitle"].ToString();
            info.AdsUrl   = dr["AdsUrl"].ToString();
            info.AdsId    = new Guid(dr["AdsId"].ToString());
            info.AliWang  = dr["AliWang"].ToString();
            info.AdsPic   = dr["AdsPic"].ToString();

            list.Add(info);
        }

        return(list);
    }
Esempio n. 2
0
    public IList <UserAdsInfo> SelectAllUserAdsList(string nick)
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_ALL_USERADSLIST, new SqlParameter("@Nick", nick));

        foreach (DataRow dr in dt.Rows)
        {
            UserAdsInfo info = new UserAdsInfo();
            info.Id                = new Guid(dr["Id"].ToString());
            info.AdsTitle          = dr["AdsTitle"].ToString();
            info.AdsUrl            = dr["AdsUrl"].ToString();
            info.AdsId             = new Guid(dr["AdsId"].ToString());
            info.UserAdsState      = int.Parse(dr["UserAdsState"].ToString());
            info.AdsShowStartTime  = DateTime.Parse(dr["AdsShowStartTime"].ToString());
            info.AdsShowFinishTime = DateTime.Parse(dr["AdsShowFinishTime"].ToString());
            info.AliWang           = dr["AliWang"].ToString();
            info.SellCateName      = dr["SellCateName"].ToString();
            info.AddTime           = DateTime.Parse(dr["AddTime"].ToString());
            info.FeeId             = new Guid(dr["FeeId"].ToString());
            info.AdsPic            = dr["AdsPic"].ToString();
            info.IsSend            = dr["IsSend"] == DBNull.Value ? 0 : int.Parse(dr["IsSend"].ToString());

            list.Add(info);
        }

        return(list);
    }
Esempio n. 3
0
    public IList <UserAdsInfo> SelectAllUserAdsByAdsId(Guid adsId, int state)
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@AdsId", adsId),
            new SqlParameter("@UserAdsState", state)
        };
        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_USERADS_BY_ADSID, param);

        foreach (DataRow dr in dt.Rows)
        {
            UserAdsInfo info = new UserAdsInfo();
            info.Id                = new Guid(dr["Id"].ToString());
            info.AdsTitle          = dr["AdsTitle"].ToString();
            info.AdsUrl            = dr["AdsUrl"].ToString();
            info.AdsShowStartTime  = DateTime.Parse(dr["AdsShowStartTime"].ToString());
            info.AdsShowFinishTime = DateTime.Parse(dr["AdsShowFinishTime"].ToString());
            info.AliWang           = dr["AliWang"].ToString();
            info.SellCateName      = dr["SellCateName"].ToString();
            info.AddTime           = DateTime.Parse(dr["AddTime"].ToString());
            info.FeeId             = new Guid(dr["FeeId"].ToString());
            info.AdsPic            = dr["AdsPic"].ToString();
            info.Nick              = dr["Nick"].ToString();
            info.Price             = dr["Price"] == DBNull.Value ? 0 : decimal.Parse(dr["Price"].ToString());

            list.Add(info);
        }

        return(list);
    }
Esempio n. 4
0
    public override bool Equals(object obj)
    {
        UserAdsInfo info = obj as UserAdsInfo;

        if (info == null)
        {
            return(false);
        }
        if (info.Id == this.Id)
        {
            return(true);
        }
        return(base.Equals(obj));
    }
Esempio n. 5
0
    private void ShowChart(string start, string end, UserAdsInfo info)
    {
        string            id   = Request.QueryString["id"];
        IList <ClickInfo> list = new ClickService().SelectAllClickCount(new Guid(id), start, end);

        SeriseText = "[{name:'点击量', data:[";
        DateText   = "[";
        for (DateTime h = DateTime.Parse(DateTime.Now.AddDays(-14).ToShortDateString()); h <= DateTime.Parse(DateTime.Now.ToShortDateString()); h = h.AddDays(1))
        {
            DateText += "'" + h.Day + "',";
            IList <ClickInfo> thisInfo = list.Where(o => o.ClickDate == h.ToString("yyyyMMdd")).ToList();


            if (thisInfo.Count == 0)
            {
                if (DateTime.Parse(info.AddTime.ToShortDateString()) <= h)
                {
                    SeriseText += "1,";
                }
                else
                {
                    SeriseText += "0,";
                }
            }
            else
            {
                if (thisInfo[0].ClickCount == 0)
                {
                    if (DateTime.Parse(info.AddTime.ToShortDateString()) <= h)
                    {
                        SeriseText += "1,";
                    }
                    else
                    {
                        SeriseText += thisInfo[0].ClickCount + ",";
                    }
                }
                else
                {
                    SeriseText += thisInfo[0].ClickCount + ",";
                }
            }
        }
        SeriseText  = SeriseText.Substring(0, SeriseText.Length - 1);
        SeriseText += "]}]";

        DateText  = DateText.Substring(0, DateText.Length - 1);
        DateText += "]";
    }
Esempio n. 6
0
    public int UpdateUserAdsState(UserAdsInfo info)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@Id", info.Id),
            new SqlParameter("@UserAdsState", info.UserAdsState),
            new SqlParameter("@AdsShowStartTime", info.AdsShowStartTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AdsShowStartTime),
            new SqlParameter("@AdsShowFinishTime", info.AdsShowFinishTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AdsShowFinishTime),
            new SqlParameter("@AddTime", info.AddTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AddTime),
            new SqlParameter("@FeeId", info.FeeId),
            new SqlParameter("@AdsId", info.AdsId)
        };

        return(DBHelper.ExecuteNonQuery(SQL_UPDATE_ADS_STATE, param));
    }
Esempio n. 7
0
    /// <summary>
    /// 查找所有已经使用了的类型为5的广告位
    /// </summary>
    /// <returns></returns>
    public IList <UserAdsInfo> SelectAllUsedAds()
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT_USEDADS);

        foreach (DataRow dr in dt.Rows)
        {
            UserAdsInfo info = new UserAdsInfo();
            info.Nick  = dr["Nick"].ToString();
            info.FeeId = new Guid(dr["FeeId"].ToString());

            list.Add(info);
        }

        return(list);
    }
Esempio n. 8
0
    private static SqlParameter[] CreateParameter(UserAdsInfo info)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@Id", info.Id),
            new SqlParameter("@AdsTitle", info.AdsTitle),
            new SqlParameter("@AdsUrl", info.AdsUrl),
            new SqlParameter("@AdsId", string.IsNullOrEmpty(info.AdsId.ToString())?Guid.Empty:info.AdsId),
            new SqlParameter("@UserAdsState", info.UserAdsState),
            new SqlParameter("@AdsShowStartTime", info.AdsShowStartTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AdsShowStartTime),
            new SqlParameter("@AdsShowFinishTime", info.AdsShowFinishTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AdsShowFinishTime),
            new SqlParameter("@AliWang", info.AliWang),
            new SqlParameter("@SellCateName", info.SellCateName),
            new SqlParameter("@AddTime", info.AddTime == DateTime.MinValue?DateTime.Parse("1990-1-1"):info.AddTime),
            new SqlParameter("@FeeId", string.IsNullOrEmpty(info.FeeId.ToString())?Guid.Empty:info.FeeId),
            new SqlParameter("@Nick", info.Nick),
            new SqlParameter("@CateIds", info.CateIds),
            new SqlParameter("@AdsPic", info.AdsPic),
            new SqlParameter("@Price", info.Price)
        };

        return(param);
    }
Esempio n. 9
0
    public UserAdsInfo SelectUserAdsById(Guid id)
    {
        UserAdsInfo info = null;
        DataTable   dt   = DBHelper.ExecuteDataTable(SQL_SELECT_USERADS, new SqlParameter("@Id", id));

        foreach (DataRow dr in dt.Rows)
        {
            info                   = new UserAdsInfo();
            info.AdsTitle          = dr["AdsTitle"].ToString();
            info.AdsUrl            = dr["AdsUrl"].ToString();
            info.AdsId             = new Guid(dr["AdsId"].ToString());
            info.UserAdsState      = int.Parse(dr["UserAdsState"].ToString());
            info.AdsShowStartTime  = DateTime.Parse(dr["AdsShowStartTime"].ToString());
            info.AdsShowFinishTime = DateTime.Parse(dr["AdsShowFinishTime"].ToString());
            info.AliWang           = dr["AliWang"].ToString();
            info.SellCateName      = dr["SellCateName"].ToString();
            info.AddTime           = DateTime.Parse(dr["AddTime"].ToString());
            info.FeeId             = new Guid(dr["FeeId"].ToString());
            info.AdsPic            = dr["AdsPic"].ToString();
        }

        return(info);
    }
Esempio n. 10
0
    public IList <UserAdsInfo> SelectAllUserAdsClick(DateTime date)
    {
        SqlParameter[] param = new[]
        {
            new SqlParameter("@time", date.AddMinutes(-30)),
            new SqlParameter("@date", date.ToString("yyyyMMdd"))
        };

        DataTable           dt   = DBHelper.ExecuteDataTable(SQL_SELECT_ADSCLICK, param);
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        foreach (DataRow dr in dt.Rows)
        {
            UserAdsInfo info = new UserAdsInfo();
            info.Id     = new Guid(dr["Id"].ToString());
            info.AdsUrl = dr["AdsUrl"].ToString();
            info.IsSend = dr["ClickCount"] == DBNull.Value ? 0 : int.Parse(dr["ClickCount"].ToString()); //这个是否赠送作为点击次数
            info.FeeId  = new Guid(dr["FeeId"].ToString());

            list.Add(info);
        }

        return(list);
    }
Esempio n. 11
0
    protected void Btn_AddAds_Click(object sender, EventArgs e)
    {
        if (TB_Password.Text == "tuituiguang!(**gansibangtuiguang")
        {
            IList <BuyInfo> list = CacheCollection.GetAllBuyInfo();
            if (list.Where(o => o.Nick == TB_Nick.Text.Trim()).ToList().Count > 0)
            {
                IList <GoodsInfo> glist = new GoodsService().SelectAllGoodsByNick(TB_Nick.Text.Trim());
                if (glist.Count != 0)
                {
                    GoodsInfo ginfo = null;
                    if (glist.Count == 1)
                    {
                        ginfo = glist[0];
                    }
                    else
                    {
                        ginfo = glist[new Random().Next(0, glist.Count)];
                    }
                    UserAdsInfo info = new UserAdsInfo();
                    info.AdsTitle     = ginfo.GoodsName;
                    info.Id           = Guid.NewGuid();
                    info.UserAdsState = 1;
                    info.AdsUrl       = "http://item.taobao.com/item.htm?id=" + ginfo.GoodsId;
                    string cateId = ginfo.CateId;

                    TaoBaoGoodsClassInfo tcinfo = new TaoBaoGoodsClassService().SelectGoodsClass(cateId);
                    info.CateIds = ginfo.TaoBaoCId;
                    string cname = tcinfo == null ? "" : tcinfo.name;
                    info.SellCateName = GetTaoBaoCName(info.CateIds, cname);
                    info.AliWang      = TB_Nick.Text.Trim();
                    info.Nick         = TB_Nick.Text.Trim();
                    info.AdsPic       = ginfo.GoodsPic;
                    info.Price        = ginfo.GoodsPrice;

                    info.AddTime           = DateTime.Now;
                    info.AdsId             = GetRand(CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 1).ToList());
                    info.FeeId             = list[0].FeeId;
                    info.AdsShowStartTime  = DateTime.Now;
                    info.AdsShowFinishTime = DateTime.Now.AddDays(7);
                    info.UserAdsState      = 1;
                    string taoId = info.CateIds;
                    info.CateIds = GetTaoBaoCId(taoId, taoId);
                    info.IsSend  = 1; //表示是赠送的

                    //new UserAdsService().InsertUserAds(info);

                    GoodPingService pingDal = new GoodPingService();

                    IList <GoodPingInfo> pinginfoList = pingDal.GetGoodPingByNick(TB_Nick.Text.Trim());
                    if (pinginfoList.Count == 0)
                    {
                        GoodPingInfo pingInfo = new GoodPingInfo();
                        pingInfo.AddIP     = Request.ServerVariables["REMOTE_ADDR"];
                        pingInfo.Nick      = TB_Nick.Text.Trim();
                        pingInfo.PingDate  = DateTime.Now;
                        pingInfo.PingTimes = 1;
                        pingDal.InsertGoodPing(pingInfo);
                    }
                    else
                    {
                        pinginfoList[0].AddIP     = Request.ServerVariables["REMOTE_ADDR"];
                        pinginfoList[0].PingDate  = DateTime.Now;
                        pinginfoList[0].PingTimes = pinginfoList[0].PingTimes + 1;
                        pingDal.UpdatePingInfo(pinginfoList[0]);
                    }
                    Page.RegisterStartupScript("恭喜", "<script>alert('赠送广告成功');</script>");
                    Response.Redirect("/SendUserAds.aspx");
                }
            }
            else
            {
                Page.RegisterStartupScript("Error", "<script>alert('没有购买记录');</script>");
            }
        }
    }
Esempio n. 12
0
    protected void BTN_Tui_Click(object sender, EventArgs e)
    {
        string nick = "";

        if (Request.Cookies["nick"] != null)
        {
            nick = HttpUtility.UrlDecode(Request.Cookies["nick"].Value); //"nick";
        }
        else
        {
            nick = Session["snick"].ToString();
        }

        if (DDL_AdsType.SelectedValue == Guid.Empty.ToString() || DDL_App.SelectedValue == Guid.Empty.ToString() || DDL_Position.SelectedValue == Guid.Empty.ToString())
        {
            Page.RegisterStartupScript("通知", "<script>alert('请选择投放的应用,类型以及位置,请按您购买的服务类型选择!');</script>");
            return;
        }

        //购买类型
        IList <BuyInfo> buyList = CacheCollection.GetAllBuyInfo().Where(o => o.Nick == nick).ToList();

        //投放的广告
        IList <UserAdsInfo> useradsList = userAdsDal.SelectAllUserAds(nick);

        bool notou = true;

        //新的添加广告方法
        if (buyList.Count > 0)
        {
            if (!buyList[0].IsExpied)
            {
                SiteAdsInfo sadsinfo = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList()[0];

                FeeInfo feeInfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == buyList[0].FeeId).ToList()[0];
                //已经投放了的该收费类型的广告集合
                IList <UserAdsInfo> myUseradsList = useradsList.Where(o => o.FeeId == feeInfo.FeeId && o.UserAdsState == 1).ToList();

                int calScore = 0;
                calScore = feeInfo.Score;
                for (int i = 0; i < myUseradsList.Count; i++)
                {
                    SiteAdsInfo sainfo = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id == myUseradsList[i].AdsId).ToList()[0];
                    calScore -= sainfo.Score;
                }

                UserAdsInfo info = new UserAdsInfo();
                info.AdsTitle     = TB_ShppName.Text.Trim();
                info.Id           = Guid.NewGuid();
                info.UserAdsState = 0;
                info.AdsUrl       = TB_ShowUrl.Text.Trim();
                string cateId = ViewState["shopcid"].ToString();

                TaoBaoGoodsClassInfo tcinfo = new TaoBaoGoodsClassService().SelectGoodsClass(cateId);
                info.CateIds = ViewState["shopcid"].ToString();
                string cname = tcinfo == null ? "" : tcinfo.name;
                info.SellCateName = GetTaoBaoCName(info.CateIds, cname);
                info.AliWang      = nick;
                info.Nick         = nick;
                info.AdsPic       = ShopImg;
                //店铺图标
                if (FUD_Img.HasFile && CheckImg())
                {
                    Guid imgurl = Guid.NewGuid();
                    FUD_Img.SaveAs(Server.MapPath("~/adsimg") + "/" + imgurl + ".jpg");
                    info.AdsPic = "/adsimg/" + imgurl + ".jpg";
                }
                //不能继续投放
                if (calScore < sadsinfo.Score)
                {
                }
                //可以投放
                else
                {
                    if (sadsinfo.AdsCount != -1)
                    {
                        //这里需要查询空闲的广告(或者说是可以用的广告位)
                        IList <UserAdsInfo> usedadsList = userAdsDal.SelectAllUsedAds();
                        IList <SiteAdsInfo> allads      = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList();
                        if (allads.Count > 0 && allads[0].AdsCalCount > 0)
                        {
                            info.AddTime = DateTime.Now;
                            info.AdsId   = new Guid(DDL_Position.SelectedValue);
                            //不需要旺旺
                            info.AliWang           = ""; //nick;
                            info.FeeId             = buyList[0].FeeId;
                            info.AdsShowStartTime  = DateTime.Now;
                            info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                            info.Nick         = nick;
                            info.UserAdsState = 1;
                            //不需要分类
                            //string taoId = list[i].CateIds;
                            info.CateIds = "";  // GetTaoBaoCId(taoId, ref taoId);
                        }
                        else
                        {
                            Page.RegisterStartupScript("通知", "<script>alert('请联系我们的客服人员为您添加广告');</script>");
                        }
                    }
                    else
                    {
                        info.AddTime           = DateTime.Now;
                        info.AdsId             = new Guid(DDL_Position.SelectedValue);
                        info.AliWang           = nick;
                        info.FeeId             = buyList[0].FeeId;
                        info.AdsShowStartTime  = DateTime.Now;
                        info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                        info.Nick         = nick;
                        info.UserAdsState = 1;
                        string taoId = info.CateIds;
                        info.CateIds = GetTaoBaoCId(taoId, taoId);
                    }
                    notou = false;
                }

                string uid  = CacheCollection.GetAllSiteList().Where(o => o.SiteId.ToString() == DDL_App.SelectedValue).ToList()[0].SiteUrl;
                int    area = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList()[0].PositionCode;
                int    typ  = 0;
                if (DDL_AdsType.SelectedValue == "1A4AB7A8-49A1-41FC-A5A6-788FD582DB82" || DDL_AdsType.SelectedValue == "7CE41706-582D-4270-82C4-81420F923D6A")
                {
                    typ = 0;
                }
                if (DDL_AdsType.SelectedValue == "68A5E23C-6CFD-427D-BD0E-1E2B1B160875" || DDL_AdsType.SelectedValue == "C1F928EF-CA82-4FED-B960-CA33FCE417E9")
                {
                    typ = 1;
                }
                if (DDL_AdsType.SelectedValue == "813F256D-D83A-43CE-8CC4-273C965DBF84")
                {
                    typ = 2;
                }
                Guid ggid = Guid.Empty;

                if (info.AdsId != Guid.Empty)
                {
                    ggid = PostIphone.InsertAds(uid, area, typ, info.AdsPic, info.AdsUrl, info.Price, info.AdsTitle);
                    if (ggid == Guid.Empty)
                    {
                        Page.RegisterStartupScript("通知", "<script>alert('发送添加广告错误');</script>");
                        return;
                    }
                    userAdsDal.InsertUserAds(info, ggid);
                }
            }
        }

        //if (notou)
        //    Response.Redirect("UserAdsList.aspx");
        //else
        Response.Redirect("UserAdsList.aspx?istou=1");
    }
Esempio n. 13
0
    protected void BTN_ShowGoods_Click(object sender, EventArgs e)
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        string nick = "";

        if (Request.Cookies["nick"] != null)
        {
            nick = HttpUtility.UrlDecode(Request.Cookies["nick"].Value); //"nick";
        }
        else
        {
            nick = Session["snick"].ToString();
        }

        CateService      cateDal  = new CateService();
        IList <CateInfo> cateList = cateDal.SelectAllCateByNick(nick).ToList();

        UserAdsService userAdsDal = new UserAdsService();

        foreach (RepeaterItem item in Rpt_GoodsList.Items)
        {
            CheckBox cb = (CheckBox)item.FindControl("CBOX_Goods");
            if (cb.Checked)
            {
                UserAdsInfo info = new UserAdsInfo();
                info.AdsTitle     = ((Label)item.FindControl("LB_GoodsName")).Text;
                info.Id           = Guid.NewGuid();
                info.UserAdsState = 0;
                info.AdsUrl       = "http://item.taobao.com/item.htm?id=" + ((Label)item.FindControl("LB_GoodsId")).Text;
                string cateId = ((Label)item.FindControl("LB_CateId")).Text;

                IList <CateInfo> thiscList = cateList.Where(o => o.CateId == cateId).ToList();

                info.CateIds = ((Label)item.FindControl("LB_TaoBaoCId")).Text;
                string cname = thiscList.Count == 0 ? "" : thiscList[0].CateName;
                info.SellCateName = GetTaoBaoCName(info.CateIds, cname);
                info.AliWang      = nick;
                info.Nick         = nick;
                info.AdsPic       = ((Label)item.FindControl("LB_Img")).Text;
                info.Price        = decimal.Parse(((Label)item.FindControl("LB_Price")).Text);
                list.Add(info);
            }
        }
        if (list.Count == 0)
        {
            return;
        }


        IList <BuyInfo> buyList = CacheCollection.GetAllBuyInfo().Where(o => o.Nick == nick).ToList();

        //投放的广告
        IList <UserAdsInfo> useradsList = userAdsDal.SelectAllUserAds(nick);

        //购买类型
        foreach (BuyInfo binfo in buyList)
        {
            //未过期的
            if (!binfo.IsExpied)
            {
                //收费类型
                FeeInfo feeInfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == binfo.FeeId).ToList()[0];

                if (feeInfo.AdsCount > 0)
                {
                    int count = feeInfo.AdsCount > list.Count ? list.Count : feeInfo.AdsCount;

                    //已经投放了的该收费类型的广告集合
                    IList <UserAdsInfo> myUseradsList = useradsList.Where(o => o.FeeId == feeInfo.FeeId && o.UserAdsState == 1).ToList();

                    //真正可以添加的广告数量
                    int realcount = 0;
                    if (feeInfo.AdsCount - myUseradsList.Count <= 0)
                    {
                        realcount = 0;
                    }
                    else
                    {
                        realcount = (feeInfo.AdsCount - myUseradsList.Count) >= count ? count : feeInfo.AdsCount - myUseradsList.Count;
                    }

                    if (realcount > 0)
                    {
                        if (feeInfo.AdsType == 5)
                        {
                            //这里需要查询空闲的广告(或者说是可以用的广告位)
                            IList <UserAdsInfo> usedadsList = userAdsDal.SelectAllUsedAds();
                            IList <AdsInfo>     allads      = CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 5).ToList();
                            if (allads.Count > usedadsList.Count)
                            {
                                //得到没有使用的广告位
                                IList <AdsInfo> hasads = new List <AdsInfo>();
                                foreach (AdsInfo ainfo in allads)
                                {
                                    if (usedadsList.Where(o => o.AdsId == ainfo.AdsId).ToList().Count == 0)
                                    {
                                        hasads.Add(ainfo);
                                    }
                                }


                                for (int i = 0; i < realcount; i++)
                                {
                                    list[i].AddTime = DateTime.Now;
                                    list[i].AdsId   = GetRand(hasads);
                                    //不需要旺旺
                                    list[i].AliWang           = ""; //nick;
                                    list[i].FeeId             = binfo.FeeId;
                                    list[i].AdsShowStartTime  = DateTime.Now;
                                    list[i].AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                                    list[i].Nick         = nick;
                                    list[i].UserAdsState = 1;
                                    //不需要分类
                                    //string taoId = list[i].CateIds;
                                    list[i].CateIds = "";  // GetTaoBaoCId(taoId, ref taoId);
                                }
                            }
                            else
                            {
                                Page.RegisterStartupScript("通知", "<script>alert('请联系我们的客服人员为您添加广告');</script>");
                            }
                            continue;
                        }

                        //可以放多少个
                        for (int i = 0; i < realcount; i++)
                        {
                            list[i].AddTime           = DateTime.Now;
                            list[i].AdsId             = GetRand(CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 1).ToList());
                            list[i].AliWang           = nick;
                            list[i].FeeId             = binfo.FeeId;
                            list[i].AdsShowStartTime  = DateTime.Now;
                            list[i].AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                            list[i].Nick         = nick;
                            list[i].UserAdsState = 1;
                            string taoId = list[i].CateIds;
                            list[i].CateIds = GetTaoBaoCId(taoId, taoId);
                        }
                    }
                }
            }
        }

        foreach (UserAdsInfo info in list)
        {
            userAdsDal.InsertUserAds(info);
        }

        Response.Redirect("UserAdsList.aspx?istou=1");
    }
Esempio n. 14
0
 public int InsertUserAds(UserAdsInfo info)
 {
     return(DBHelper.ExecuteNonQuery(SQL_INSERT, CreateParameter(info)));
 }
Esempio n. 15
0
    protected void BTN_ShowGoods_Click(object sender, EventArgs e)
    {
        IList <UserAdsInfo> list = new List <UserAdsInfo>();

        string nick = "";

        if (Request.Cookies["nick"] != null)
        {
            nick = HttpUtility.UrlDecode(Request.Cookies["nick"].Value); //"nick";
        }
        else
        {
            nick = Session["snick"].ToString();
        }

        if (DDL_AdsType.SelectedValue == Guid.Empty.ToString() || DDL_App.SelectedValue == Guid.Empty.ToString() || DDL_Position.SelectedValue == Guid.Empty.ToString())
        {
            Page.RegisterStartupScript("通知", "<script>alert('请选择投放的应用,类型以及位置,请按您购买的服务类型选择!');</script>");
            return;
        }

        CateService      cateDal  = new CateService();
        IList <CateInfo> cateList = cateDal.SelectAllCateByNick(nick).ToList();

        UserAdsService userAdsDal = new UserAdsService();

        foreach (RepeaterItem item in Rpt_GoodsList.Items)
        {
            CheckBox cb = (CheckBox)item.FindControl("CBOX_Goods");
            if (cb.Checked)
            {
                UserAdsInfo info = new UserAdsInfo();
                info.AdsTitle     = ((Label)item.FindControl("LB_GoodsName")).Text;
                info.Id           = Guid.NewGuid();
                info.UserAdsState = 0;
                info.AdsUrl       = "http://item.taobao.com/item.htm?id=" + ((Label)item.FindControl("LB_GoodsId")).Text;
                string cateId = ((Label)item.FindControl("LB_CateId")).Text;

                IList <CateInfo> thiscList = cateList.Where(o => o.CateId == cateId).ToList();

                info.CateIds = ((Label)item.FindControl("LB_TaoBaoCId")).Text;
                string cname = thiscList.Count == 0 ? "" : thiscList[0].CateName;
                info.SellCateName = GetTaoBaoCName(info.CateIds, cname);
                info.AliWang      = nick;
                info.Nick         = nick;
                info.AdsPic       = ((Label)item.FindControl("LB_Img")).Text;
                info.Price        = decimal.Parse(((Label)item.FindControl("LB_Price")).Text);
                list.Add(info);
            }
        }
        if (list.Count == 0)
        {
            return;
        }

        SiteAdsInfo sadsinfo  = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList()[0];
        int         needScore = sadsinfo.Score * list.Count;

        //购买类型
        IList <BuyInfo> buyList = CacheCollection.GetAllBuyInfo().Where(o => o.Nick == nick).ToList();

        //投放的广告
        IList <UserAdsInfo> useradsList = userAdsDal.SelectAllUserAds(nick);

        //新的添加广告方法
        if (buyList.Count > 0)
        {
            if (!buyList[0].IsExpied)
            {
                FeeInfo feeInfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == buyList[0].FeeId).ToList()[0];
                //已经投放了的该收费类型的广告集合
                IList <UserAdsInfo> myUseradsList = useradsList.Where(o => o.FeeId == feeInfo.FeeId && o.UserAdsState == 1).ToList();

                int calScore = 0;
                calScore = feeInfo.Score;
                for (int i = 0; i < myUseradsList.Count; i++)
                {
                    SiteAdsInfo sainfo = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id == myUseradsList[i].AdsId).ToList()[0];
                    calScore -= sainfo.Score;
                }

                int canTou = calScore / needScore; //可以投放的个数

                if (canTou > 0)
                {
                    canTou = canTou > list.Count ? list.Count : canTou;
                }

                //不能继续投放
                if (canTou == 0)
                {
                    Page.RegisterStartupScript("通知", "<script>alert('您不能投放该类型广告');</script>");
                }
                //可以投放
                else
                {
                    if (sadsinfo.AdsCount != -1)
                    {
                        //这里需要查询空闲的广告(或者说是可以用的广告位)
                        IList <UserAdsInfo> usedadsList = userAdsDal.SelectAllUsedAds();
                        IList <SiteAdsInfo> allads      = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList();
                        if (allads.Count > 0 && allads[0].AdsCalCount > 0)
                        {
                            //可以放多少个
                            for (int i = 0; i < canTou; i++)
                            {
                                list[i].AddTime           = DateTime.Now;
                                list[i].AliWang           = nick;
                                list[i].FeeId             = feeInfo.FeeId;
                                list[i].AdsShowStartTime  = DateTime.Now;
                                list[i].AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                                list[i].Nick         = nick;
                                list[i].UserAdsState = 1;
                                string taoId = list[i].CateIds;
                                list[i].CateIds = GetTaoBaoCId(taoId, taoId);
                                list[i].AdsId   = new Guid(DDL_Position.SelectedValue);
                            }
                        }
                        else
                        {
                            Page.RegisterStartupScript("通知", "<script>alert('请联系我们的客服人员为您添加广告');</script>");
                        }
                    }
                    else
                    {
                        //可以放多少个
                        for (int i = 0; i < canTou; i++)
                        {
                            list[i].AddTime           = DateTime.Now;
                            list[i].AliWang           = nick;
                            list[i].FeeId             = feeInfo.FeeId;
                            list[i].AdsShowStartTime  = DateTime.Now;
                            list[i].AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                            list[i].Nick         = nick;
                            list[i].UserAdsState = 1;
                            string taoId = list[i].CateIds;
                            list[i].CateIds = GetTaoBaoCId(taoId, taoId);
                            list[i].AdsId   = new Guid(DDL_Position.SelectedValue);
                        }
                    }
                }
            }
        }
        string uid  = CacheCollection.GetAllSiteList().Where(o => o.SiteId.ToString() == DDL_App.SelectedValue).ToList()[0].SiteUrl;
        int    area = CacheCollection.GetAllSiteAdsInfo().Where(o => o.Id.ToString() == DDL_Position.SelectedValue).ToList()[0].PositionCode;
        int    typ  = 0;

        if (DDL_AdsType.SelectedValue.ToLower() == "1A4AB7A8-49A1-41FC-A5A6-788FD582DB82".ToLower() || DDL_AdsType.SelectedValue.ToLower() == "7CE41706-582D-4270-82C4-81420F923D6A".ToLower())
        {
            typ = 0;
        }
        if (DDL_AdsType.SelectedValue.ToLower() == "68A5E23C-6CFD-427D-BD0E-1E2B1B160875".ToLower() || DDL_AdsType.SelectedValue.ToLower() == "C1F928EF-CA82-4FED-B960-CA33FCE417E9".ToLower())
        {
            typ = 1;
        }
        if (DDL_AdsType.SelectedValue.ToLower() == "813F256D-D83A-43CE-8CC4-273C965DBF84".ToLower())
        {
            typ = 2;
        }

        foreach (UserAdsInfo info in list)
        {
            Guid ggid = info.Id;

            if (info.AdsId != Guid.Empty)
            {
                ggid = PostIphone.InsertAds(uid, area, typ, info.AdsPic, info.AdsUrl, info.Price, info.AdsTitle);
                if (ggid == Guid.Empty)
                {
                    Page.RegisterStartupScript("通知", "<script>alert('发送添加广告错误');</script>");
                    continue;
                }
                userAdsDal.InsertUserAds(info, ggid);
            }
        }

        Response.Redirect("UserAdsList.aspx?istou=1");
    }
Esempio n. 16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            IList <AdsInfo> adsList = CacheCollection.GetAllAdsInfo();

            Random rand = new Random();

            //AdsInfo info = adsList[rand.Next(adsList.Count)];
            //IList<UserAdsInfo> list = uasDal.SelectAllUserAdsByAdsId(info.AdsId, 1);

            IList <UserAdsInfo> list = uasDal.SelectAllUserAdsClick(DateTime.Now);

            //获取访问IP
            string ip = Request.ServerVariables["REMOTE_ADDR"];
            //if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour < 9)
            //{
            //    IList<ClickInfo> clickList = clickDal.SelectAllClickCount(DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("yyyyMMdd"));

            //    //获取当天已经访问来了的IP
            //    IList<ClickIPInfo> ipList = clickDal.SelectAllClickIPByDate(DateTime.Now.ToString("yyyyMMdd"));
            //    //和当前IP相同的
            //    ipList = ipList.Where(o => o.VisitIP == ip).ToList();

            //    for (int i = 0; i < ipList.Count; i++)
            //    {
            //        //已经访问了该广告
            //        IList<UserAdsInfo> hadlist = list.Where(o => o.Id == ipList[i].UserAdsId).ToList();
            //        if (hadlist.Count > 0)
            //        {qin
            //            list.Remove(hadlist[0]);
            //        }
            //    }
            //}


            if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour < 12)
            {
                IList <Guid> clickIPlist = uasDal.SelectAllClickIP(DateTime.Now, ip);
                foreach (Guid gid in clickIPlist)
                {
                    IList <UserAdsInfo> hadlist = list.Where(o => o.Id == gid).ToList();
                    if (hadlist.Count > 0)
                    {
                        list.Remove(hadlist[0]);
                    }
                }
            }

            if (list.Count == 0)
            {
                return;
            }

            int suiCount = 0;

            if ((int)DateTime.Now.DayOfWeek == 1)
            {
                suiCount = rand.Next(3, 6);
            }

            if ((int)DateTime.Now.DayOfWeek == 2)
            {
                suiCount = rand.Next(6, 8);
            }

            if ((int)DateTime.Now.DayOfWeek == 3)
            {
                suiCount = rand.Next(8, 10);
            }

            if ((int)DateTime.Now.DayOfWeek == 4)
            {
                suiCount = rand.Next(10, 12);
            }

            if ((int)DateTime.Now.DayOfWeek == 5)
            {
                suiCount = rand.Next(8, 10);
            }

            if ((int)DateTime.Now.DayOfWeek == 6)
            {
                suiCount = rand.Next(6, 8);
            }

            if ((int)DateTime.Now.DayOfWeek == 0)
            {
                suiCount = rand.Next(1, 3);
            }

            if (list.Where(o => o.IsSend < (10 + suiCount)).ToList().Count > 0)
            {
                list = list.Where(o => o.IsSend < (10 + suiCount)).ToList();
            }

            //for (int i = 0; i < clickList.Count; i++)
            //{

            //    if (clickList[i].ClickCount >= num1)//10)
            //    {
            //        IList<UserAdsInfo> hadlist = list.Where(o => o.Id == clickList[i].UserAdsId).ToList();

            //        if (hadlist.Count > 0)
            //        {
            //            FeeInfo finfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == hadlist[0].FeeId).ToList()[0];
            //            if (finfo.AdsType == 1)
            //            {
            //                if (finfo.AdsCount == 1)
            //                    list.Remove(hadlist[0]);
            //                else
            //                {
            //                    if (clickList[i].ClickCount >= num2)//18)
            //                        list.Remove(hadlist[0]);
            //                }
            //            }
            //            if (finfo.AdsType == 5)
            //            {
            //                if (clickList[i].ClickCount >= num3) //27)
            //                    list.Remove(hadlist[0]);
            //            }
            //        }
            //    }
            //}

            if (list.Count == 0)
            {
                return;
            }

            UserAdsInfo uinfo = list[0];
            if (list.Count > 1)
            {
                uinfo = list[rand.Next(list.Count)];
            }

            ClickIPInfo iinfo = new ClickIPInfo();
            iinfo.VisitIP   = ip;
            iinfo.ClickId   = Guid.NewGuid();
            iinfo.VisitDate = DateTime.Now.ToString("yyyyMMdd");
            iinfo.UserAdsId = uinfo.Id;
            clickDal.InsertClickIP(iinfo);

            string param = "id=" + uinfo.Id + "&url=" + uinfo.AdsUrl;
            Response.Redirect("getclick.aspx?" + HttpUtility.UrlEncode(param));
        }
    }
Esempio n. 17
0
    protected void RPT_AdsList_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "De")
        {
            Guid id = new Guid(e.CommandArgument.ToString());
            uasDal.DelteUserAds(id);
            Response.Redirect("UserAdsList.aspx");
        }
        if (e.CommandName == "Insert")
        {
            Guid        id   = new Guid(e.CommandArgument.ToString());
            UserAdsInfo info = uasDal.SelectUserAdsById(id);
            string      nick = "";
            if (Request.Cookies["nick"] != null)
            {
                nick = HttpUtility.UrlDecode(Request.Cookies["nick"].Value); //"nick";
            }
            else
            {
                nick = Session["snick"].ToString();
            }
            IList <BuyInfo> buyList = CacheCollection.GetAllBuyInfo().Where(o => o.Nick == nick).ToList();
            bool            noads   = true;
            //投放的广告
            IList <UserAdsInfo> useradsList = uasDal.SelectAllUserAds(nick);

            //购买类型
            foreach (BuyInfo binfo in buyList)
            {
                //未过期的
                if (!binfo.IsExpied)
                {
                    //收费类型
                    FeeInfo feeInfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == binfo.FeeId).ToList()[0];

                    if (feeInfo.AdsCount > 0)
                    {
                        //已经投放了的该收费类型的广告集合
                        IList <UserAdsInfo> myUseradsList = useradsList.Where(o => o.FeeId == feeInfo.FeeId && o.UserAdsState == 1).ToList();

                        //真正可以添加的广告数量
                        int realcount = feeInfo.AdsCount - myUseradsList.Count;

                        if (realcount > 0)
                        {
                            if (feeInfo.AdsType == 5)
                            {
                                //这里需要查询空闲的广告(或者说是可以用的广告位)
                                IList <UserAdsInfo> usedadsList = uasDal.SelectAllUsedAds();
                                IList <AdsInfo>     allads      = CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 5).ToList();
                                if (allads.Count > usedadsList.Count)
                                {
                                    //得到没有使用的广告位
                                    IList <AdsInfo> hasads = new List <AdsInfo>();
                                    foreach (AdsInfo ainfo in allads)
                                    {
                                        if (usedadsList.Where(o => o.AdsId == ainfo.AdsId).ToList().Count == 0)
                                        {
                                            hasads.Add(ainfo);
                                        }
                                    }

                                    info.AddTime = DateTime.Now;
                                    info.AdsId   = GetRand(hasads);
                                    //不需要旺旺
                                    info.AliWang           = ""; //nick;
                                    info.FeeId             = binfo.FeeId;
                                    info.AdsShowStartTime  = DateTime.Now;
                                    info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                                    info.Nick         = nick;
                                    info.UserAdsState = 1;
                                    //不需要分类
                                    //string taoId = info.CateIds;
                                    info.CateIds = "";  // GetTaoBaoCId(taoId, ref taoId);
                                }
                                else
                                {
                                    Page.RegisterStartupScript("通知", "<script>alert('请联系我们的客服人员为您添加广告');</script>");
                                }
                                continue;
                            }

                            info.AddTime           = DateTime.Now;
                            info.AdsId             = info.AdsId == Guid.Empty ? GetRand(CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 1).ToList()) : info.AdsId;
                            info.AliWang           = nick;
                            info.FeeId             = binfo.FeeId;
                            info.AdsShowStartTime  = DateTime.Now;
                            info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                            info.Nick         = nick;
                            info.UserAdsState = 1;
                            string taoId = info.CateIds;
                            info.CateIds = GetTaoBaoCId(taoId, ref taoId);

                            info.Id = id;
                            uasDal.UpdateUserAdsState(info);
                            //
                            noads = false;

                            break;
                        }
                    }
                }
            }

            if (noads)
            {
                Response.Redirect("/qubie.html");
            }
            else
            {
                Response.Redirect("UserAdsList.aspx?istou=1");
            }
        }
        if (e.CommandName == "Result")
        {
            Guid id = new Guid(e.CommandArgument.ToString());
            Response.Redirect("ShowClick.aspx?id=" + id);
        }
        if (e.CommandName == "See")
        {
            Guid id = new Guid(e.CommandArgument.ToString());
            Response.Redirect("ShowAds.aspx?adsid=" + id);
        }
        if (e.CommandName == "Stop")
        {
            Guid id = new Guid(e.CommandArgument.ToString());
            uasDal.StopUserAds(2, id);
            Response.Redirect("UserAdsList.aspx");
        }
        if (e.CommandName == "Add")
        {
        }
    }
Esempio n. 18
0
    protected void BTN_Tui_Click(object sender, EventArgs e)
    {
        string nick = "";

        if (Request.Cookies["nick"] != null)
        {
            nick = HttpUtility.UrlDecode(Request.Cookies["nick"].Value); //"nick";
        }
        else
        {
            nick = Session["snick"].ToString();
        }

        //购买类型
        IList <BuyInfo> buyList = CacheCollection.GetAllBuyInfo().Where(o => o.Nick == nick).ToList();

        //投放的广告
        IList <UserAdsInfo> useradsList = userAdsDal.SelectAllUserAds(nick);

        bool notou = true;

        foreach (BuyInfo binfo in buyList)
        {
            //未过期的
            if (!binfo.IsExpied)
            {
                //收费类型
                FeeInfo feeInfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == binfo.FeeId).ToList()[0];

                if (feeInfo.AdsCount > 0)
                {
                    //已经投放了的该收费类型的广告集合
                    IList <UserAdsInfo> myUseradsList = useradsList.Where(o => o.FeeId == feeInfo.FeeId && o.UserAdsState == 1).ToList();

                    //真正可以添加的广告数量
                    int         realcount = feeInfo.AdsCount - myUseradsList.Count;
                    UserAdsInfo info      = new UserAdsInfo();
                    info.AdsTitle     = TB_ShppName.Text.Trim();
                    info.Id           = Guid.NewGuid();
                    info.UserAdsState = 0;
                    info.AdsUrl       = TB_ShowUrl.Text.Trim();
                    string cateId = ViewState["shopcid"].ToString();

                    TaoBaoGoodsClassInfo tcinfo = new TaoBaoGoodsClassService().SelectGoodsClass(cateId);
                    info.CateIds = ViewState["shopcid"].ToString();
                    string cname = tcinfo == null ? "" : tcinfo.name;
                    info.SellCateName = GetTaoBaoCName(info.CateIds, cname);
                    info.AliWang      = nick;
                    info.Nick         = nick;
                    info.AdsPic       = ShopImg;
                    //店铺图标
                    if (FUD_Img.HasFile && CheckImg())
                    {
                        Guid imgurl = Guid.NewGuid();
                        FUD_Img.SaveAs(Server.MapPath("~/adsimg") + "/" + imgurl + ".jpg");
                        info.AdsPic = "/adsimg/" + imgurl + ".jpg";
                    }

                    if (realcount > 0)
                    {
                        if (feeInfo.AdsType == 5)
                        {
                            //这里需要查询空闲的广告(或者说是可以用的广告位)
                            IList <UserAdsInfo> usedadsList = userAdsDal.SelectAllUsedAds();
                            IList <AdsInfo>     allads      = CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 5).ToList();
                            if (allads.Count > usedadsList.Count)
                            {
                                //得到没有使用的广告位
                                IList <AdsInfo> hasads = new List <AdsInfo>();
                                foreach (AdsInfo ainfo in allads)
                                {
                                    if (usedadsList.Where(o => o.AdsId == ainfo.AdsId).ToList().Count == 0)
                                    {
                                        hasads.Add(ainfo);
                                    }
                                }

                                info.AddTime = DateTime.Now;
                                info.AdsId   = GetRand(hasads);
                                //不需要旺旺
                                info.AliWang           = ""; //nick;
                                info.FeeId             = binfo.FeeId;
                                info.AdsShowStartTime  = DateTime.Now;
                                info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                                info.Nick         = nick;
                                info.UserAdsState = 1;
                                //不需要分类
                                //string taoId = list[i].CateIds;
                                info.CateIds = "";  // GetTaoBaoCId(taoId, ref taoId);
                            }
                            else
                            {
                                Page.RegisterStartupScript("通知", "<script>alert('请联系我们的客服人员为您添加广告');</script>");
                            }
                        }
                        if (feeInfo.AdsType == 1)
                        {
                            info.AddTime           = DateTime.Now;
                            info.AdsId             = GetRand(CacheCollection.GetAllAdsInfo().Where(o => o.AdsType == 1).ToList());
                            info.AliWang           = nick;
                            info.FeeId             = binfo.FeeId;
                            info.AdsShowStartTime  = DateTime.Now;
                            info.AdsShowFinishTime = DateTime.Now.AddDays(feeInfo.ShowDays);
                            info.Nick         = nick;
                            info.UserAdsState = 1;
                            string taoId = info.CateIds;
                            info.CateIds = GetTaoBaoCId(taoId, taoId);
                        }

                        notou = false;
                    }

                    userAdsDal.InsertUserAds(info);
                    break;
                }
            }
        }

        if (notou)
        {
            Response.Redirect("UserAdsList.aspx");
        }
        else
        {
            Response.Redirect("UserAdsList.aspx?istou=1");
        }
    }
Esempio n. 19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            IList <AdsInfo> adsList = CacheCollection.GetAllAdsInfo();

            Random  rand = new Random();
            AdsInfo info = adsList[rand.Next(adsList.Count)];

            IList <UserAdsInfo> list = uasDal.SelectAllUserAdsByAdsId(info.AdsId, 1);

            IList <ClickInfo> clickList = clickDal.SelectAllClickCount(DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("yyyyMMdd"));

            //获取访问IP
            string ip = Request.ServerVariables["REMOTE_ADDR"];
            //获取当天已经访问来了的IP
            IList <ClickIPInfo> ipList = clickDal.SelectAllClickIPByDate(DateTime.Now.ToString("yyyyMMdd"));
            //和当前IP相同的
            ipList = ipList.Where(o => o.VisitIP == ip).ToList();

            foreach (ClickIPInfo ipinfo in ipList)
            {
                //已经访问了该广告
                IList <UserAdsInfo> hadlist = list.Where(o => o.Id == ipinfo.UserAdsId).ToList();
                if (hadlist.Count > 0)
                {
                    list.Remove(hadlist[0]);
                }
            }

            if (list.Count == 0)
            {
                return;
            }

            foreach (ClickInfo cinfo in clickList)
            {
                if (cinfo.ClickCount >= rand.Next(6, 15))//10)
                {
                    IList <UserAdsInfo> hadlist = list.Where(o => o.Id == cinfo.UserAdsId).ToList();

                    if (hadlist.Count > 0)
                    {
                        FeeInfo finfo = CacheCollection.GetAllFeeInfo().Where(o => o.FeeId == hadlist[0].FeeId).ToList()[0];
                        if (finfo.AdsType == 1)
                        {
                            if (finfo.AdsCount == 1)
                            {
                                list.Remove(hadlist[0]);
                            }
                            else
                            {
                                if (cinfo.ClickCount >= rand.Next(14, 23))//18)
                                {
                                    list.Remove(hadlist[0]);
                                }
                            }
                        }
                        if (finfo.AdsType == 5)
                        {
                            if (cinfo.ClickCount >= rand.Next(22, 33)) //27)
                            {
                                list.Remove(hadlist[0]);
                            }
                        }
                    }
                }
            }

            if (list.Count == 0)
            {
                return;
            }

            UserAdsInfo uinfo = list[0];
            if (list.Count > 1)
            {
                uinfo = list[rand.Next(list.Count)];
            }

            ClickIPInfo iinfo = new ClickIPInfo();
            iinfo.VisitIP   = ip;
            iinfo.ClickId   = Guid.NewGuid();
            iinfo.VisitDate = DateTime.Now.ToString("yyyyMMdd");
            iinfo.UserAdsId = uinfo.Id;
            clickDal.InsertClickIP(iinfo);

            string param = "id=" + uinfo.Id + "&url=" + uinfo.AdsUrl;
            Response.Redirect("getclick.aspx?" + HttpUtility.UrlEncode(param));
        }
    }
Esempio n. 20
0
 public int InsertUserAds(UserAdsInfo info, Guid guid)
 {
     info.Id = guid;
     return(DBHelper.ExecuteNonQuery(SQL_INSERT, CreateParameter(info)));
 }