/// <summary> /// 未支付时仅修改内容表 /// </summary> /// <param name="newsId"></param> /// <param name="setTop"></param> /// <param name="money"></param> /// <returns></returns> public static bool UpdateSetTop(int newsId, int setTop, decimal money, string pay, out string orderno) { using (Entities db = new Entities()) { var news = db.ht_news.Find(newsId); orderno = string.Empty; if (news != null) { orderno = news.order_no; news.set_top = setTop; news.set_top_money += money; news.total += money; } if (!string.IsNullOrWhiteSpace(pay)) { if (pay == "余额") { ht_user_money_log log = new ht_user_money_log(); log.userid = news.add_userid; log.type = (int)Model.Enum.UserMoneyDetails.SetTopPay; log.money = -money; log.remark = string.Format("余额支出{0}元", money); log.addtime = DateTime.Now; db.ht_user_money_log.Add(log); ht_user user = db.ht_user.Find(news.add_userid); user.money = user.money - money; } } return(db.SaveChanges() > 0 ? true : false); } }
/// <summary> /// 批量更新审核状态 /// </summary> /// <param name="id">id</param> /// <param name="status">0待审核1审核通过2审核不通过</param> /// <returns></returns> public static bool UpdateStatus(List <int> ids, int status) { using (Entities db = new Entities()) { db.ht_user_money_log.Where(p => ids.Contains(p.id)).ToList().ForEach(item => { item.status = status; if (status == (int)Model.Enum.WithDraw.NotPassAudit) { db.ht_user.Find(item.userid).money -= item.money; ht_user_money_log model = new ht_user_money_log(); model.addtime = DateTime.Now; model.userid = item.userid; model.remark = "余额提现审核未通过"; model.money = item.money * -1; model.type = (int)Model.Enum.UserMoneyDetails.RefundMoney; model.status = 0; db.ht_user_money_log.Add(model); } }); if (db.SaveChanges() > 0) { return(true); } else { return(false); } } }
/// <summary> /// 微信支付成功 /// </summary> /// <param name="orderNo">订单号</param> /// <param name="tradeNo">交易号</param> /// <returns></returns> public static bool WXPaySuccess(string orderNo, string tradeNo) { using (Entities db = new Entities()) { var details = db.ht_news.FirstOrDefault(p => p.order_no == orderNo); if (details.pay_status == 1) { return(false); } ht_user_money_log log = new ht_user_money_log(); log.userid = details.add_userid; log.type = (int)Model.Enum.UserMoneyDetails.PayNews; log.money = details.total; log.remark = string.Format("微信支付充值{0}元", details.total); log.addtime = DateTime.Now; db.ht_user_money_log.Add(log); ht_user_money_log log2 = new ht_user_money_log(); log2.userid = details.add_userid; log2.type = (int)Model.Enum.UserMoneyDetails.PayNews; log2.money = -details.total; log2.remark = string.Format("发布{1}支出{0}元", details.total, details.cate); log2.addtime = DateTime.Now; db.ht_user_money_log.Add(log2); details.pay_status = 1; details.status = 1;//自动审核通过 details.pay_time = DateTime.Now; details.pay = "微信"; details.pay_trade_no = tradeNo; return(db.SaveChanges() > 0); } }
/// <summary> /// 余额支付 /// </summary> /// <param name="order_no">订单号</param> /// <param name="pay">支付方式</param> /// <param name="pay_trade_no">交易号</param> /// <returns></returns> public static int PayNews(string order_no, string pay, string pay_trade_no, out string msg) { msg = "支付失败"; using (Entities db = new Entities()) { var details = db.ht_news.FirstOrDefault(p => p.order_no == order_no); if (details.pay_status == 1) { msg = "已支付过"; return(0); } ht_user_money_log log = new ht_user_money_log(); log.userid = details.add_userid; log.type = (int)Model.Enum.UserMoneyDetails.PayNews; log.money = -details.total; log.remark = string.Format("余额支出{0}元", details.total); log.addtime = DateTime.Now; db.ht_user_money_log.Add(log); ht_user user = db.ht_user.Find(details.add_userid); user.money = user.money - details.total; details.pay_status = 1; details.status = 1;//自动审核通过 details.pay_time = DateTime.Now; details.pay = pay; details.pay_trade_no = pay_trade_no; // var tran = db.Database.BeginTransaction(); return(db.SaveChanges()); } }
public static bool AddUserMoneyLogData(int id, decimal money, string remark, int type) { using (Entities db = new Entities()) { ht_user_money_log model = new ht_user_money_log(); model.addtime = DateTime.Now; model.userid = id; model.remark = remark; model.money = -money; model.type = type; model.status = 0; db.ht_user_money_log.Add(model); db.ht_user.Find(id).money -= money; return(db.SaveChanges() > 0 ? true : false); } }
/// <summary> /// 微信支付成功 /// </summary> /// <param name="orderNo">订单号</param> /// <param name="tradeNo">交易号</param> /// <returns></returns> public static bool WXPaySuccess(string orderNo, string tradeNo) { using (Entities db = new Entities()) { var order = db.ht_news_order.FirstOrDefault(p => p.order_no == orderNo); if (order.pay_status == 1) { return(false); } var news = db.ht_news.FirstOrDefault(p => p.id == order.news_id); ht_user_money_log log = new ht_user_money_log(); log.userid = order.add_userid; log.type = (int)Model.Enum.UserMoneyDetails.SetTopPay; log.money = order.money; log.remark = string.Format("微信支付充值{0}元", order.money); log.addtime = DateTime.Now; db.ht_user_money_log.Add(log); ht_user_money_log log2 = new ht_user_money_log(); log2.userid = order.add_userid; log.type = (int)Model.Enum.UserMoneyDetails.SetTopPay; log2.money = -order.money; log2.remark = string.Format("{0}支出{1}元", order.type, order.money); log2.addtime = DateTime.Now; db.ht_user_money_log.Add(log2); order.pay_status = 1; order.pay_time = DateTime.Now; order.pay_trade_no = tradeNo; news.set_top = Convert.ToInt32(order.value); news.set_top_money += order.money; news.total += order.money; return(db.SaveChanges() > 0); } }
/// <summary> /// 分佣 /// </summary> /// <param name="newsId">newsId</param> /// <returns></returns> public bool Maid(int newsId) { using (Entities db = new Entities()) { try { var model = db.ht_news.Single(p => p.id == newsId); var sourceUser = db.ht_user.Single(p => p.id == model.add_userid); ht_user preUserLevel1 = null; //上一级 ht_user preUserLevel2 = null; //上两级 if (sourceUser.parent_id != null && sourceUser.parent_id != 0) { preUserLevel1 = db.ht_user.Single(p => p.id == sourceUser.parent_id); } if (preUserLevel1 != null && preUserLevel1.parent_id != 0) { preUserLevel2 = db.ht_user.Single(p => p.id == preUserLevel1.parent_id); } if (preUserLevel1 == null && preUserLevel2 == null)//一二级都没有 { return(true); } decimal level1Rate = decimal.Parse(db.ht_sys_config.Single(p => p.xkey == "distribution_level1").xvalue) / 100; //上一级分佣比例 decimal level2Rate = decimal.Parse(db.ht_sys_config.Single(p => p.xkey == "distribution_level2").xvalue) / 100; //上两级分佣比例 decimal level1Amount = Math.Round(model.total.Value * level1Rate, 2); //分给上一级的金额 decimal level2Amount = Math.Round(model.total.Value * level2Rate, 2); //分给上两级的金额 if (preUserLevel1 != null) //给上一级分佣 { preUserLevel1.money += level1Amount; ht_user_money_log level1Log = new ht_user_money_log(); level1Log.addtime = DateTime.Now; level1Log.userid = preUserLevel1.id; level1Log.money = level1Amount; level1Log.type = 1; level1Log.remark = string.Format("一级分佣获得{0}元", level1Amount); db.ht_user_money_log.Add(level1Log); ht_distribution_log disLevel1Log = new ht_distribution_log(); disLevel1Log.userid = preUserLevel1.id; disLevel1Log.title = "一级推荐人订单返利"; disLevel1Log.order_no = model.order_no; disLevel1Log.money = level1Amount; disLevel1Log.source_userid = model.add_userid; disLevel1Log.source_pre_userid = preUserLevel1.id; disLevel1Log.news_id = model.id; disLevel1Log.add_time = DateTime.Now; db.ht_distribution_log.Add(disLevel1Log); ht_commission comLevel1 = db.ht_commission.SingleOrDefault(p => p.userid == preUserLevel1.id && p.source_userid == model.add_userid); if (comLevel1 != null) { comLevel1.total_money += level1Amount; } else { comLevel1 = new ht_commission(); comLevel1.userid = preUserLevel1.id; comLevel1.add_time = DateTime.Now; comLevel1.source_userid = model.add_userid; comLevel1.source_user_nick = sourceUser.nickname; comLevel1.source_user_avatar = sourceUser.avatar; comLevel1.source_pre_userid = preUserLevel1.id; comLevel1.total_money = level1Amount; db.ht_commission.Add(comLevel1); } } if (preUserLevel2 != null)//给上两级分佣 { preUserLevel2.money += level2Amount; ht_user_money_log level2Log = new ht_user_money_log(); level2Log.addtime = DateTime.Now; level2Log.userid = preUserLevel2.id; level2Log.money = level2Amount; level2Log.type = 1; level2Log.remark = string.Format("二级分佣获得{0}元", level2Amount); db.ht_user_money_log.Add(level2Log); ht_distribution_log disLevel2Log = new ht_distribution_log(); disLevel2Log.userid = preUserLevel2.id; disLevel2Log.title = "二级推荐人订单返利"; disLevel2Log.order_no = model.order_no; disLevel2Log.money = level2Amount; disLevel2Log.source_userid = model.add_userid; disLevel2Log.source_pre_userid = preUserLevel1.id; disLevel2Log.news_id = model.id; disLevel2Log.add_time = DateTime.Now; db.ht_distribution_log.Add(disLevel2Log); ht_commission comLevel2 = db.ht_commission.SingleOrDefault(p => p.userid == preUserLevel2.id && p.source_userid == model.add_userid); if (comLevel2 != null) { comLevel2.total_money += level2Amount; } else { comLevel2 = new ht_commission(); comLevel2.userid = preUserLevel2.id; comLevel2.add_time = DateTime.Now; comLevel2.source_userid = model.add_userid; comLevel2.source_user_nick = sourceUser.nickname; comLevel2.source_user_avatar = sourceUser.avatar; comLevel2.source_pre_userid = preUserLevel1.id; comLevel2.total_money = level2Amount; db.ht_commission.Add(comLevel2); } } return(db.SaveChanges() > 0); } catch (Exception ex) { //日志 return(false); } } }