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; using System.Text; using Microsoft.IdentityModel.Tokens; using System.Security.Claims; using System.IdentityModel.Tokens.Jwt; //数据大屏相关接口 namespace MySystem.Areas.Api.Controllers.v1 { [Area("Api")] [Route("/Api/v1/[controller]/[action]")] public class LargeDataScreenController : BaseController { public LargeDataScreenController(IHttpContextAccessor accessor, ILogger logger, IOptions setting) : base(accessor, logger, setting) { } #region 数据大屏-今日新增商户和创客 [Authorize] public JsonResult AllMakerData(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = AllMakerDataDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List AllMakerDataDo(string value) { JsonData data = JsonMapper.ToObject(value); List Obj = LargeDataScreenDbconn.Instance.GetMakerShopAddsList(); return Obj; } // public List> AllMakerDataDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select (select count(0) count from PosMerchantInfo where TO_DAYS(CreateDate)=TO_DAYS(NOW())) shcount, (select count(0) count from Users where TO_DAYS(CreateDate)=TO_DAYS(NOW())) ckcount from PosMerchantInfo,Users limit 1"); // foreach (DataRow item in dt.Rows) // { // var shcount = item["shcount"];//今日新增商户 // var ckcount = item["ckcount"];//今日新增创客 // Dictionary ob = new Dictionary(); // ob.Add("shcount", shcount); // ob.Add("ckcount", ckcount); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region 数据大屏-全国创客开机列表 /// /// 全国创客开机列表 /// /// /// [Authorize] public JsonResult MakerListCount(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List list = MakerListCountDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = list }); } public List MakerListCountDo(string value) { JsonData data = JsonMapper.ToObject(value); int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString())); int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString())); List Obj = LargeDataScreenDbconn.Instance.GetMakerOpenMachinesList("MakerOpenMachinesList: "+PageNum,PageNum,PageSize); return Obj; } // public JsonResult MakerListCount(string value) // { // value = DesDecrypt(value); // JsonData data = JsonMapper.ToObject(value); // List> list = MakerListCountDo(value); // return Json(new AppResultJson() { Status = "1", Info = "", Data = list }); // } // public List> MakerListCountDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString())); // int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString())); // List> Obj = new List>(); // List> list = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select b.ActivationTime ActivationTime,k.NAME productName,a.RealName realname,c.count count from Users a left join PosMachinesTwo b on a.Id=b.userId LEFT JOIN KqProducts k ON k.Id=b.BrandId left join (select a.Id,count(a.Id) as count from Users a left join PosMachinesTwo b on a.Id=b.UserId LEFT JOIN KqProducts k ON k.Id=b.BrandId where BindingState=1 group by a.Id)c on a.Id=c.Id where BindingState=1 AND MONTH(ActivationTime)=MONTH(now()) and YEAR(ActivationTime)=YEAR(now())order by a.Id"); // foreach (DataRow item in dt.Rows) // { // var ActivationTime = Convert.ToDateTime(item["ActivationTime"]).ToString("yyyy-MM-dd HH:mm:ss");//激活时间 // var productName = item["productName"];//机具类型 // var realname = SetSensitiveName(item["realname"].ToString());//创客姓名 // int count = Convert.ToInt32(item["count"]);//创客本月开机 // Dictionary ob = new Dictionary(); // ob.Add("ActivationTime", ActivationTime); // ob.Add("productName", productName); // ob.Add("realname", realname); // ob.Add("count", count); // Obj.Add(ob); // } // list.Clear(); // list = Obj.Skip((PageNum - 1) * PageSize).Take(PageSize).ToList();//分页的重点 // OtherMySqlConn.connstr = ""; // return list; // } #endregion #region 数据大屏-全国展业数据 /// /// 全国展业数据 /// /// /// [Authorize] public JsonResult ExhibitionData(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = ExhibitionDataDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List ExhibitionDataDo(string value) { JsonData data = JsonMapper.ToObject(value); List Obj = LargeDataScreenDbconn.Instance.GetExhibitionList(); return Obj; } // public List> ExhibitionDataDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // //本年交易额 // // DataTable dt = OtherMySqlConn.dtable("select(select count(0) count from StoreHouse where YEAR(CreateDate)=YEAR(now())) count,(select sum(b.WithdrawAmount) WithdrawAmount from Users a left join UserAccount b on a.id=b.userid) WithdrawAmount,(select sum(TradeAmount) from TradeRecord where YEAR(CreateDate) = YEAR(NOW())) yearsum, (select count(*) from PosMachinesTwo where ActivationState=1 and YEAR(ActivationTime) = YEAR(NOW())) yearcount,(select sum(TradeAmount) from TradeRecord where quarter(CreateDate)=quarter(now())) quartersum, (select count(*) from PosMachinesTwo where ActivationState=1 and quarter(ActivationTime)=quarter(now())) quartercount,(select sum(TradeAmount) from TradeRecord where YEAR(CreateDate) = YEAR(NOW()) and MONTH(CreateDate)=MONTH(now())) monthsum, (select count(*) from PosMachinesTwo where ActivationState=1 and YEAR(ActivationTime) = YEAR(NOW()) and MONTH(ActivationTime)=MONTH(now())) monthcount,(select sum(TradeAmount) from TradeRecord where TO_DAYS(CreateDate)=TO_DAYS(NOW())) nowsum, (select count(*) from PosMachinesTwo where ActivationState=1 and TO_DAYS(ActivationTime)=TO_DAYS(NOW())) nowcount from TradeRecord,PosMachinesTwo limit 1"); // DataTable dt = OtherMySqlConn.dtable("select(select count(0) count from StoreHouse where YEAR(CreateDate)=YEAR(now())) count,(select sum(NonDirectTradeAmt) WithdrawAmount from UserTradeDaySummary where UserId=1 and SeoTitle='team') WithdrawAmount,(select sum(NonDirectTradeAmt) WithdrawAmount from UserTradeDaySummary where UserId=1 and SeoTitle='team' and left(TradeMonth,4) = YEAR(NOW())) yearsum,(select sum(NonDirectDebitCapNum) from UserTradeDaySummary where UserId=1 and SeoTitle='team' and left(TradeMonth,4) = YEAR(NOW())) yearcount,(select sum(NonDirectTradeAmt) from UserTradeDaySummary where UserId=1 and SeoTitle='team' and quarter(TradeDate)=quarter(now())) quartersum, (select sum(NonDirectDebitCapNum) from UserTradeDaySummary where UserId=1 and SeoTitle='team' and quarter(TradeDate)=quarter(now())) quartercount,(select sum(NonDirectTradeAmt) WithdrawAmount from UserTradeDaySummary where UserId=1 and SeoTitle='team' and RIGHT(TradeMonth,2) = MONTH(NOW())) monthsum,(select sum(NonDirectDebitCapNum) WithdrawAmount from UserTradeDaySummary where UserId=1 and SeoTitle='team' and RIGHT(TradeMonth,2) = MONTH(NOW())) monthcount,(select sum(NonDirectTradeAmt) from UserTradeDaySummary where UserId=1 and SeoTitle='team' and TO_DAYS(TradeDate)=TO_DAYS(NOW())) nowsum, (select sum(NonDirectDebitCapNum) from UserTradeDaySummary where UserId=1 and SeoTitle='team' and TO_DAYS(TradeDate)=TO_DAYS(NOW())) nowcount from UserTradeDaySummary limit 1"); // foreach (DataRow item in dt.Rows) // { // var WithdrawAmount = item["WithdrawAmount"];//累计收益 // var count = Convert.ToInt32(item["count"]);//分仓数 // var yearsum = item["yearsum"];//本年交易额(元) // if (String.IsNullOrEmpty(item["yearsum"].ToString())) // { // yearsum = 0; // } // var yearcount = Convert.ToInt32(item["yearcount"]);//本年激活机具 // var quartersum = item["quartersum"];//本季度交易额(元) // if (String.IsNullOrEmpty(item["quartersum"].ToString())) // { // quartersum = 0; // } // var quartercount = Convert.ToInt32(item["quartercount"]);//本季度激活机具 // var monthsum = item["monthsum"];//本月交易额(元) // if (String.IsNullOrEmpty(item["monthsum"].ToString())) // { // monthsum = 0; // } // var monthcount = Convert.ToInt32(item["monthcount"]);//本月激活机具 // var nowsum = item["nowsum"];//今日交易额(元) // if (String.IsNullOrEmpty(item["nowsum"].ToString())) // { // nowsum = 0; // } // var nowcount = item["nowcount"];//今日激活机具 // if (String.IsNullOrEmpty(item["nowcount"].ToString())) // { // nowcount = 0; // } // Dictionary ob = new Dictionary(); // ob.Add("WithdrawAmount", WithdrawAmount); // ob.Add("count", count); // ob.Add("yearsum", yearsum); // ob.Add("yearcount", yearcount); // ob.Add("quartersum", quartersum); // ob.Add("quartercount", quartercount); // ob.Add("monthsum", monthsum); // ob.Add("monthcount", monthcount); // ob.Add("nowsum", nowsum); // ob.Add("nowcount", nowcount); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region 数据大屏-本月创客排名-开机榜 /// /// 本月创客排名--开机榜 /// /// /// [Authorize] public JsonResult MakerSort(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = MakerSortDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List MakerSortDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); List Obj = LargeDataScreenDbconn.Instance.GetOpenMachinesList(UserId); return Obj; } // public List> MakerSortDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // // DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitCapNum) sum from UserTradeDaySummary where TradeMonth = date_format(CURDATE(), '%Y%m') and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id");//本月数据统计 // DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitCapNum) sum from UserTradeDaySummary where SeoTitle='team' and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id");//累计数据统计 // foreach (DataRow item in dt.Rows) // { // var RealName = SetSensitiveName(item["RealName"].ToString()); // var OpenCount = decimal.Parse(item["Sum"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("realName", RealName); // ob.Add("openCount", OpenCount); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region H5-开机榜 /// /// 本月创客排名--开机榜 /// /// /// [Authorize] public JsonResult MakerSorts(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = MakerSortsDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> MakerSortsDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitCapNum) sum from UserTradeDaySummary where TradeMonth = '202205' and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id"); foreach (DataRow item in dt.Rows) { var RealName = SetSensitiveName(item["RealName"].ToString()); var OpenCount = decimal.Parse(item["Sum"].ToString()); Dictionary ob = new Dictionary(); ob.Add("realName", RealName); ob.Add("openCount", OpenCount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-本月创客排名-流水榜 /// /// 本月创客排名--流水榜 /// /// /// [Authorize] public JsonResult MakerFlowingWaterSort(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = MakerFlowingWaterSortDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List MakerFlowingWaterSortDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); List Obj = LargeDataScreenDbconn.Instance.GetFlowingWaterList(UserId); return Obj; } // public List> MakerFlowingWaterSortDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // // DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitTradeAmt + NonDirectTradeAmt) sum from UserTradeDaySummary where TradeMonth = date_format(CURDATE(), '%Y%m') and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id");//本月数据统计 // DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitTradeAmt + NonDirectTradeAmt) sum from UserTradeDaySummary where SeoTitle='team' and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id");//累计数据统计 // foreach (DataRow item in dt.Rows) // { // var RealName = SetSensitiveName(item["RealName"].ToString()); // var Sum = decimal.Parse(item["Sum"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("UserId", UserId); // ob.Add("RealName", RealName); // ob.Add("Sum", Sum); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region H5-流水榜 /// /// 本月创客排名--流水榜 /// /// /// [Authorize] public JsonResult MakerFlowingWatersSort(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = MakerFlowingWaterSortsDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> MakerFlowingWaterSortsDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select a.UserId UserId,b.RealName RealName,a.sum Sum from(select UserId, sum(NonDirectDebitTradeAmt + NonDirectTradeAmt) sum from UserTradeDaySummary where TradeMonth = '202205' and UserId in (select Id from Users where ParentNav like '%," + UserId + ",%')GROUP BY UserId ORDER BY sum desc limit 10)a left join Users b on a.UserId = b.Id"); foreach (DataRow item in dt.Rows) { var RealName = SetSensitiveName(item["RealName"].ToString()); var Sum = decimal.Parse(item["Sum"].ToString()); Dictionary ob = new Dictionary(); ob.Add("UserId", UserId); ob.Add("RealName", RealName); ob.Add("Sum", Sum); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-本月创客排名-收益榜 /// /// 本月创客排名--收益榜 /// /// /// [Authorize] public JsonResult MakerIncomeSort(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = MakerIncomeSortDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List MakerIncomeSortDo(string value) { JsonData data = JsonMapper.ToObject(value); List Obj = LargeDataScreenDbconn.Instance.GetIncomeList(); return Obj; } // public List> MakerIncomeSortDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // List> Obj = new List>(); // if (Obj.Count > 0) // { // return Obj; // } // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // // DataTable dt = OtherMySqlConn.dtable("select c.RealName RealName,b.Sum Sum from(select a.UserId, sum(a.ChangeAmount) Sum from(select * from UserAccountRecord where ChangeType = 1 or ChangeType = 12 or ChangeType = 50 or ChangeType = 60 or ChangeType = 111 or ChangeType = 112)a where YEAR(a.CreateDate) = YEAR(NOW()) and MONTH(a.CreateDate) = MONTH(now()) and a.UserId != 0 GROUP BY a.UserId ORDER BY Sum desc limit 10)b left join Users c on b.UserId = c.Id");//本月数据统计 // DataTable dt = OtherMySqlConn.dtable("select c.RealName RealName,b.Sum Sum from(select a.UserId, sum(a.ChangeAmount) Sum from(select * from UserAccountRecord where ChangeType = 1 or ChangeType = 12 or ChangeType = 50 or ChangeType = 60 or ChangeType = 111 or ChangeType = 112)a where a.UserId != 0 GROUP BY a.UserId ORDER BY Sum desc limit 10)b left join Users c on b.UserId = c.Id");//累计数据统计 // foreach (DataRow item in dt.Rows) // { // var RealName = SetSensitiveName(item["RealName"].ToString()); // var Sum = decimal.Parse(item["Sum"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("RealName", RealName); // ob.Add("Sum", Sum); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region 数据大屏-交易额统计-本年每月 /// /// 交易额统计--本年每月 /// /// /// [Authorize] public JsonResult TradeYearMonth(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = TradeYearMonthDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> TradeYearMonthDo(string value) { JsonData data = JsonMapper.ToObject(value); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select year(a.CreateDate) year,month(a.CreateDate) month,count(*) count,sum(a.TradeAmount) sumamount from TradeRecord a where YEAR(a.CreateDate) = YEAR(NOW())group by year(a.CreateDate), month(a.CreateDate)order by month(a.CreateDate)"); foreach (DataRow item in dt.Rows) { var year = item["year"]; var month = item["month"]; var count = item["count"]; double sumamount = Convert.ToDouble(item["sumamount"]) / 10000; Dictionary ob = new Dictionary(); ob.Add("year", year); ob.Add("month", month); ob.Add("count", count); ob.Add("sumamount", sumamount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-redis通过userId近一年每月交易额 /// /// redis通过userId近一年每月交易额 /// /// /// [Authorize] public JsonResult TeamPerformanceYear(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = TeamPerformanceYearDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } public List> TeamPerformanceYearDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id List> dataList = new List>(); for (int i = 0; i < 12; i++) { DateTime Month = DateTime.Now.AddMonths(-i); Dictionary curData = new Dictionary(); curData.Add("TradeMonth", Month.ToString("yyyy-MM")); //交易月份 curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(UserId, Month.ToString("yyyyMM"), "team")); //总交易额 dataList.Add(curData); } return dataList; } #endregion #region 数据大屏-交易额统计-本年本月本天 [Authorize] public JsonResult TradeMonthDay(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = TradeMonthDayDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> TradeMonthDayDo(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select month(a.CreateDate) month,sum(a.TradeAmount) sumamount from TradeRecord a where YEAR(a.CreateDate) = YEAR(NOW()) AND MONTH(a.CreateDate)=MONTH(now())group by year(a.CreateDate), month(a.CreateDate),day(a.CreateDate)order by day(a.CreateDate)"); foreach (DataRow item in dt.Rows) { var month = item["month"]; double sumamount = Convert.ToDouble(item["sumamount"]) / 10000; Dictionary ob = new Dictionary(); ob.Add("month", month); ob.Add("sumamount", sumamount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion // #region 交易额统计--近两周 // /// // /// 交易额统计--近两周 // /// // /// // /// // [Authorize] // public JsonResult TradeTwoWeeks(string value) // { // value = DesDecrypt(value); // JsonData data = JsonMapper.ToObject(value); // List> Obj = TradeTwoWeeksDo(value); // return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); // } // public List> TradeTwoWeeksDo(string value) // { // JsonData data = JsonMapper.ToObject(value); // List> Obj = new List>(); // DataTable dt = dbconn.dtable("select day(a.CreateDate) day,sum(a.TradeAmount) sumamount from traderecord a where a.CreateDate between DATE_SUB(CURDATE(), INTERVAL 13 DAY) and date(NOW())group by year(a.CreateDate), month(a.CreateDate),day(a.CreateDate)order by day(a.CreateDate)"); // foreach(DataRow item in dt.Rows){ // var day = item["day"]; // double sumamount = Convert.ToDouble(item["sumamount"])/10000; // Dictionary ob=new Dictionary(); // ob.Add("day",day); // ob.Add("sumamount",sumamount); // Obj.Add(ob); // } // return Obj; // } // #endregion #region 数据大屏-redis通过userId当前近两周交易额 [Authorize] public JsonResult TradeTwoWeeks(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = TradeTwoWeeksDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } public List> TradeTwoWeeksDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客 List> dataList = new List>(); DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"); for (int i = 0; i <= 14; i++) { DateTime date = start.AddDays(-i); if (date.ToString("yyyyMMdd") != start.ToString("yyyyMMdd")) { string Date = date.ToString("yyyyMMdd"); Dictionary curData = new Dictionary(); curData.Add("TradeDate", date.ToString("dd")); //交易日期 curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetDateTrade(UserId, Date, "team")); //总交易额 dataList.Add(curData); } } return dataList; } #endregion #region 数据大屏-交易额统计-近一天 /// /// 交易额统计--近一天 /// /// /// [Authorize] public JsonResult TradeOneDay(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = TradeOneDayDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> TradeOneDayDo(string value) { JsonData data = JsonMapper.ToObject(value); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select hour(a.CreateDate) hour,sum(a.TradeAmount) sumamount from TradeRecord a where a.CreateDate between date_sub(now( ), interval '24:00:00' day_second) and NOW()group by year(a.CreateDate), month(a.CreateDate),day(a.CreateDate),hour(a.CreateDate)order by hour(a.CreateDate)"); foreach (DataRow item in dt.Rows) { string hour = item["hour"].ToString(); double sumamount = Convert.ToDouble(item["sumamount"]) / 10000; Dictionary ob = new Dictionary(); ob.Add("hour", hour); ob.Add("sumamount", sumamount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-redis通过userId当前近一天交易额 [Authorize] public JsonResult TradeOneDays(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = TradeOneDaysDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } public List> TradeOneDaysDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客 List> dataList = new List>(); DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")); for (int i = 0; i <= 24; i++) { DateTime date = start.AddHours(-i); if (date.ToString("yyyy-MM-dd hh:mm:ss") != start.ToString("yyyy-MM-dd hh:mm:ss")) { string Date = date.ToString("yyyy-MM-dd hh:mm:ss"); Dictionary curData = new Dictionary(); curData.Add("TradeDate", date.ToString("yyyy-MM-dd hh:mm:ss")); //交易时间 curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetDateTrade(UserId, Date, "team")); //总交易额 dataList.Add(curData); } } return dataList; } #endregion #region 数据大屏-交易额统计-本年本月本天 [Authorize] public JsonResult TradeDayHour(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = TradeDayHourDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> TradeDayHourDo(string value) { JsonData data = JsonMapper.ToObject(value); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select year(a.CreateDate) year,month(a.CreateDate) month,day(a.CreateDate) day,hour(a.CreateDate) hour,count(*) count,sum(a.TradeAmount) sumamount from TradeRecord a where YEAR(a.CreateDate) = YEAR(NOW()) AND MONTH(a.CreateDate) = MONTH(now()) AND Day(a.CreateDate) = Day(now())group by year(a.CreateDate), month(a.CreateDate),day(a.CreateDate),hour(a.CreateDate)order by hour(a.CreateDate)"); foreach (DataRow item in dt.Rows) { string year = item["year"].ToString(); string month = item["month"].ToString(); string day = item["day"].ToString(); string hour = item["hour"].ToString(); string count = item["count"].ToString(); double sumamount = Convert.ToDouble(item["sumamount"]) / 10000; Dictionary ob = new Dictionary(); ob.Add("year", year); ob.Add("month", month); ob.Add("day", day); ob.Add("hour", hour); ob.Add("count", count); ob.Add("sumamount", sumamount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-交易额统计-本年本月本天此时 [Authorize] public JsonResult TradeHourMinute(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = TradeHourMinuteDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> TradeHourMinuteDo(string value) { JsonData data = JsonMapper.ToObject(value); List> Obj = new List>(); OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); DataTable dt = OtherMySqlConn.dtable("select year(a.CreateDate) year,month(a.CreateDate) month,day(a.CreateDate) day,hour(a.CreateDate) hour,minute(a.CreateDate) minute,count(*) count,sum(a.TradeAmount) sumamount from TradeRecord a where YEAR(a.CreateDate) = YEAR(NOW()) AND MONTH(a.CreateDate) = MONTH(now()) AND Day(a.CreateDate) = Day(now()) AND HOUR(a.CreateDate) = HOUR(now())group by year(a.CreateDate), month(a.CreateDate),day(a.CreateDate),hour(a.CreateDate),minute(a.CreateDate)order by minute(a.CreateDate)"); foreach (DataRow item in dt.Rows) { string year = item["year"].ToString(); string month = item["month"].ToString(); string day = item["day"].ToString(); string hour = item["hour"].ToString(); string minute = item["minute"].ToString(); string count = item["count"].ToString(); double sumamount = Convert.ToDouble(item["sumamount"]) / 10000; Dictionary ob = new Dictionary(); ob.Add("year", year); ob.Add("month", month); ob.Add("day", day); ob.Add("hour", hour); ob.Add("minute", minute); ob.Add("count", count); ob.Add("sumamount", sumamount); Obj.Add(ob); } OtherMySqlConn.connstr = ""; return Obj; } #endregion #region 数据大屏-月度交易额环比 /// /// 月度交易额环比 /// /// /// [Authorize] public JsonResult MonthTradePercentage(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> Obj = MonthTradePercentageDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List> MonthTradePercentageDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id List> dataList = new List>(); IQueryable query = maindb.Users.Where(m => m.Id == UserId && m.AuthFlag == 1); foreach (var subdata in query.ToList()) { Dictionary curData = new Dictionary(); curData.Add("ThisMonthTrade", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(subdata.Id, DateTime.Now.ToString("yyyyMM"), "team")); //本月交易额 curData.Add("LastMonthTrade", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(subdata.Id, DateTime.Now.AddMonths(-1).ToString("yyyyMM"), "team")); //上月交易额 dataList.Add(curData); } return dataList; } #endregion #region 数据大屏-月度新增创客环比 /// /// 月度新增创客环比 /// /// /// [Authorize] public JsonResult MonthMakerAddPercentages(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List> dataList = MonthMakerAddPercentagesDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList }); } public List> MonthMakerAddPercentagesDo(string value) { // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id // List> dataList = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select(select Count(0) lastmonthcount from Users a where a.ParentNav like '%," + UserId + ",%' AND YEAR(a.AuthDate) = YEAR(NOW()) and MONTH(a.AuthDate)=MONTH(now() - INTERVAL 1 MONTH))as LastMonthCount, (select Count(0) thismonthcount from Users a where a.ParentNav like '%," + UserId + ",%' AND YEAR(a.AuthDate) = YEAR(NOW()) and MONTH(a.AuthDate)=MONTH(now())) as ThisMonthCount from Users limit 1"); // foreach (DataRow item in dt.Rows) // { // var ThisMonthCount = int.Parse(item["ThisMonthCount"].ToString()); // var LastMonthCount = int.Parse(item["LastMonthCount"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("ThisMonthCount",ThisMonthCount); // ob.Add("LastMonthCount",LastMonthCount); // dataList.Add(ob); // } JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id List> dataList = new List>(); IQueryable query = maindb.Users.Where(m => m.Id == UserId && m.AuthFlag == 1); foreach (var subdata in query.ToList()) { Dictionary curData = new Dictionary(); curData.Add("ThisMonthCount", LargeDataScreenDbconn.Instance.GetTeamMakerCountThisMonth(UserId)); //本月新增创客 curData.Add("LastMonthCount", LargeDataScreenDbconn.Instance.GetTeamMakerCountLastMonth(UserId)); //上月新增创客 dataList.Add(curData); } return dataList; // List> Obj = RedisDbconn.Instance.GetList>("AddMakerList"); // if (Obj.Count > 0) // { // return Obj; // } // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select(select Count(0) lastmonthcount from Users a where a.ParentNav like '%," + UserId + ",%' AND YEAR(a.AuthDate) = YEAR(NOW()) and MONTH(a.AuthDate)=MONTH(now() - INTERVAL 1 MONTH))as LastMonthCount, (select Count(0) thismonthcount from Users a where a.ParentNav like '%," + UserId + ",%' AND YEAR(a.AuthDate) = YEAR(NOW()) and MONTH(a.AuthDate)=MONTH(now())) as ThisMonthCount from Users limit 1"); // foreach (DataRow item in dt.Rows) // { // var ThisMonthCount = int.Parse(item["ThisMonthCount"].ToString()); // var LastMonthCount = int.Parse(item["LastMonthCount"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("ThisMonthCount",ThisMonthCount); // ob.Add("LastMonthCount",LastMonthCount); // Obj.Add(ob); // } // foreach (var sub in Obj) // { // RedisDbconn.Instance.AddList("AddMakerList", sub); // } // return Obj; } #endregion #region 数据大屏-机型统计-机型占比统计 /// /// 机型统计--机型占比统计 /// /// /// [Authorize] public JsonResult ModelTypeCount(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = ModelTypeCountDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List ModelTypeCountDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id List Obj = LargeDataScreenDbconn.Instance.GetModelTypeList(UserId); return Obj; } // public List> ModelTypeCountDo(string value) // { // // JsonData data = JsonMapper.ToObject(value); // // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id // // List> Obj = new List>(); // // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // // DataTable dt = OtherMySqlConn.dtable("select b.Name name,a.count count from(select BrandId,count(0) count from PosMachinesTwo where UserId in(select Id from Users where ParentNav like '%," + UserId + ",%' or Id=" + UserId + ")GROUP BY BrandId)a left join KqProducts b on a.BrandId=b.Id"); // // foreach (DataRow item in dt.Rows) // // { // // var name = item["name"].ToString(); // // var count = decimal.Parse(item["count"].ToString()); // // Dictionary ob = new Dictionary(); // // ob.Add("name", name); // // ob.Add("count", count); // // Obj.Add(ob); // // } // // return Obj; // JsonData data = JsonMapper.ToObject(value); // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select b.Name name,a.count count from(select BrandId,count(0) count from PosMachinesTwo where UserId in(select Id from Users where ParentNav like '%," + UserId + ",%' or Id=" + UserId + ")GROUP BY BrandId)a left join KqProducts b on a.BrandId=b.Id"); // foreach (DataRow item in dt.Rows) // { // var name = item["name"].ToString(); // var count = decimal.Parse(item["count"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("name", name); // ob.Add("count", count); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // return Obj; // } #endregion #region 数据大屏-机型统计-交易额统计 /// /// 机型统计--交易额统计 /// /// /// [Authorize] public JsonResult ModelTypeTradeCount(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); List Obj = ModelTypeTradeCountDo(value); return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj }); } public List ModelTypeTradeCountDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id List Obj = LargeDataScreenDbconn.Instance.GetModelTypeTradeList(UserId); return Obj; } // public List> ModelTypeTradeCountDo(string value) // { // // JsonData data = JsonMapper.ToObject(value); // // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id // // List> Obj = new List>(); // // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // // DataTable dt = OtherMySqlConn.dtable("select b.Name name,a.sum sum from(select BrandId,sum(TradeAmount) sum from TradeRecord where UserId in (select Id from Users where ParentNav like '%," + UserId + ",%' or Id=" + UserId + ")GROUP BY BrandId)a left join KqProducts b on a.BrandId=b.Id"); // // foreach (DataRow item in dt.Rows) // // { // // var name = item["name"].ToString(); // // var sum = decimal.Parse(item["sum"].ToString()); // // Dictionary ob = new Dictionary(); // // ob.Add("name", name); // // ob.Add("sum", sum); // // Obj.Add(ob); // // } // // return Obj; // JsonData data = JsonMapper.ToObject(value); // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id // List> Obj = new List>(); // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString(); // DataTable dt = OtherMySqlConn.dtable("select b.Name name,a.sum sum from(select BrandId,sum(TradeAmount) sum from TradeRecord where UserId in (select Id from Users where ParentNav like '%," + UserId + ",%' or Id=" + UserId + ")GROUP BY BrandId)a left join KqProducts b on a.BrandId=b.Id"); // foreach (DataRow item in dt.Rows) // { // var name = item["name"].ToString(); // var sum = decimal.Parse(item["sum"].ToString()); // Dictionary ob = new Dictionary(); // ob.Add("name", name); // ob.Add("sum", sum); // Obj.Add(ob); // } // OtherMySqlConn.connstr = ""; // 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 #region 数据大屏-五一活动创客期望 /// /// 五一活动创客期望 /// /// /// [Authorize] public JsonResult UsersWish(string value) { value = DesDecrypt(value); JsonData data = JsonMapper.ToObject(value); AppResultJson result = UsersWishDo(value); return Json(new AppResultJson() { Status = result.Status, Info = result.Info, Data = result.Data }); } public AppResultJson UsersWishDo(string value) { JsonData data = JsonMapper.ToObject(value); int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id var ExpectAmount = function.CheckString(data["ExpectAmount"].ToString()); //期望 var TargetAmount = function.CheckString(data["TargetAmount"].ToString());//目标 string text = string.Format("UserId:{0},ExpectAmount:{1},TargetAmount:{2};", UserId, ExpectAmount, TargetAmount); function.WriteLog(text, "UsersWishs"); return new AppResultJson() { Status = "1", Info = "", Data = text }; } #endregion #region 姓名脱敏 /// /// 姓名敏感处理 /// /// 姓名 /// 脱敏后的姓名 public static string SetSensitiveName(string fullName) { if (string.IsNullOrEmpty(fullName)) return string.Empty; string familyName = fullName.Substring(0, 1); string end = fullName.Substring(fullName.Length - 1, 1); string name = string.Empty; //长度为2 if (fullName.Length <= 2) name = familyName + "*"; //长度⼤于2 else if (fullName.Length >= 3) { name = familyName.PadRight(fullName.Length - 1, '*') + end; } return name; } #endregion } }