public EOrderInfo InitWXOrder(string No, EQRUser qrUser, float TotalAmount, string phone) { EOrderInfo order = new EOrderInfo() { OrderNo = No, OrderStatus = BaseEnum.OrderStatus.WaitingAliPayNotify, QRUserId = qrUser.ID, AgentName = qrUser.UserName, AgentOpenId = qrUser.OpenId, TotalAmount = TotalAmount, Rate = qrUser.Rate, RateAmount = (float)Math.Round(TotalAmount * (qrUser.Rate / 100), 2, MidpointRounding.AwayFromZero), TransDate = DateTime.Now, TransDateStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), OrderType = OrderType.WX, BuyerMarketRate = qrUser.MarketRate, BuyerTransferAmount = (float)Math.Round(TotalAmount * (100 - qrUser.MarketRate) / 100, 2, MidpointRounding.AwayFromZero), BuyerMobilePhone = phone // BuyerAliPayAccount = AliPayAccount, }; return(order); }
/// <summary> /// /// </summary> /// <param name="order"></param> /// <param name="qrUser">2级QRUser</param> /// <param name="topUser">1级代理人</param> /// <returns></returns> public EAgentCommission InitAgentCommission_L3(EOrderInfo order, EQRUser qrUser, RUserInfo topUser) { double L3Comm = 0.2; //if (qrUser.QRType == QRType.ARHuge) // L3Comm = 0.2; EAgentCommission comm = new EAgentCommission { OrderNo = order.OrderNo, AgentCommissionStatus = BaseEnum.AgentCommissionStatus.Open, ParentOpenId = topUser.OpenId, ChildOpenId = qrUser.OpenId, CommissionAmount = (float)Math.Round((L3Comm / 100) * order.TotalAmount, 2, MidpointRounding.ToEven), Level = 3, CommissionRate = (float)L3Comm, ChildName = qrUser.UserName, ParentName = topUser.Name, TransDate = DateTime.Now, TransDateStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), ParentAliPayAccount = topUser.AliPayAccount, }; return(comm); }
private void AnalyUser(IQBContent db, string parentOpenId, int level) { var list = db.DBUserInfo.Where(a => a.UserRole == UserRole.Agent && a.UserStatus == UserStatus.PPUser && a.parentOpenId == parentOpenId).ToList(); level++; foreach (EUserInfo u in list) { // if (u.OpenId == "o3nwE0oE32A4jA-bGu9t59Ob4Qzc") continue; List <SFee> feeList = new List <SFee>(); SFee sfee = null; /*普通代理*/ //花呗 1 EQRUser qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.Small).FirstOrDefault(); if (qr != null) { var fee = 0.75 + Config.ChildFixRate * (level - 1); sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); } //信用卡 0.63/0.75 qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.CreditCard).FirstOrDefault(); if (qr != null) { var fee = 0.63 + Config.CCChildFixRate * (level - 1); sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); } WXNTAgentFeeRate(feeList, u.OpenId); AnalyUser(db, u.OpenId, level); _UserNum++; Console.WriteLine(string.Format("{1}调整代理:{0}", u.Name, _UserNum)); } }
/// <summary> /// /// </summary> /// <param name="qrUser"></param> /// <param name="store"></param> /// <param name="TotalAmount">订单总金额</param> /// <param name="orderType">订单类型:大额/小额</param> /// <param name="AliPayAccount">支付宝账户</param> /// <param name="orderNum">是否有订单,没有费率则为全局费率</param> /// <param name="ui">如果用户被禁用,传入</param> /// <param name="QRHugeTrans"></param> /// <returns></returns> public EOrderInfo InitOrder(EQRUser qrUser, EStoreInfo store, EUserStore userStore, float TotalAmount, OrderType orderType, string AliPayAccount = "", int orderNum = 0, EUserInfo ui = null, EQRHugeTrans QRHugeTrans = null) { EOrderInfo order = new EOrderInfo() { OrderNo = _handler.OrderNo, OrderStatus = BaseEnum.OrderStatus.WaitingAliPayNotify, QRUserId = qrUser.ID, AgentName = qrUser.UserName, AgentOpenId = qrUser.OpenId, TotalAmount = TotalAmount, Rate = qrUser.Rate, RateAmount = (float)Math.Round(TotalAmount * (qrUser.Rate / 100), 2, MidpointRounding.AwayFromZero), TransDate = DateTime.Now, TransDateStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), SellerAliPayId = store.AliPayAccount, SellerStoreId = store.ID, SellerName = store.Name, SellerChannel = store.Channel, SellerRate = store.Rate, SellerCommission = (float)Math.Round(TotalAmount * (userStore.OwnerRate) / 100, 2, MidpointRounding.ToEven), OrderType = orderType, BuyerMarketRate = qrUser.MarketRate, BuyerTransferAmount = (float)Math.Round(TotalAmount * (100 - qrUser.MarketRate) / 100, 2, MidpointRounding.AwayFromZero), BuyerAliPayAccount = AliPayAccount, //ReceiveNo = StringHelper.GenerateReceiveNo(), }; if (QRHugeTrans != null) { order.EQRHugeTransId = QRHugeTrans.ID; //大单用户手续费 order.BuyerTransferAmount -= (float)RuleManager.PayRule().User_ServerFee_HQ; } else { //double FOFeeRate = RuleManager.PayRule().Agent_FOFeeRate; //小单用户手续费 //if(order.TotalAmount>=199) // order.BuyerTransferAmount -= (float)RuleManager.PayRule().User_ServerFee_Q; order.BuyerTransferAmount -= (float)RuleManager.PayRule().User_ServerFee_Q; ////首单费率 //if(orderNum == 0 && (qrUser.MarketRate-qrUser.Rate)< FOFeeRate) // order.RateAmount = (float)Math.Round(TotalAmount * ((qrUser.MarketRate-FOFeeRate) / 100), 2, MidpointRounding.ToEven); if (ui.UserStatus == UserStatus.JustRegister) { order.RateAmount = (float)Math.Round(TotalAmount * (0.5 / 100), 2, MidpointRounding.ToEven); } } return(order); }
public void ChangeReceiveQR() { using (IQBContent db = new IQBContent()) { //var list = db.DBQRUser.Where(a => a.QRType == QRReceiveType.Small).ToList(); var list = db.DBQRUser.Where(a => a.QRType == QRReceiveType.Small && a.OpenId == "o3nwE0jrONff65oS-_W96ErKcaa0").ToList(); foreach (EQRUser qr in list) { string openId = qr.OpenId; EQRUser updateQr = QRManager.CreateUserUrlById(qr); } db.SaveChanges(); } }
public void UpdateAgentForSpecial() { using (IQBContent db = new IQBContent()) { var list = db.DBUserInfo.Where(a => a.parentOpenId == "o3nwE0vaY07Rr2RJRgb9JRKci_KI").ToList(); foreach (EUserInfo u in list) { List <SFee> feeList = new List <SFee>(); SFee sfee = null; /*总代*/ //花呗(0.75)/0.8 EQRUser qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.Small).FirstOrDefault(); var fee = 0.75; sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); //信用卡0.63/0.65 qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.CreditCard).FirstOrDefault(); if (u.OpenId == "o3nwE0snE94bXggy2K8ZfHuyypVs" || u.OpenId == "o3nwE0og1j5cLMTVdg0XSjtJ88E8") { fee = 0.63; } else { fee = 0.65; } sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); Console.WriteLine(string.Format("代理:{0}", u.Name)); // WXNTAgentFeeRate(feeList, u.OpenId); } db.SaveChanges(); Console.WriteLine(string.Format("调整代理Done")); } }
/// <summary> /// 批量更新代理费率 /// </summary> public void UpdateAgentRate() { using (IQBContent db = new IQBContent()) { var list = db.DBUserInfo.Where(a => a.UserRole == UserRole.DiamondAgent || a.UserRole == UserRole.Administrator && a.UserStatus == UserStatus.PPUser).ToList(); foreach (EUserInfo u in list) { List <SFee> feeList = new List <SFee>(); SFee sfee = null; /*总代*/ //花呗(0.75)/0.8 EQRUser qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.Small).FirstOrDefault(); var fee = 0.75; sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); //信用卡0.63/0.65 qr = db.DBQRUser.Where(a => a.OpenId == u.OpenId && a.QRType == QRReceiveType.CreditCard).FirstOrDefault(); fee = 0.63; sfee = new SFee(); sfee.OrigFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); sfee.QRType = qr.QRType; qr.Rate = Convert.ToSingle((qr.MarketRate - fee).ToString("0.00")); sfee.AdjustedFeeRate = Convert.ToSingle((qr.MarketRate - qr.Rate).ToString("0.00")); feeList.Add(sfee); Console.WriteLine(string.Format("总代:{0}", u.Name)); // WXNTAgentFeeRate(feeList, u.OpenId); AnalyUser(db, u.OpenId, 1); } db.SaveChanges(); Console.WriteLine(string.Format("调整代理Done")); } }
public static string TestQR(EQRUser qrUser) { string imgPath = ""; //string site = ConfigurationManager.AppSettings["IQBWX_SiteUrl"]; //string url = site + "PP/Pay?Id=" + qrUser.ID; //Image LogoImg; //string LogoAddr = HttpContext.Current.Server.MapPath("/Content/QR/ReceiveMoney_Logo"); //LogoImg = new Bitmap(LogoAddr); //Bitmap qrImg = QRManager.CreateQR(url, filePath, LogoImg); return(imgPath); }
public EAgentCommission InitAgentCommission(EOrderInfo order, EQRUser qrUser) { EAgentCommission comm = new EAgentCommission { OrderNo = order.OrderNo, AgentCommissionStatus = BaseEnum.AgentCommissionStatus.Open, ParentOpenId = qrUser.ParentOpenId, ChildOpenId = qrUser.OpenId, CommissionAmount = (float)Math.Round((qrUser.ParentCommissionRate / 100) * order.TotalAmount, 2, MidpointRounding.ToEven), Level = 2, CommissionRate = qrUser.ParentCommissionRate, ChildName = qrUser.UserName, ParentName = qrUser.ParentName, TransDate = DateTime.Now, TransDateStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm"), }; return(comm); }
/// <summary> /// 更新收款二维码 /// </summary> /// <param name="qrUser"></param> /// <param name="logoUrl"></param> /// <returns></returns> public static EQRUser UpdateReceiveQR(EQRUser qrUser, string SeqNo) { try { string filename = qrUser.OrigQRFilePath; string filePath = HttpContext.Current.Server.MapPath(qrUser.OrigQRFilePath); FileInfo fi = new FileInfo(filePath); Bitmap qrImg = new Bitmap(filePath); //BK //+ "ARUserBK1.jpg"; string bkAdree = HttpContext.Current.Server.MapPath("/Content/QR/BK/bk_spring.jpg"); Bitmap bkImg = new Bitmap(bkAdree); Bitmap finImg = ImgHelper.ImageWatermark(bkImg, qrImg); filePath = ConfigurationManager.AppSettings["QR_ARUser_FP"]; filename = "BK_" + SeqNo + "_" + fi.Name; filePath += filename; finImg.Save(HttpContext.Current.Server.MapPath(filePath)); finImg.Dispose(); bkImg.Dispose(); qrUser.FilePath = filePath; } catch (Exception ex) { IQBLog log = new IQBLog(); log.log("CreateUserUrlById Error:" + ex.Message); throw ex; } return(qrUser); }
/// <summary> /// 收款二维码 /// </summary> public static EQRUser CreateUserUrlById(EQRUser qrUser, string logoUrl = "") { try { string site = ConfigurationManager.AppSettings["IQBWX_SiteUrl"]; string url = site + "PP/PaySelection?Id=" + qrUser.OpenId; string filePath = ConfigurationManager.AppSettings["QR_ARUser_FP"]; string filename = "QRARU_" + qrUser.ID + "_" + System.DateTime.Now.ToString("yyyyMMdd") + (new Random()).Next(1, 100).ToString() + ".jpg"; filePath += filename; qrUser.OrigQRFilePath = filePath; //Create QR filePath = System.Web.HttpContext.Current.Server.MapPath(filePath); //Logo Image LogoImg = null; //根据头像创建收款码Logo //if (!string.IsNullOrEmpty(logoUrl)) //{ // LogoImg = ImgHelper.GetImgFromUrl(logoUrl); // LogoImg = ImgHelper.resizeImage(LogoImg, new Size(56, 56)); // LogoImg = ImgHelper.AddImgBorder(new Bitmap(LogoImg), 4, Color.Wheat); //} //收款码统一Logo string LogoAddr = HttpContext.Current.Server.MapPath("/Content/QR/ReceiveMoney_Logo.png"); LogoImg = new Bitmap(LogoAddr); Bitmap qrImg = QRManager.CreateQR(url, filePath, LogoImg); //BK //+ "ARUserBK1.jpg"; string bkAdree = HttpContext.Current.Server.MapPath("/Content/QR/BK/bk_spring.jpg"); Bitmap bkImg = new Bitmap(bkAdree); //添加文字 using (Graphics g = Graphics.FromImage(bkImg)) { string s = "欢迎使用支付宝付款"; Font font = new Font("黑体", 12, FontStyle.Bold); SolidBrush b = new SolidBrush(Color.FromArgb(50, 159, 250)); g.DrawString(s, font, b, new PointF(96, 125)); } Bitmap finImg = ImgHelper.ImageWatermark(bkImg, qrImg); filePath = ConfigurationManager.AppSettings["QR_ARUser_FP"]; filename = "BK_" + qrUser.ID + "_" + filename; filePath += filename; finImg.Save(HttpContext.Current.Server.MapPath(filePath)); finImg.Dispose(); bkImg.Dispose(); qrUser.FilePath = filePath; qrUser.TargetUrl = url; } catch (Exception ex) { IQBLog log = new IQBLog(); log.log("CreateUserUrlById Error:" + ex.Message); throw ex; } return(qrUser); }
/// <summary> /// O2O入口 /// </summary> public static EQRUser CreateO2OEntryQR(EQRUser qrUser) { try { string site = ConfigurationManager.AppSettings["Main_SiteUrl"]; string url = site + "/O2OWap/Index?aoId=" + qrUser.OpenId; string filePath = "/Content/QR/O2O/"; string filename = "QRO2O_" + qrUser.ID + "_" + System.DateTime.Now.ToString("yyyyMMdd") + (new Random()).Next(1, 100).ToString() + ".jpg"; filePath += filename; qrUser.OrigQRFilePath = filePath; //Create QR filePath = System.Web.HttpContext.Current.Server.MapPath(filePath); //Logo Image LogoImg = null; //O2O统一Logo string LogoAddr = HttpContext.Current.Server.MapPath("/Content/QR/O2O_Logo.png"); LogoImg = new Bitmap(LogoAddr); Bitmap qrImg = QRManager.CreateQR(url, filePath, LogoImg); //BK string bkAdree = HttpContext.Current.Server.MapPath("/Content/QR/BK/bk_O2O.jpg"); Bitmap bkImg = new Bitmap(bkAdree); //添加文字 //using (Graphics g = Graphics.FromImage(bkImg)) //{ // string s = "欢迎来到O2O特惠商城"; // Font font = new Font("黑体", 12, FontStyle.Bold); // SolidBrush b = new SolidBrush(Color.FromArgb(50, 159, 250)); // g.DrawString(s, font, b, new PointF(96, 125)); //} Bitmap finImg = ImgHelper.ImageWatermark(bkImg, qrImg); filePath = "/Content/QR/O2O/"; filename = "BK_" + qrUser.ID + "_" + filename; filePath += filename; finImg.Save(HttpContext.Current.Server.MapPath(filePath)); finImg.Dispose(); bkImg.Dispose(); qrUser.FilePath = filePath; qrUser.TargetUrl = url; } catch (Exception ex) { IQBLog log = new IQBLog(); log.log("CreateUserUrlById Error:" + ex.Message); throw ex; } return(qrUser); }