123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- 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<BaseController> logger, IOptions<Setting> 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<string, object> Obj = DetailDo(value);
- return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
- }
- public Dictionary<string, object> 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<string, object> Obj = new Dictionary<string, object>();
- List<TradeDaySummary> query = new List<TradeDaySummary>();
- 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,不合法返回提示信息
- /// <summary>
- /// 检查签名是否合法,合法返回1,不合法返回提示信息
- /// </summary>
- /// <param name="value">请求的参数(json字符串)</param>
- /// <param name="signField">要签名的字段</param>
- /// <returns></returns>
- private string CheckSign(string value, string[] signField)
- {
- JsonData json = JsonMapper.ToObject(value);
- Dictionary<string, string> dic = new Dictionary<string, string>();
- 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
- }
- }
|