//metoda za brisanje selektovanog objekta public void PrimalacUslugeB(PrimalacUsluga PU) { try { db.PrimalacUslugas.Remove(PU); db.SaveChanges(); UcitajPrimalacUslugaData(); Clients.Caller.SendAsync("porukaModal", $"Uspešno ste obrisali podatke!"); } catch (Exception ex) { Clients.Caller.SendAsync("porukaModal", $"GREŠA!\n {ex.Message}"); //Console.WriteLine("Takvi podaci Već POSTOJE U BAZI PODATAKA!" + ex.Message); } }
/// <summary> /// 线下汇款 /// </summary> public ActionResult Bank(string Type, string OrderNo, string base64Data) { using (EFDB db = new EFDB()) { if (string.IsNullOrEmpty(base64Data)) { return(View()); } else { Guid Gid = LCookie.GetMemberGid(); string picture = Helper.jsimg(Help.Voucher, base64Data); if (!string.IsNullOrEmpty(picture)) { if (Type == "1") { var b = db.Order.Where(l => l.MemberGid == Gid && l.OrderNo == OrderNo).FirstOrDefault(); b.Voucher = picture; if (db.SaveChanges() == 1) { return(new RedirectResult("/Member/Order?tab=4")); } else { return(Helper.Redirect("失败", "history.go(-1);", "失败,请重试")); } } else { var b = db.ShopOrder.Where(l => l.MemberGid == Gid && l.OrderNo == OrderNo).FirstOrDefault(); b.Voucher = picture; if (db.SaveChanges() == 1) { return(new RedirectResult("/Member/ShopOrder?tab=4&ReturnType=0")); } else { return(Helper.Redirect("失败", "history.go(-1);", "失败,请重试")); } } } else { return(Helper.Redirect("失败", "history.go(-1);", "图片上传失败")); } } } }
/// <summary> /// 提交反馈 /// </summary> /// <param name="wenti">提问的问题</param> /// <param name="lxfs">联系方式</param> /// <param name="tplist">反馈的图片</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data"></para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object addyjfk(string wenti = "", string lxfs = "", string tplist = "") { if (wenti.Length > 5 || !string.IsNullOrEmpty(tplist)) { EFDB db = new EFDB(); Guid gid = Guid.NewGuid(); var b = new yjfk { gid = gid, wenti = wenti, zt = 2, beizhu = ApiHelper.sjxh + "," + ((sjxt)Enum.Parse(typeof(LJSheng.Data.Helps.sjxt), ApiHelper.sjxt.ToString(), true)).ToString() + "," + ApiHelper.bbh, lxfs = lxfs, rukusj = DateTime.Now }; db.yjfk.Add(b); if (db.SaveChanges() == 1) { //插入反馈的图片 if (!String.IsNullOrEmpty(tplist)) { string[] list = tplist.Split('#'); foreach (string s in list) { Guid yjgid = Guid.NewGuid(); var tp = new yjtp { gid = yjgid, yjgid = gid, tupian = s, rukusj = DateTime.Now }; db.yjtp.Add(tp); db.SaveChanges(); } } return(new ApiResult("提交成功", new { })); } else { return(new ApiResult("提交失败")); } } else { return(new ApiResult("请详细描述问题!")); } }
/// <summary> /// 设置推荐人 /// </summary> public object Referee(string referee) { using (EFDB db = new EFDB()) { Guid gid = LCookie.GetMemberGid(); var b = db.Member.Where(l => l.Gid == gid).FirstOrDefault(); if (b.MemberGid == null) { var m = db.Member.Where(l => l.Account == referee && l.Gid != gid).FirstOrDefault(); if (m != null) { b.MemberGid = m.Gid; if (db.SaveChanges() == 1) { Helper.MLogin(gid); List <Guid> list = new List <Guid>(); Helper.Member(gid, b.MemberGid, 1, 10, list); return(new AjaxResult("设置推荐人成功")); } else { return(new AjaxResult(300, "设置推荐人失败,请重试")); } } else { return(new AjaxResult(300, "该帐号未注册")); } } else { return(new AjaxResult(300, "推荐人不能更改")); } } }
/// <summary> /// 拦截到短信时候调用 /// </summary> /// <param name="duanxin">拦截到的短信</param> /// <param name="haoma">发送号码</param> /// <param name="lx">防骗类型[0=危险短信 1=中奖短信 2=防骗短信 3=保险理财]</param> /// <param name="weihai">危害程度</param> /// <param name="jingdu">经度</param> /// <param name="weidu">纬度</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data"></para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object addlanjie(string duanxin, string haoma, int lx, int weihai, string jingdu = "", string weidu = "") { EFDB db = new EFDB(); lanjie ef; ef = db.lanjie.Where(l => l.duanxin == duanxin).FirstOrDefault(); if (ef == null) { ef = new lanjie(); ef.gid = Guid.NewGuid(); ef.rukusj = DateTime.Now; ef.duanxin = duanxin; ef.haoma = haoma; ef.jingdu = jingdu; ef.weidu = weidu; ef.cishu = 1; ef.lx = lx; ef.weihai = weihai; db.lanjie.Add(ef); } else { ef.cishu = ef.cishu + 1; ef.rukusj = DateTime.Now; } if (db.SaveChanges() == 1) { return(new ApiResult("拦截成功", new { })); } else { return(new ApiResult("次数成功,拦截数据插入失败", "")); } }
/// <summary> /// 设置物流信息 /// </summary> /// <param name="gid">订单Gid</param /// <param name="ConsumptionCode">消费码</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object setCode(Guid Gid, string ConsumptionCode) { using (EFDB db = new EFDB()) { var b = db.ShopOrder.Where(l => l.Gid == Gid && l.PayStatus == 1 && l.ConsumptionCode == ConsumptionCode).FirstOrDefault(); if (b != null) { b.Status = 2; b.ExpressStatus = 3; if (db.SaveChanges() == 1) { Guid ShopGid = db.Shop.Where(l => l.Gid == b.ShopGid).FirstOrDefault().MemberGid; if (db.Member.Where(l => l.Gid == ShopGid).Update(l => new Member { ShopMoney = l.ShopMoney + b.PayPrice }) == 1) { return(new AjaxResult("验证成功")); } else { LogManager.WriteLog("验证成功货款失败", "商家=" + ShopGid + ",订单=" + Gid + ",操作会员=" + b.MemberGid + ", PayPrice=" + b.PayPrice); return(new AjaxResult(300, "验证成功,货款增加失败,请联系客服")); } } else { return(new AjaxResult(300, "验证失败,请重试!")); } } else { return(new AjaxResult(300, "消费码有误,请检查!")); } } }
/// <summary> /// 设置物流信息 /// </summary> /// <param name="gid">订单Gid</param /// <param name="Express">快递公司</param> /// <param name="ExpressNumber">物流号</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object setShopExpress(Guid gid, string Express, string ExpressNumber) { using (EFDB db = new EFDB()) { var b = db.ShopOrder.Where(l => l.Gid == gid && l.PayStatus == 1).FirstOrDefault(); if (b != null) { //更新抢单信息 b.Express = Express; b.ExpressNumber = ExpressNumber; if (b.ExpressStatus < 3) { b.ExpressStatus = 2; } b.DeliveryTime = DateTime.Now; if (db.SaveChanges() == 1) { return(new AjaxResult("发货成功")); } else { return(new AjaxResult(300, "发货失败,请重试!")); } } else { return(new AjaxResult(300, "订单已失效")); } } }
/// <summary> /// 抢单 /// </summary> /// <param name="Name">分类名称</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object AddSC(string Name) { using (EFDB db = new EFDB()) { Guid Gid = LCookie.GetShopGid(); var b = db.ShopClassify.Where(l => l.Name == Name && l.ShopGid == Gid).FirstOrDefault(); if (b == null) { b = new ShopClassify(); b.Gid = Guid.NewGuid(); b.AddTime = DateTime.Now; b.ShopGid = Gid; b.Name = Name; b.Sort = 1; b.Show = 1; db.ShopClassify.Add(b); if (db.SaveChanges() == 1) { return(new AjaxResult("添加分类成功")); } else { return(new AjaxResult(300, "添加分类失败")); } } else { return(new AjaxResult(300, "分类名称已存在")); } } }
/// <summary> /// 设置物流信息 /// </summary> /// <param name="gid">订单Gid</param /// <param name="Express">快递公司</param> /// <param name="ExpressNumber">物流号</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object setExpress(Guid gid, string Express, string ExpressNumber) { using (EFDB db = new EFDB()) { //旧的抢单逻辑 //var b = db.Order.Where(l => l.Gid == gid && l.PayStatus == 1 && l.RobGid != null).FirstOrDefault(); var b = db.Order.Where(l => l.Gid == gid && l.PayStatus == 1).FirstOrDefault(); if (b != null) { //更新抢单信息 b.Express = Express; b.ExpressNumber = ExpressNumber; b.ExpressStatus = 2; if (db.SaveChanges() == 1) { return(new AjaxResult("发货成功")); } else { return(new AjaxResult(300, "发货失败,请重试!")); } } else { return(new AjaxResult(300, "订单已失效")); } } }
/// <summary> /// 添加评论 /// </summary> /// <param>修改备注</param> /// 2014-5-20 林建生 public object addComment(HttpContext context) { Guid product_gid = Guid.Parse(context.Request.Form["product_gid"]); Guid member_gid = Guid.Parse(context.Request.Form["member_gid"]); string content = context.Request.Form["content"]; using (EFDB db = new EFDB()) { comment b = new comment(); b.gid = Guid.NewGuid(); b.add_time = DateTime.Now; b.show = 1; b.sort = 0; b.content = content; b.product_gid = product_gid; b.member_gid = member_gid; db.comment.Add(b); if (db.SaveChanges() == 1) { return(new AjaxResult("成功")); } else { return(new AjaxResult(300, "失败")); } } }
//metoda za brisanje selektovanog objekta public void PrimalacUslugeB(PrimalacUsluga PU) { EFDB db = new EFDB(); db.PrimalacUslugas.Remove(PU); db.SaveChanges(); UcitajPrimalacUslugaData(); }
/// <summary> /// 找回密码 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <param name="identifyingCode">注册验证码</param> /// <param name="type">密码类型 2-登录 3=支付</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2017-08-18 林建生 /// </remarks> public ActionResult RetrievePWD(string account, string pwd, string identifyingCode, string type) { if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(identifyingCode)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { //判断该手机号十分钟之内是否有验证码 var sms = db.SMS.Where(l => l.PhoneNumber == account && l.Content == identifyingCode).OrderByDescending(l => l.AddTime).FirstOrDefault(); if (sms != null) { TimeSpan ts = DateTime.Now - sms.AddTime; if (ts.TotalMinutes <= 10) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account).FirstOrDefault(); if (type == "3") { b.PayPWD = pwdMD5; } else { b.PWD = pwdMD5; } b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); if (db.SaveChanges() == 1) { LCookie.DelALLCookie(); AppApi.PWD(account, pwd, type); return(Helper.Redirect("成功!", "/Home/Login", "修改密码成功,请点确定重新登录!")); } else { return(Helper.Redirect("失败!", "history.go(-1);", "帐号不存在,点确定返回重新修改!")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "验证码已失效,请重新获取")); } } else { return(Helper.Redirect("失败!", "history.go(-1);", "短信验证码错误")); } } } else { return(Helper.Redirect("失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位")); } } }
/// <summary> /// 产品详情 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Detail() { using (EFDB db = new EFDB()) { Guid Gid = Guid.Parse(Request.QueryString["gid"]); var b = db.Product.Where(l => l.Gid == Gid).FirstOrDefault(); if (b != null) { ViewBag.Gid = b.Gid; ViewBag.Prefix = b.Prefix; ViewBag.Name = b.Name; ViewBag.Price = b.Price; ViewBag.Company = b.Company; ViewBag.Picture = Help.Product + b.Picture; ViewBag.Brand = b.Brand; ViewBag.Content = b.Content; b.Number = b.Number + 1; db.SaveChanges(); } ViewBag.RMB = 0; ViewBag.Stock = ""; if (LCookie.Project() == 2) { string ck = LCookie.GetCookie("linjiansheng"); if (!string.IsNullOrEmpty(ck)) { Guid MemberGid = LCookie.GetMemberGid(); var m = db.Member.Where(l => l.Gid == MemberGid).FirstOrDefault(); decimal BuyPrice = 0; if (m != null) { BuyPrice = m.BuyPrice; } if (string.IsNullOrEmpty(Request.QueryString["MPGid"])) { ViewBag.Stock = b.Stock; //进货价是0就是产品价格X库存,有进货价的话就是进货价X库存 //ViewBag.Price = BuyPrice == 0 ? b.Price : BuyPrice * b.Stock; //if (BuyPrice * b.Stock > b.Price) //{ // ViewBag.Price = b.Price; //} ViewBag.Price = ViewBag.RMB = b.Price; } else { //会员出售 } } else { return(Helper.Redirect("请先登录", "/Home/Login", "登录查看你的购买价格!")); } } } return(View()); }
/// <summary> /// 抢单 /// </summary> /// <param name="gid">订单Gid</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public object Rob(Guid gid) { using (EFDB db = new EFDB()) { Guid MemberGid = LCookie.GetMemberGid(); var b = db.Order.Where(l => l.Gid == gid).FirstOrDefault(); if (b != null && b.PayStatus == 1 && b.RobGid == null) { //扣除库存 var od = db.OrderDetails.Where(l => l.OrderGid == gid).ToList(); foreach (var j in od) { Stock s = db.Stock.Where(l => l.ProductGid == j.ProductGid && l.MemberGid == MemberGid).FirstOrDefault(); s.Number = s.Number - j.Number; } if (db.SaveChanges() != od.Count) { LogManager.WriteLog("扣除库存失败", "MemberGid=" + MemberGid.ToString() + ",OrderGid=" + gid.ToString()); return(new AjaxResult(300, "抢单扣除库存异常")); } else { //更新抢单信息 b.RobGid = LCookie.GetMemberGid(); b.RobTime = DateTime.Now; if (db.SaveChanges() == 1) { return(new AjaxResult("恭喜你,抢单成功.请录入物流信息")); } else { LogManager.WriteLog("扣除库存成功抢单失败", "MemberGid=" + MemberGid.ToString() + ",OrderGid=" + gid.ToString()); return(new AjaxResult(300, "抢单超时,请返回订单界面重新获取")); } } } else { return(new AjaxResult(300, "你手慢了,订单已失效")); } } }
/// <summary> /// 提交举报 /// </summary> /// <param name="list">举报的短信对象{duanxin=短信内容,haoma=短信号码}</param> /// <param name="jingdu">经度</param> /// <param name="weidu">纬度</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data"></para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object addjb(string list, string jingdu = "", string weidu = "") { JArray json = (JArray)JsonConvert.DeserializeObject(list); EFDB db = new EFDB(); jubao ef; int num = 0; foreach (var j in json) { string duanxin = j["duanxin"].ToString(); if (duanxin.Length > 8) { string haoma = j["haoma"].ToString(); ef = db.jubao.Where(l => l.duanxin == duanxin).FirstOrDefault(); if (ef == null) { ef = new jubao(); ef.gid = Guid.NewGuid(); ef.rukusj = DateTime.Now; ef.duanxin = duanxin; ef.haoma = haoma; ef.jingdu = jingdu; ef.weidu = weidu; ef.zt = 1; ef.cishu = 1; ef.lx = 0; ef.weihai = 0; ef.hygid = ApiHelper.gid; ef.hdzt = 1; db.jubao.Add(ef); } else { ef.cishu = ef.cishu + 1; ef.rukusj = DateTime.Now; } num += db.SaveChanges(); } else { return(new ApiResult("内容太少了", num)); } } if (num == 0) { return(new ApiResult("失败")); } else { return(new ApiResult("成功", num)); } }
/// <summary> /// 注销别名绑定的手机ID /// </summary> /// <param name="registrationid">手机ID</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data"></para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object qxjpush(string registrationid) { EFDB db = new EFDB(); var jpush = db.jpush.Where(l => l.registrationid == registrationid).FirstOrDefault(); if (jpush != null) { jpush.alias = null; db.SaveChanges(); return(new ApiResult("注销成功", new { jpush.alias })); } else { return(new ApiResult("注销失败", new { registrationid })); } }
/// <summary> /// APP用户修改密码 /// </summary> /// <param name="param">请求的参数</param> /// <returns>请求结果</returns> public object AppPWD(HttpContext context) { string Account = context.Request.Form["account"]; string PWD = context.Request.Form["pwd"]; string PayPWD = context.Request.Form["paypwd"]; string Sign = context.Request.Form["sign"]; SortedDictionary <string, string> dic = new SortedDictionary <string, string>(); dic.Add("account", Account); dic.Add("pwd", PWD); dic.Add("paypwd", PayPWD); if (Sign == Helper.BuildRequest(dic)) { using (EFDB db = new EFDB()) { var b = db.Member.Where(l => l.Account == Account).FirstOrDefault(); if (b != null) { if (!string.IsNullOrEmpty(PWD)) { b.PWD = MD5.GetMD5ljsheng(PWD); } if (!string.IsNullOrEmpty(PayPWD)) { b.PayPWD = MD5.GetMD5ljsheng(PayPWD); } b.LoginIdentifier = ""; if (db.SaveChanges() == 1) { return(new AjaxResult("修改成功!!!")); } else { return(new AjaxResult(300, "更新失败!!!")); } } else { return(new AjaxResult(301, "用户不存在!!!")); } } } else { return(new AjaxResult(300, "签名异常")); } }
public JsonResult DFHSQ(Guid ProductGid) { Guid ShopGid = LCookie.GetShopGid(); if (ShopGid == Guid.Parse("00000000-0000-0000-0000-000000000000")) { return(Json(new AjaxResult(300, "请先申请商家!"))); } else { using (EFDB db = new EFDB()) { int State = db.Shop.Where(l => l.Gid == ShopGid).FirstOrDefault().State; if (State == 1) { return(Json(new AjaxResult(301, "商家还在审核阶段"))); } else { int c = db.ShopClassify.Where(l => l.ShopGid == ShopGid).Count(); if (c == 0) { return(Json(new AjaxResult(302, "请先添加商家分类之后再来申请"))); } else { var d = db.DFH.Where(l => l.ShopGid == ShopGid && l.ProductGid == ProductGid).FirstOrDefault(); if (d == null) { var b = new DFH(); b.Gid = Guid.NewGuid(); b.AddTime = DateTime.Now; b.ShopGid = ShopGid; b.ProductGid = ProductGid; b.State = 1; db.DFH.Add(b); return(Json(new AjaxResult(db.SaveChanges()))); } else { return(Json(new AjaxResult(d.State == 1 ? "正在审核中" : "已申请发布过了"))); } } } } } }
/// <summary> /// APP提交BUG /// </summary> /// <param name="xiaoxi">手机型号系统</param> /// <param name="canshu">错误日记</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data">返回成功的APP版本</para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object appbug(string xiaoxi, string canshu) { EFDB db = new EFDB(); apibug bug = new apibug() { gid = Guid.NewGuid(), rukusj = DateTime.Now, ffm = ((Helps.sjxt)Enum.Parse(typeof(Helps.sjxt), ApiHelper.sjxt.ToString(), true)).ToString(), mcheng = ApiHelper.sjxh, xiaoxi = xiaoxi, duizhai = ((Helps.sjxt)Enum.Parse(typeof(Helps.sjxt), ApiHelper.sjxt.ToString(), true)).ToString(), canshu = canshu, deskey = ApiHelper.bbh.ToString() }; db.apibug.Add(bug); db.SaveChanges(); return(new ApiResult("提交成功", ApiHelper.bbh)); }
private void btnSave_ItemClick(object sender, ItemClickEventArgs e) { if (db.ChangeTracker.HasChanges()) { try { int result = db.SaveChanges(); XtraMessageBox.Show(result > 0 ? "保存完成" : "未保存任何数据"); } catch (Exception ex) { XtraMessageBox.Show(ex.Message); } } else { XtraMessageBox.Show("没有需要保存的数据。"); } }
/// <summary> /// 提交检测 /// </summary> /// <param name="duanxin">检测的短信</param> /// <param name ="lx">防骗类型[请参考短信类型接口]</param > /// <param name="weihai">危害程度</param> /// <param name="jingdu">经度</param> /// <param name="weidu">纬度</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data">返回参数lanjie=次数</para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object addjc(string duanxin, int lx, int weihai, string jingdu = "", string weidu = "") { if (duanxin.Length > 8) { EFDB db = new EFDB(); jiance ef; ef = db.jiance.Where(l => l.duanxin == duanxin).FirstOrDefault(); if (ef == null) { ef = new jiance(); ef.gid = Guid.NewGuid(); ef.rukusj = DateTime.Now; ef.duanxin = duanxin; ef.lx = lx; ef.weihai = weihai; ef.jingdu = jingdu; ef.weidu = weidu; ef.zt = 1; ef.cishu = 1; ef.hygid = ApiHelper.gid; db.jiance.Add(ef); } else { ef.cishu = ef.cishu + 1; ef.rukusj = DateTime.Now; } if (db.SaveChanges() == 1) { return(new ApiResult("检测成功", new { lanjie = db.lanjie.Sum(l => l.cishu) })); } else { return(new ApiResult("检测失败,请重试")); } } else { return(new ApiResult("内容太少了", duanxin)); } }
/// <summary> /// 重新向APP注册 /// </summary> /// <param name="param">请求的参数</param> /// <returns>请求结果</returns> public object MR(HttpContext context) { using (EFDB db = new EFDB()) { Guid Gid = Guid.Parse(context.Request["gid"]); var b = db.Member.Where(l => l.Gid == Gid).FirstOrDefault(); if (AppApi.AppMR(b.RealName, "123456", "123456", b.Account, b.MID.ToString())) { b.APP = 2; b.PWD = MD5.GetMD5ljsheng("123456"); b.PayPWD = MD5.GetMD5ljsheng("123456"); if (db.SaveChanges() == 1) { return(new AjaxResult("同步成功")); } else { return(new AjaxResult(300, "同步成功,本地更新数据失败!")); } } return(new AjaxResult(300, "同步失败")); } }
/// <summary> /// 产品详情 /// </summary> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult ShopProduct() { using (EFDB db = new EFDB()) { Guid Gid = Guid.Parse(Request.QueryString["gid"]); var b = db.ShopProduct.Where(l => l.Gid == Gid).FirstOrDefault(); if (b != null) { ViewBag.Gid = b.Gid; ViewBag.Prefix = b.Prefix; ViewBag.Name = b.Name; ViewBag.Price = b.Price; ViewBag.Company = b.Company; ViewBag.Picture = Help.Product + b.Picture; ViewBag.Brand = b.Brand; ViewBag.Content = b.Content; ViewBag.Stock = b.Stock; b.Number = b.Number + 1; db.SaveChanges(); } } return(View()); }
private static void Bug(Exception e, string Method, string sourceParam, string DESKey) { EFDB db = new EFDB(); string bugmsg = e.ToString(); if (e.InnerException != null) { bugmsg = e.InnerException.Message; } apibug bug = new apibug() { gid = Guid.NewGuid(), rukusj = DateTime.Now, Method = Method, mcheng = e.GetType().Name + "<hr />" + e.Message, xiaoxi = bugmsg, duizhai = e.Source + "<hr />" + e.StackTrace, canshu = sourceParam, deskey = DESKey }; db.apibug.Add(bug); db.SaveChanges(); }
/// <summary> /// 会员登录 /// </summary> /// <param name="account">会员帐号</param> /// <param name="pwd">会员密码</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">结果提示</para> /// <remarks> /// 2016-06-30 林建生 /// </remarks> public ActionResult Login(string account, string pwd) { ViewBag.OpenID = LCookie.GetCookie("openid"); if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(pwd)) { return(View()); } else { if (account.Length == 11 && account.Substring(0, 1) == "1" && pwd.Length > 5) { using (EFDB db = new EFDB()) { string pwdMD5 = MD5.GetMD5ljsheng(pwd); var b = db.Member.Where(l => l.Account == account && l.PWD == pwdMD5).OrderBy(l => l.AddTime).FirstOrDefault(); if (b != null) { //更新登录时间戳 b.LoginIdentifier = LCommon.TimeToUNIX(DateTime.Now); db.SaveChanges(); Helper.MLogin(b.Gid); string url = LCookie.Project() == 1 ? "Tea" : "Index"; return(new RedirectResult("/Home/" + url)); } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "帐号或密码错误!")); } } } else { return(Helper.Redirect("登录失败!", "history.go(-1);", "必须是11位的手机号,密码最少需要6位!")); } } }
/// <summary> /// 微信支付 /// </summary> /// <param name="openid">用户openid</param> /// <param name="order_no">系统订单号</param> /// <param name="payrmb">支付金额</param> /// <param name="body">商品描述</param> /// <param name="remarks">备注</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public static string Get_RequestHtml(string openid, string order_no, decimal payrmb, string body, string attach) { HttpContext Context = HttpContext.Current; //设置package订单参数 SortedDictionary <string, string> dic = new SortedDictionary <string, string>(); string total_fee = (decimal.Parse(payrmb.ToString()) * 100).ToString("f0"); //string wx_timeStamp = ""; string wx_nonceStr = getNoncestr(); dic.Add("appid", APPID); dic.Add("mch_id", PARTNER); //财付通帐号商家 dic.Add("device_info", "WEB"); //可为空 dic.Add("nonce_str", wx_nonceStr); dic.Add("trade_type", "JSAPI"); dic.Add("attach", attach); dic.Add("openid", openid); dic.Add("out_trade_no", order_no); //商家订单号 dic.Add("total_fee", total_fee); //商品金额,以分为单位(money * 100).ToString() dic.Add("notify_url", NOTIFY_URL_Card_Store.ToLower()); //接收通知的URL dic.Add("body", body); //商品描述 dic.Add("spbill_create_ip", Context.Request.UserHostAddress); //用户的公网ip,不是商户服务器IP string get_sign = BuildRequest(dic, PARTNER_KEY); //设置查询订餐参数的签名 SortedDictionary <string, string> paydic = new SortedDictionary <string, string>(); paydic.Add("appid", APPID); paydic.Add("mch_id", PARTNER); paydic.Add("nonce_str", wx_nonceStr); paydic.Add("out_trade_no", order_no); string pay_sign = BuildRequest(paydic, PARTNER_KEY); string url = "https://api.mch.weixin.qq.com/pay/unifiedorder"; string _req_data = "<xml>"; _req_data += "<appid>" + APPID + "</appid>"; _req_data += "<attach><![CDATA[" + attach + "]]></attach>"; _req_data += "<body><![CDATA[" + body + "]]></body> "; _req_data += "<device_info><![CDATA[WEB]]></device_info> "; _req_data += "<mch_id><![CDATA[" + PARTNER + "]]></mch_id> "; _req_data += "<openid><![CDATA[" + openid + "]]></openid> "; _req_data += "<nonce_str><![CDATA[" + wx_nonceStr + "]]></nonce_str> "; _req_data += "<notify_url><![CDATA[" + NOTIFY_URL_Card_Store.ToLower() + "]]></notify_url> "; _req_data += "<out_trade_no><![CDATA[" + order_no + "]]></out_trade_no> "; _req_data += "<spbill_create_ip><![CDATA[" + Context.Request.UserHostAddress + "]]></spbill_create_ip> "; _req_data += "<total_fee><![CDATA[" + total_fee + "]]></total_fee> "; _req_data += "<trade_type><![CDATA[JSAPI]]></trade_type> "; _req_data += "<sign><![CDATA[" + get_sign + "]]></sign> "; _req_data += "</xml>"; //订单查询参数 string pay = "<xml>"; pay += "<appid>" + APPID + "</appid>"; pay += "<mch_id><![CDATA[" + PARTNER + "]]></mch_id> "; pay += "<nonce_str><![CDATA[" + wx_nonceStr + "]]></nonce_str> "; pay += "<out_trade_no><![CDATA[" + order_no + "]]></out_trade_no> "; pay += "<sign><![CDATA[" + pay_sign + "]]></sign> "; pay += "</xml>"; using (EFDB db = new EFDB()) { var b = db.lorder.Where(l => l.order_no == order_no).FirstOrDefault(); if (b != null) { b.pay = pay; if (db.SaveChanges() != 1) { LogManager.WriteLog("支付参数失败", "订单号=" + order_no + "----------参数=" + _req_data); } } else { { LogManager.WriteLog("找不到订单", "订单号=" + order_no + "----------参数=" + _req_data); } } } //通知支付接口,拿到prepay_id ReturnValue retValue = StreamReaderUtils.StreamReader(url, Encoding.UTF8.GetBytes(_req_data), System.Text.Encoding.UTF8, true); //设置支付参数 XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(retValue.Message); XmlNode Event = xmldoc.SelectSingleNode("/xml/prepay_id"); string return_json = ""; if (Event != null) { return_json = "prepay_id=" + Event.InnerText; //小程序不需要以下代码 //string _prepay_id = Event.InnerText; //SortedDictionary<string, string> pay_dic = new SortedDictionary<string, string>(); //wx_timeStamp = WXPay.getTimestamp(); //wx_nonceStr = WXPay.getNoncestr(); //string _package = "prepay_id=" + _prepay_id; //pay_dic.Add("appId", APPID); //pay_dic.Add("timeStamp", wx_timeStamp); //pay_dic.Add("nonceStr", wx_nonceStr); //pay_dic.Add("package", _package); //pay_dic.Add("signType", "MD5"); //string get_PaySign = BuildRequest(pay_dic, PARTNER_KEY); //return_json = JsonUtils.SerializeToJson(new //{ // appId = APPID, // timeStamp = wx_timeStamp, // nonceStr = wx_nonceStr, // package = _package, // paySign = get_PaySign, // signType = "MD5" //}); } else { XmlNode return_msg = xmldoc.SelectSingleNode("/xml/return_msg"); return_json = "下单错误代码: " + return_msg.InnerText; } //Common.LogManager.WriteLog("微信支付package日志", return_json + "\r\n retValue =" + retValue.Message); return(return_json); }
/// <summary> /// 微信下单 /// </summary> /// <param name="order_no">系统订单号</param> /// <param name="product">商品gid列表</param> /// <param name="member_gid">会员gid</param> /// <param name="openid">会员openid</param> /// <param name="type">1=真柏 2=视频 3=课程</param> /// <param name="remarks">备注</param> /// <param name="address">快递地址</param> /// <param name="consignee">收货人</param> /// <param name="contact_number">联系电话</param> /// <returns>返回调用结果</returns> /// <para name="result">200 是成功其他失败</para> /// <para name="data">对象结果</para> /// <remarks> /// 2018-08-18 林建生 /// </remarks> public static string wxpay(string order_no, string product, Guid member_gid, string openid, int type, string remarks, string address = "", string consignee = "", string contact_number = "") { using (EFDB db = new EFDB()) { //订单的gid Guid order_gid = Guid.NewGuid(); //产品金额 decimal total_price = 0; //产品名称 string body = "多个商品订单"; //添加订单产品列表 JArray json = (JArray)JsonConvert.DeserializeObject(product); Guid? product_gid = null; int number = 0; foreach (var j in json) { product_gid = Guid.Parse(j["product_gid"].ToString()); number = int.Parse(j["number"].ToString()); var p = db.product.Where(l => l.gid == product_gid).FirstOrDefault(); if (json.Count() == 1) { body = p.name; } //total_price += p.price * number; var od = new order_details(); od.gid = Guid.NewGuid(); od.add_time = DateTime.Now; od.order_gid = order_gid; od.product_gid = (Guid)product_gid; od.number = number; od.price = p.price; od.pay_price = p.price; db.order_details.Add(od); } if (db.SaveChanges() == json.Count()) { //备注 string attach = JsonConvert.SerializeObject(new { type = type, total_price, order_gid }); //string order_no = RandStr.CreateOrderNO(); total_price = db.order_details.Where(l => l.order_gid == order_gid).Sum(l => l.price * l.number); //生成订单 var b = new lorder(); b.gid = order_gid; b.add_time = DateTime.Now; b.order_no = order_no; b.member_gid = member_gid; b.pay_status = 2; b.pay_type = 2; b.total_price = total_price; b.price = total_price; b.number = type != 1 ? number: json.Count(); b.coupon_price = 0; b.express_status = 1; b.address = address; b.consignee = consignee; b.contact_number = contact_number; b.remarks = string.IsNullOrEmpty(remarks) ? attach : remarks; if (type != 1) { b.product_gid = product_gid; } db.lorder.Add(b); if (db.SaveChanges() == 1) { //开始微信统一下单 string _Pay_Package = WXPay.Get_RequestHtml(openid, order_no, total_price, body, attach); //微信jspai支付 if (_Pay_Package.Length > 0) { if (!string.IsNullOrEmpty(consignee) && !string.IsNullOrEmpty(contact_number) && !string.IsNullOrEmpty(address)) { db.member.Where(l => l.gid == member_gid).Update(l => new member { address = address, contact_number = contact_number, real_name = consignee }); } return(_Pay_Package); } else { db.lorder.Where(l => l.gid == b.gid).Delete(); return("微信下单失败"); } } else { db.order_details.Where(l => l.order_gid == order_gid).Delete(); db.lorder.Where(l => l.gid == order_gid).Delete(); return("生成订单失败"); } } else { db.order_details.Where(l => l.order_gid == order_gid).Delete(); return("生成订单列表失败"); } } }
/// <summary> /// 支付成功更新订单 /// </summary> /// <param name="order_no">网站订单号</param> /// <param name="trade_no">网银订单号</param> /// <param name="pay_type">支付类型</param> /// <param name="pay_amount">在线支付金额</param> /// <param name="remarks">返回的支付备注信息</param> /// <returns>返回调用结果</returns> public static bool payOrder(string order_no) { using (EFDB db = new EFDB()) { bool isok = false; string pay = WXPay.Get_Order(order_no); if (!string.IsNullOrEmpty(pay)) { //获取返回的支付参数 JObject payJson = JsonConvert.DeserializeObject(pay) as JObject; string trade_no = payJson["trade_no"].ToString(); string attach = payJson["attach"].ToString(); int pay_type = Int32.Parse(payJson["pay_type"].ToString()); decimal pay_amount = decimal.Parse(payJson["pay_amount"].ToString()); //解析备注信息 JObject paramJson = JsonConvert.DeserializeObject(attach) as JObject; int type = Int32.Parse(paramJson["type"].ToString()); string LogMsg = "订单号:" + order_no + ",网银订单号:" + trade_no + ",支付类型:" + pay_type.ToString() + ",网上支付金额:" + pay_amount.ToString() + ",备注:" + attach; //支付类型 string payname = ((PayType)Enum.Parse(typeof(LJShengHelper.PayType), pay_type.ToString())).ToString(); var b = db.lorder.Where(l => l.order_no == order_no).FirstOrDefault(); if (b != null && b.pay_status == 2) { if (b.price == pay_amount) { b.pay_status = 1; } else { b.pay_status = 5; } b.trade_no = trade_no; b.pay_time = DateTime.Now; b.pay_type = pay_type; b.pay_price = pay_amount; b.express_status = 1; //b.remarks = remarks; if (db.SaveChanges() == 1) { //type[1 = 真柏 2 = 视频 3 = 课程] if (type == 2) { Guid product_gid = (Guid)b.product_gid; Guid member_gid = b.member_gid; var p = db.product.Where(l => l.gid == product_gid).FirstOrDefault(); if (p != null) { //套餐逻辑 if (p.sort >= 10000) { int number = (int)p.extend4; if (db.member.Where(l => l.gid == member_gid).Update(l => new member { number = l.number + number }) == 1) { isok = true; } else { LogManager.WriteLog("对账增加会员次数失败", "product_gid=" + product_gid.ToString() + ",member_gid=" + member_gid.ToString()); } } else { //单独购买视频 var vr = new video_record(); vr.gid = Guid.NewGuid(); vr.add_time = DateTime.Now; vr.product_gid = product_gid; vr.member_gid = member_gid; vr.video_time = DateTime.Now; vr.number = (int)db.product.Where(l => l.gid == product_gid).FirstOrDefault().extend4; db.video_record.Add(vr); if (db.SaveChanges() == 1) { isok = true; } else { LogManager.WriteLog("对账增加观看记录失败", "product_gid=" + product_gid.ToString() + ",member_gid=" + member_gid.ToString()); } } } } else { isok = true; //扣除库存 Guid ordergid = db.lorder.Where(l => l.order_no == order_no).FirstOrDefault().gid; var od = db.order_details.Where(l => l.order_gid == ordergid).ToList(); foreach (var dr in od) { db.product.Where(l => l.gid == dr.product_gid).Update(l => new product { extend4 = l.extend4 - dr.number }); } } } else { LogManager.WriteLog("支付成功更新订单失败", LogMsg); } } } else { LogManager.WriteLog("查询订单失败", order_no); } return(isok); } }
/// <summary> /// 扣除播放数量 /// </summary> /// <param name="member_gid">会员gid</param> /// <param name="product_gid">产品gid</param> /// <param name="type">[1=vip 2=数量 3=次数]</param> /// <param name="login_identifier">登陆标识</param> /// <param>修改备注</param> /// 2014-5-20 林建生 public static object videoNumber(Guid member_gid, Guid product_gid, int type, string login_identifier) { try { using (EFDB db = new EFDB()) { var member = db.member.Where(l => l.gid == member_gid).FirstOrDefault(); if (member.login_identifier == login_identifier) { if (type == 2) { if (db.video_record.Where(l => l.member_gid == member_gid && l.product_gid == product_gid).Update(l => new video_record { number = l.number - 1, video_time = DateTime.Now }) > 0) { return(new AjaxResult("ok")); } else { LogManager.WriteLog("扣除观看次数失败", "product_gid=" + product_gid.ToString() + ",member_gid=" + member_gid.ToString()); } } else if (type == 3) { if (db.member.Where(l => l.gid == member_gid).Update(l => new member { number = l.number - 1 }) > 0) { var vr = new video_record(); vr.gid = Guid.NewGuid(); vr.add_time = DateTime.Now; vr.product_gid = product_gid; vr.member_gid = member_gid; vr.video_time = DateTime.Now; vr.number = (int)db.product.Where(l => l.gid == product_gid).FirstOrDefault().extend4 - 1; db.video_record.Add(vr); if (db.SaveChanges() != 1) { LogManager.WriteLog("增加观看记录失败", "product_gid=" + product_gid.ToString() + ",member_gid=" + member_gid.ToString()); } return(new AjaxResult("ok")); } } else { return(new AjaxResult(300, "未知数据=" + type.ToString())); } return(new AjaxResult(300, "扣除操作失败")); } else { return(new AjaxResult(300, "请重新登录!")); } } } catch (Exception err) { return(new AjaxResult(new { Message = err.Message, Source = err.Source, StackTrace = err.StackTrace })); } }
/// <summary> /// 绑定推送用户 /// </summary> /// <param name="registrationid">手机ID</param> /// <returns>返回调用结果</returns> /// <para name="code">200=成功 其他请参看代码表</para> /// <para name="msg">提示信息</para> /// <para name="data">-----如下-----</para> /// <para name="alias">绑定的推送别名</para> /// <para name="gid">手机ID注册得到的GID</para> /// <remarks> /// 2016-03-12 林建生 /// </remarks> public static object regjpush(string registrationid) { if (string.IsNullOrEmpty(registrationid)) { return(new ApiResult("registrationid不能为空")); } else { EFDB db = new EFDB(); //根据手机ID注册用户 var hy = db.huiyuan.Where(l => l.openid == registrationid).FirstOrDefault(); Guid hygid = Guid.NewGuid(); if (hy == null) { var b = new LJSheng.Data.EF.huiyuan { gid = hygid, zhanghao = registrationid, mima = LJSheng.Common.MD5.GetMD5ljsheng(registrationid), xb = 0, openid = registrationid, rukusj = DateTime.Now }; db.huiyuan.Add(b); db.SaveChanges(); } else { hygid = hy.gid; } string alias = DateTime.Now.ToString("yyMMddHHmmss") + Common.RandStr.GetRandomNumberString(2) + Common.RandStr.CreateValidateNumber(2); var jpush = db.jpush.Where(l => l.registrationid == registrationid).FirstOrDefault(); if (jpush == null)//没有手机ID记录 { //JPushClient jc = new JPushClient("03c587853bcab3ad4ab82c29", "1e5f04cb6b33a116ef4d7aa4"); ////HashSet<string> tagsToAdd = new HashSet<string>(); ////tagsToAdd.Add("add"); //DefaultResult result = jc.updateDeviceTagAlias(registrationid, alias, null, null); //if (result.isResultOK() == true) //{ Guid gid = Guid.NewGuid(); var j = new jpush { gid = gid, lx = ApiHelper.sjxt, alias = alias, registrationid = registrationid, rukusj = DateTime.Now }; db.jpush.Add(j); if (db.SaveChanges() == 1) { return(new ApiResult("注册别名成功", new { alias, gid = hygid })); } else { return(new ApiResult("入库失败")); } //} //else //{ // return new ApiResult("极光绑定别名失败"); //} } else//有手机ID记录 { return(new ApiResult("获取别名", new { jpush.alias, gid = hygid })); } } }