using System; using System.Web; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Data; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using MySystem.Models; using Library; using LitJson; using MySystemLib; namespace MySystem.Areas.Admin.Controllers { [Area("Admin")] [Route("Admin/[controller]/[action]")] public class ExportTable : BaseController { public ExportTable(IHttpContextAccessor accessor, ILogger logger, IOptions setting) : base(accessor, logger, setting) { OtherMySqlConn.connstr = ConfigurationManager.AppSettings["SqlConnStr"].ToString(); } #region 分润 public IActionResult Profit() { DataTable dt = OtherMySqlConn.dtable("select MakerCode,RealName,UserLevel,Rank,DirectFlag,BrandName,CreditTradeAmt,CreditTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit,NonQrCreditTradeAmt,NonQrCreditTradeProfit,HelpCreditTradeAmt,HelpCreditTradeProfit,NotHelpCreditTradeAmt,NotHelpCreditTradeProfit,DebitTradeAmt,DebitTradeProfit from ProfitRewardExport where SeoTitle='" + DateTime.Now.AddMonths(-1).ToString("yyyyMM") + "'"); string html = ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; foreach(DataRow dr in dt.Rows) { html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; } html += "
创客编号创客姓名创客职级预设职级分润类型品牌贷记卡交易额贷记卡分润云闪付贷记卡交易额云闪付贷记卡分润非云闪付贷记卡交易额非云闪付贷记卡分润非云闪付扶持期贷记卡交易额非云闪付扶持期贷记卡分润非云闪付稳定期贷记卡交易额非云闪付稳定期贷记卡分润借记卡交易额借记卡分润
" + dr["MakerCode"].ToString() + "" + dr["RealName"].ToString() + "" + dr["UserLevel"].ToString() + "" + dr["Rank"].ToString() + "" + dr["DirectFlag"].ToString() + "" + dr["BrandName"].ToString() + "" + dr["CreditTradeAmt"].ToString() + "" + dr["CreditTradeProfit"].ToString() + "" + dr["QrCreditTradeAmt"].ToString() + "" + dr["QrCreditTradeProfit"].ToString() + "" + dr["NonQrCreditTradeAmt"].ToString() + "" + dr["NonQrCreditTradeProfit"].ToString() + "" + dr["HelpCreditTradeAmt"].ToString() + "" + dr["HelpCreditTradeProfit"].ToString() + "" + dr["NotHelpCreditTradeAmt"].ToString() + "" + dr["NotHelpCreditTradeProfit"].ToString() + "" + dr["DebitTradeAmt"].ToString() + "" + dr["DebitTradeProfit"].ToString() + "
"; ViewBag.html = html; return View(); } #endregion #region 补贴 public IActionResult Subsidy() { DataTable dt = OtherMySqlConn.dtable("select MakerCode,RealName,UserLevel,Rank,KqSnNo,MerchantName,DirectFlag,BrandName,CreditTradeAmt,SubsidyProfit from ProfitSubsidyExport where SeoTitle='" + DateTime.Now.AddMonths(-1).ToString("yyyyMM") + "'"); string html = ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; foreach(DataRow dr in dt.Rows) { html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; } html += "
创客编号创客名称创客职级设置职级商户编号商户名称补贴类型品牌贷记卡交易额补贴分润
" + dr["MakerCode"].ToString() + "" + dr["RealName"].ToString() + "" + dr["UserLevel"].ToString() + "" + dr["Rank"].ToString() + "" + dr["KqSnNo"].ToString() + "" + dr["MerchantName"].ToString() + "" + dr["DirectFlag"].ToString() + "" + dr["BrandName"].ToString() + "" + dr["CreditTradeAmt"].ToString() + "" + dr["SubsidyProfit"].ToString() + "
"; ViewBag.html = html; return View(); } #endregion #region 666推荐王 public IActionResult Recommend() { DateTime start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyyMM") + "-01 00:00:00"); DateTime end = start.AddMonths(1); string TradeMonth = start.ToString("yyyyMM"); List userdic = new List(); WebCMSEntities db = new WebCMSEntities(); //判断当月是否下单 bool checkOrder = db.Orders.Any(m => m.PayDate >= start && m.PayDate < end && m.Status > 0 && m.TotalPrice == 66); if(checkOrder) { //统计当月下单名单 List uids = db.Orders.Where(m => m.PayDate >= start && m.PayDate < end && m.Status > 0 && m.TotalPrice == 66).ToList().Select(m => m.UserId).Distinct().ToList(); foreach(int uid in uids) { int ActCount = 0; List users = db.Users.Where(m => m.ParentUserId == uid && m.AuthFlag == 1 && m.AuthDate >= start).ToList(); foreach(Users user in users) { int BeforeActCount = db.PosMachinesTwo.Count(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime < start); if(BeforeActCount == 0) { decimal tradeAmt = 0; //机具总交易额 int actPosCount = 0; //激活机具数量 //查询当前创客所属机具 var posList = db.PosMachinesTwo.Select(m => new { m.ActivationState, m.ActivationTime, m.BuyUserId, m.BindMerchantId }).Where(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime >= start && m.ActivationTime < end).ToList(); if(posList.Count > 0) { actPosCount = posList.Count; foreach(var pos in posList) { //查询机具交易额 bool checkTrade = db.PosMerchantTradeSummay.Any(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth); if(checkTrade) { tradeAmt += db.PosMerchantTradeSummay.Where(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth).Sum(m => m.TradeAmount); } } decimal AvgTradeAmount = tradeAmt / actPosCount; if(AvgTradeAmount >= 30000 && actPosCount >= 3) { ActCount += 1; } } } } RecommendPriceList item = userdic.FirstOrDefault(m => m.UserId == uid); if(item != null) { item.ActCount += ActCount; } else { userdic.Add(new RecommendPriceList() { UserId = uid, ActCount = ActCount, }); } } } string html = ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; foreach(RecommendPriceList item in userdic) { string status = "未达标"; if(item.ActCount >= 6) { status = "已达标"; } Users user = db.Users.FirstOrDefault(m => m.Id == item.UserId) ?? new Users(); int subCount = db.Users.Count(m => m.ParentUserId == item.UserId && m.AuthFlag == 1 && m.AuthDate >= start); html += ""; html += ""; //创客编号 html += ""; //创客姓名 html += ""; //推荐总数 html += ""; //成功推荐数 html += ""; //是否达标 html += ""; } html += "
创客编号创客姓名推荐总数成功推荐数是否达标
" + user.MakerCode + "" + user.RealName + "" + subCount + "" + item.ActCount + "" + status + "
"; db.Dispose(); ViewBag.html = html; return View(); } #endregion #region 888翻倍奖 public IActionResult Double() { WebCMSEntities maindb = new WebCMSEntities(); List userIdList = new List(); string html = ""; DateTime StartDate = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00"); DateTime EndDate = StartDate.AddMonths(1); var orders = maindb.Orders.Select(m => new { m.UserId, m.TotalPrice, m.Status, m.PayDate }).Where(m => m.PayDate >= StartDate && m.PayDate < EndDate && m.TotalPrice == 88 && m.Status > 0).ToList(); foreach (var order in orders) { userIdList.Add(order.UserId); } foreach (int UserId in userIdList) { Users myuser = maindb.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users(); var lastmonth = DateTime.Now.AddMonths(-2).ToString("yyyyMM"); var thismonth = DateTime.Now.AddMonths(-1).ToString("yyyyMM"); DateTime start = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date; DateTime end = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1); string UserIdString = "," + UserId + ","; List users = maindb.Users.Where(m => m.ParentNav.Contains(UserIdString) || m.Id == UserId).ToList(); List uids = new List(); List uids2 = new List(); foreach (var user in users) { uids.Add(user.Id); } var suborders = orders.Where(m => uids.Contains(m.UserId)).ToList(); foreach (var suborder in suborders) { uids2.Add(suborder.UserId); } users = users.Where(m => uids2.Contains(m.Id)).ToList(); List list = new List(); foreach (Users user in users) { int IsOk = 0;//是否达标(0-否 1-是) decimal lastMonthAmt = maindb.TradeDaySummary.Where(m => m.TradeMonth == lastmonth && m.SeoTitle == "team" && m.UserId == user.Id).Sum(m => m.HelpNonDirectTradeAmt + m.NotHelpNonDirectTradeAmt); decimal thisMonthAmt = maindb.TradeDaySummary.Where(m => m.TradeMonth == thismonth && m.SeoTitle == "team" && m.UserId == user.Id).Sum(m => m.HelpNonDirectTradeAmt + m.NotHelpNonDirectTradeAmt); if (thisMonthAmt >= lastMonthAmt * 2 && thisMonthAmt >= 2000000) { IsOk = 1; } ProgressUserList item = new ProgressUserList() { LastMonth = lastMonthAmt, ThisMonth = thisMonthAmt, UserId = user.Id, ParentNav = user.ParentNav, IsOk = IsOk, }; list.Add(item); } list = list.OrderBy(m => m.ParentNav).ToList(); int index = 0; decimal selfTrade = 0; // 自己的本月交易额 decimal lastTrade = 0; // 自己的上月交易额 decimal totalTrade = 0; // 自己的本月目标交易额 string selfNav = ""; // 自己的ParentNav List ParentNavs = new List(); if (list.Count > 0) { foreach (ProgressUserList sub in list) { index += 1; if (index == 1) { selfTrade = sub.ThisMonth; lastTrade = sub.LastMonth; totalTrade = lastTrade * 2; selfNav = sub.ParentNav + "," + sub.UserId + ","; } else { bool op = true; //是否满足条件 string ParentNav = sub.ParentNav + "," + sub.UserId + ","; foreach (string subNav in ParentNavs) { if (ParentNavs.Contains(ParentNav) && ParentNav != subNav) { op = false; } } if (op) { if (sub.IsOk == 1) { selfTrade -= sub.ThisMonth; totalTrade -= sub.ThisMonth; } } ParentNavs.Add(ParentNav); } } } if (lastTrade * 2 < 2000000 || selfTrade == 0 || totalTrade < 2000000) { totalTrade = 2000000; } html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; if (selfTrade >= totalTrade) { html += ""; } else { html += ""; } html += ""; } html += "
" + myuser.MakerCode + "" + myuser.RealName + "" + selfTrade + "" + lastTrade + "" + totalTrade + "满足条件未满足条件
"; maindb.Dispose(); ViewBag.html = html; return View(); } #endregion #region 分仓数据 public IActionResult StoreHouse() { DataTable dt = OtherMySqlConn.dtable(""); string html = ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; foreach(DataRow dr in dt.Rows) { html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; html += ""; } html += "
创客编号创客名称创客职级设置职级商户编号商户名称补贴类型品牌贷记卡交易额补贴分润
" + dr["MakerCode"].ToString() + "" + dr["RealName"].ToString() + "" + dr["UserLevel"].ToString() + "" + dr["Rank"].ToString() + "" + dr["KqSnNo"].ToString() + "" + dr["MerchantName"].ToString() + "" + dr["DirectFlag"].ToString() + "" + dr["BrandName"].ToString() + "" + dr["CreditTradeAmt"].ToString() + "" + dr["SubsidyProfit"].ToString() + "
"; ViewBag.html = html; return View(); } #endregion } }