using System; using System.Collections.Generic; using System.Linq; using System.Data; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.AspNetCore.Authorization; using System.Web; using MySystem.MainModels; using LitJson; using Library; namespace MySystem.Areas.Api.Controllers.v1 { [Area("Api")] [Route("Api/v1/[controller]/[action]")] public class TradeDaySummaryController : BaseController { public TradeDaySummaryController(IHttpContextAccessor accessor, ILogger logger, IOptions setting) : base(accessor, logger, setting) { OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); } #region 创客-首页-交易分析-交易明细 [Authorize] public JsonResult Detail(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); Dictionary Obj = DetailDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public Dictionary DetailDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客 int BrandId = int.Parse(function.CheckInt(data["BrandId"].ToString())); //品牌 string TradeMonthOrDate = data["TradeMonthOrDate"].ToString(); //月份或日期 string Kind = data["Kind"].ToString(); //类别 Dictionary Obj = new Dictionary(); List query = new List(); if (TradeMonthOrDate.Length == 6) { bool check = maindb.TradeDaySummary.Any(m => m.SeoTitle == Kind && m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonthOrDate); if (check) { query = maindb.TradeDaySummary.Where(m => m.SeoTitle == Kind && m.UserId == UserId && m.BrandId == BrandId && m.TradeMonth == TradeMonthOrDate).ToList(); } } else if (TradeMonthOrDate.Length == 8) { bool check = maindb.TradeDaySummary.Any(m => m.SeoTitle == Kind && m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeMonthOrDate); if (check) { query = maindb.TradeDaySummary.Where(m => m.SeoTitle == Kind && m.UserId == UserId && m.BrandId == BrandId && m.TradeDate == TradeMonthOrDate).ToList(); } } //扶持期 decimal TotalAmtfc = 0; decimal DAmtfc = 0; decimal JAmtfc = 0; decimal JfAmtfc = 0; int JCountfc = 0; decimal YAmtfc = 0; //稳定期 decimal TotalAmtwd = 0; decimal DAmtwd = 0; decimal JAmtwd = 0; decimal JfAmtwd = 0; int JCountwd = 0; decimal YAmtwd = 0; //盈利期 decimal TotalAmtyl = 0; decimal DAmtyl = 0; decimal JAmtyl = 0; decimal JfAmtyl = 0; int JCountyl = 0; decimal YAmtyl = 0; if (query.Count > 0) { //扶持期 if (Kind == "team") { TotalAmtfc = query.Sum(m => m.HelpNonDirectTradeAmt + m.HelpNonDirectDebitTradeAmt); } else { TotalAmtfc = query.Sum(m => m.HelpDirectTradeAmt + m.HelpDirectDebitTradeAmt); } //稳定期 if (Kind == "team") { TotalAmtwd = query.Sum(m => m.NotHelpNonDirectTradeAmt + m.NotHelpNonDirectDebitTradeAmt); } else { TotalAmtwd = query.Sum(m => m.NotHelpDirectTradeAmt + m.NotHelpDirectDebitTradeAmt); } //盈利期 if (Kind == "team") { TotalAmtyl = query.Sum(m => m.ProfitNonDirectTradeAmt + m.ProfitNonDirectDebitTradeAmt); } else { TotalAmtyl = query.Sum(m => m.ProfitDirectTradeAmt + m.ProfitDirectDebitTradeAmt); } } if (query.Where(m => m.QueryCount == 0).Count() > 0) { //扶持期 if (Kind == "team") { DAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpNonDirectTradeAmt); JAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpNonDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapTradeAmt); JfAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapTradeAmt); JCountfc = (int)query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapNum); } else { DAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectTradeAmt); JAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapTradeAmt); JfAmtfc = query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapTradeAmt); JCountfc = (int)query.Where(m => m.QueryCount == 0).Sum(m => m.HelpDirectDebitCapNum); } //稳定期 if (Kind == "team") { DAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpNonDirectTradeAmt); JAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpNonDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapTradeAmt); JfAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapTradeAmt); JCountwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapNum); } else { DAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectTradeAmt); JAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapTradeAmt); JfAmtwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapTradeAmt); JCountwd = query.Where(m => m.QueryCount == 0).Sum(m => m.NotHelpDirectDebitCapNum); } //盈利期 if (Kind == "team") { DAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitNonDirectTradeAmt); JAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitNonDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapTradeAmt); JfAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapTradeAmt); JCountyl = (int)query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapNum); } else { DAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectTradeAmt); JAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitTradeAmt) - query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapTradeAmt); JfAmtyl = query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapTradeAmt); JCountyl = (int)query.Where(m => m.QueryCount == 0).Sum(m => m.ProfitDirectDebitCapNum); } } if (query.Where(m => m.QueryCount == 1).Count() > 0) { //扶持期 if (Kind == "team") { YAmtfc = query.Where(m => m.QueryCount == 1).Sum(m => m.HelpNonDirectTradeAmt); } else { YAmtfc = query.Where(m => m.QueryCount == 1).Sum(m => m.HelpDirectTradeAmt); } //稳定期 if (Kind == "team") { YAmtwd = query.Where(m => m.QueryCount == 1).Sum(m => m.NotHelpNonDirectTradeAmt); } else { YAmtwd = query.Where(m => m.QueryCount == 1).Sum(m => m.NotHelpDirectTradeAmt); } //盈利期 if (Kind == "team") { YAmtyl = query.Where(m => m.QueryCount == 1).Sum(m => m.ProfitNonDirectTradeAmt); } else { YAmtyl = query.Where(m => m.QueryCount == 1).Sum(m => m.ProfitDirectTradeAmt); } } Obj.Add("TotalAmtfc", TotalAmtfc); //刷卡交易总额(扶持期) Obj.Add("DAmtfc", DAmtfc); //贷记卡交易额(扶持期) Obj.Add("JAmtfc", JAmtfc); //借记卡交易总额(扶持期) Obj.Add("JfAmtfc", JfAmtfc); //借记卡封顶交易额(扶持期) Obj.Add("JCountfc", JCountfc); //借记卡封顶笔数(扶持期) Obj.Add("YAmtfc", YAmtfc); //云闪付小额交易额(扶持期) Obj.Add("TotalAmtwd", TotalAmtwd); //刷卡交易总额(稳定期) Obj.Add("DAmtwd", DAmtwd); //贷记卡交易额(稳定期) Obj.Add("JAmtwd", JAmtwd); //借记卡交易总额(稳定期) Obj.Add("JfAmtwd", JfAmtwd); //借记卡封顶交易额(稳定期) Obj.Add("JCountwd", JCountwd); //借记卡封顶笔数(稳定期) Obj.Add("YAmtwd", YAmtwd); //云闪付小额交易额(稳定期) Obj.Add("TotalAmtyl", TotalAmtyl); //刷卡交易总额(盈利期) Obj.Add("DAmtyl", DAmtyl); //贷记卡交易额(盈利期) Obj.Add("JAmtyl", JAmtyl); //借记卡交易总额(盈利期) Obj.Add("JfAmtyl", JfAmtyl); //借记卡封顶交易额(盈利期) Obj.Add("JCountyl", JCountyl); //借记卡封顶笔数(盈利期) Obj.Add("YAmtyl", YAmtyl); //云闪付小额交易额(盈利期) return Obj; } #endregion #region 检查签名是否合法,合法返回1,不合法返回提示信息 /// /// 检查签名是否合法,合法返回1,不合法返回提示信息 /// /// 请求的参数(json字符串) /// 要签名的字段 /// private string CheckSign(string value, string[] signField) { JsonData json = JsonMapper.ToObject(value); Dictionary dic = new Dictionary(); for (int i = 0; i < signField.Length; i++) { dic.Add(signField[i], json[signField[i]].ToString()); } string sign = json["sign"].ToString(); //客户端签名字符串 return new Sign().sign(dic, sign); } #endregion } }