コード例 #1
0
        public bool UpdateLog(int uid, int gid, string Ranstr, M_Field_Down model)
        {
            M_Content_FileBuy buymod = SelByGid(uid, gid, Ranstr);

            buymod.EndDate = model.hour > 0 ? DateTime.Now.AddMinutes(model.hour) : DateTime.MaxValue;
            return(UpdateByID(buymod));
        }
コード例 #2
0
        //插入一条文件下载记录
        public int InsertLog(int gid, string Ranstr, M_UserInfo mu, M_Field_Down model, string field)
        {
            M_Content_FileBuy buymod = new M_Content_FileBuy();

            buymod.Gid      = gid;
            buymod.Ranstr   = Ranstr;
            buymod.UserID   = mu.UserID;
            buymod.UserName = mu.UserName;
            buymod.BuyPrice = model.price.ToString();
            buymod.FName    = model.fname;
            buymod.CDate    = DateTime.Now;
            buymod.Url      = model.url;
            buymod.Field    = field;
            buymod.EndDate  = model.hour > 0 ? DateTime.Now.AddMinutes(model.hour) : DateTime.MaxValue;
            return(Insert(buymod));
        }
コード例 #3
0
        public void DownFile(int gid, string field)
        {
            M_UserInfo   mu     = buser.GetLogin(false);
            DataTable    dt     = new DataTable();
            M_CommonData conMod = conBll.SelReturnModel(gid);

            dt = conBll.GetContentByItems(conMod.TableName, conMod.GeneralID);
            if (dt.Columns.Contains(field))
            {
                string            json   = dt.Rows[0][field].ToString();
                M_Field_Down      model  = downBll.GetModel(json, Ranstr);
                M_Content_FileBuy buymod = buyBll.SelByGid(mu.UserID, gid, Ranstr);
                if (model == null)
                {
                    function.WriteErrMsg("未找到匹配的下载信息");
                }
                else if (model.price > 0)
                {
                    if (mu.IsNull || mu.UserID < 1)
                    {
                        function.WriteErrMsg("该文件必须登录后才可下载,<a href='/User/Login'>点击登录</a>"); return;
                    }
                    if (buymod == null || buymod.EndDate < DateTime.Now)//没有文件记录或已过期
                    {
                        if (!HasEnoughMoney(mu, model.ptype, model.price))
                        {
                            function.WriteErrMsg("金额不足,需要" + model.price + "" + GetMName(model.ptype));
                        }
                        else
                        {
                            buser.ChangeVirtualMoney(mu.UserID, new M_UserExpHis()
                            {
                                score = (int)-model.price, ScoreType = buser.GetTypeByStr(model.ptype), detail = "下载文件扣除" + model.price + GetMName(model.ptype)
                            });
                            if (buymod == null)//插入
                            {
                                buyBll.InsertLog(gid, Ranstr, mu, model, field);
                            }
                            else//修改
                            {
                                buyBll.UpdateLog(mu.UserID, gid, Ranstr, model);
                            }
                        }
                    }
                }
                else
                {
                    if (buymod == null || buymod.EndDate < DateTime.Now)
                    {
                        if (buymod == null)//插入
                        {
                            buyBll.InsertLog(gid, Ranstr, mu, model, field);
                        }
                        else//修改
                        {
                            buyBll.UpdateLog(mu.UserID, gid, Ranstr, model);
                        }
                    }
                }
                model.count++;
                downBll.UpdateByList(conMod.TableName, Field, DataConvert.CLng(dt.Rows[0]["ID"].ToString()));
                if (model.url.ToLower().Contains("http://") || model.url.ToLower().Contains("https://"))
                {
                    Response.Redirect(model.url);
                }
                else
                {
                    SafeSC.DownFile(model.url, Path.GetFileName(model.url));
                }
                Response.End();
            }
            else
            {
                function.WriteErrMsg("下载信息不存在");
            }
        }