using System; using System.Collections.Generic; using Library; using System.Linq; using MySystem.MainModels; namespace MySystem { public class UserTradeDaySummaryDbconnV2 { public readonly static UserTradeDaySummaryDbconnV2 Instance = new UserTradeDaySummaryDbconnV2(); public UserTradeDaySummaryDbconnV2() { } // TODO:读取很慢,感觉redis没生效 #region 获取单个字段 //个人业绩 public decimal GetTrade(int UserId, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.UserTradeDaySummary.Any(m => m.UserId == UserId && m.SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == kind).Sum(m => m.DirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == kind).Sum(m => m.DirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == kind).Sum(m => m.NonDirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.SeoTitle == kind).Sum(m => m.NonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetDateTrade(int UserId, string TradeDate, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.UserTradeDaySummary.Any(m => m.UserId == UserId && m.TradeDate == TradeDate && m.SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.DirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.DirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.NonDirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.NonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetMonthTrade(int UserId, string TradeMonth, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.UserTradeDaySummary.Any(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.DirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.DirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.NonDirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.NonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetDateTradeForBrand(int UserId, string TradeDate, int BrandId, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.UserTradeDaySummary.Any(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeDate && m. SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.DirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.DirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.NonDirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.NonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetMonthTradeForBrand(int UserId, string TradeMonth, int BrandId, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.UserTradeDaySummary.Any(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonth && m. SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.DirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.DirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.NonDirectDebitTradeAmt); } else { amt = db.UserTradeDaySummary.Where(m => m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.NonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetDateTradeForCloud(int UserId, string TradeDate, int QrPayFlag, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.TradeDaySummary.Any(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeDate == TradeDate && m. SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.HelpDirectDebitTradeAmt + m.NotHelpDirectDebitTradeAmt + m.ProfitDirectDebitTradeAmt); } else { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.HelpDirectTradeAmt + m.NotHelpDirectTradeAmt + m.ProfitDirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.HelpNonDirectDebitTradeAmt + m.NotHelpNonDirectDebitTradeAmt + m.ProfitNonDirectDebitTradeAmt); } else { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeDate == TradeDate && m.SeoTitle == kind).Sum(m => m.HelpNonDirectTradeAmt + m.NotHelpNonDirectTradeAmt + m.ProfitNonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } public decimal GetMonthTradeForCloud(int UserId, string TradeMonth, int QrPayFlag, int BankCardType, string kind = "self") { decimal amt = 0; WebCMSEntities db = new WebCMSEntities(); bool check = db.TradeDaySummary.Any(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeMonth == TradeMonth && m. SeoTitle == kind); if (check) { if (kind == "self") { if (BankCardType == 0) { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.HelpDirectDebitTradeAmt + m.NotHelpDirectDebitTradeAmt + m.ProfitDirectDebitTradeAmt); } else { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.HelpDirectTradeAmt + m.NotHelpDirectTradeAmt + m.ProfitDirectTradeAmt); } } else if (kind == "team") { if (BankCardType == 0) { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.HelpNonDirectDebitTradeAmt + m.NotHelpNonDirectDebitTradeAmt + m.ProfitNonDirectDebitTradeAmt); } else { amt = db.TradeDaySummary.Where(m => m.UserId == UserId && m.QueryCount == QrPayFlag && m.TradeMonth == TradeMonth && m.SeoTitle == kind).Sum(m => m.HelpNonDirectTradeAmt + m.NotHelpNonDirectTradeAmt + m.ProfitNonDirectTradeAmt); } } } // RedisDbconn.Instance.Set(key, amt); db.Dispose(); return amt; } #endregion } }