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)); }
//插入一条文件下载记录 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)); }
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("下载信息不存在"); } }