LargeDataScreenController.cs 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Data;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.AspNetCore.Http;
  7. using Microsoft.Extensions.Logging;
  8. using Microsoft.Extensions.Options;
  9. using Microsoft.AspNetCore.Authorization;
  10. using System.Web;
  11. using MySystem.MainModels;
  12. using LitJson;
  13. using Library;
  14. using System.Text;
  15. using Microsoft.IdentityModel.Tokens;
  16. using System.Security.Claims;
  17. using System.IdentityModel.Tokens.Jwt;
  18. //数据大屏相关接口
  19. namespace MySystem.Areas.Api.Controllers.v1
  20. {
  21. [Area("Api")]
  22. [Route("/Api/v1/[controller]/[action]")]
  23. public class LargeDataScreenController : BaseController
  24. {
  25. public LargeDataScreenController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  26. {
  27. }
  28. #region 数据大屏-今日新增商户和创客
  29. [Authorize]
  30. public JsonResult AllMakerData(string value)
  31. {
  32. value = DesDecrypt(value);
  33. JsonData data = JsonMapper.ToObject(value);
  34. List<MakerShopAdds> Obj = AllMakerDataDo(value);
  35. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  36. }
  37. public List<MakerShopAdds> AllMakerDataDo(string value)
  38. {
  39. JsonData data = JsonMapper.ToObject(value);
  40. List<MakerShopAdds> Obj = LargeDataScreenDbconn.Instance.GetMakerShopAddsList();
  41. return Obj;
  42. }
  43. // public List<Dictionary<string, object>> AllMakerDataDo(string value)
  44. // {
  45. // JsonData data = JsonMapper.ToObject(value);
  46. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  47. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  48. // 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");
  49. // foreach (DataRow item in dt.Rows)
  50. // {
  51. // var shcount = item["shcount"];//今日新增商户
  52. // var ckcount = item["ckcount"];//今日新增创客
  53. // Dictionary<string, object> ob = new Dictionary<string, object>();
  54. // ob.Add("shcount", shcount);
  55. // ob.Add("ckcount", ckcount);
  56. // Obj.Add(ob);
  57. // }
  58. // OtherMySqlConn.connstr = "";
  59. // return Obj;
  60. // }
  61. #endregion
  62. #region 数据大屏-全国创客开机列表
  63. /// <summary>
  64. /// 全国创客开机列表
  65. /// </summary>
  66. /// <param name="value"></param>
  67. /// <returns></returns>
  68. [Authorize]
  69. public JsonResult MakerListCount(string value)
  70. {
  71. value = DesDecrypt(value);
  72. JsonData data = JsonMapper.ToObject(value);
  73. List<MakerOpenMachines> list = MakerListCountDo(value);
  74. return Json(new AppResultJson() { Status = "1", Info = "", Data = list });
  75. }
  76. public List<MakerOpenMachines> MakerListCountDo(string value)
  77. {
  78. JsonData data = JsonMapper.ToObject(value);
  79. int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
  80. int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
  81. List<MakerOpenMachines> Obj = LargeDataScreenDbconn.Instance.GetMakerOpenMachinesList("MakerOpenMachinesList: "+PageNum,PageNum,PageSize);
  82. return Obj;
  83. }
  84. // public JsonResult MakerListCount(string value)
  85. // {
  86. // value = DesDecrypt(value);
  87. // JsonData data = JsonMapper.ToObject(value);
  88. // List<Dictionary<string, object>> list = MakerListCountDo(value);
  89. // return Json(new AppResultJson() { Status = "1", Info = "", Data = list });
  90. // }
  91. // public List<Dictionary<string, object>> MakerListCountDo(string value)
  92. // {
  93. // JsonData data = JsonMapper.ToObject(value);
  94. // int PageSize = int.Parse(function.CheckInt(data["PageSize"].ToString()));
  95. // int PageNum = int.Parse(function.CheckInt(data["PageNum"].ToString()));
  96. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  97. // List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  98. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  99. // 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");
  100. // foreach (DataRow item in dt.Rows)
  101. // {
  102. // var ActivationTime = Convert.ToDateTime(item["ActivationTime"]).ToString("yyyy-MM-dd HH:mm:ss");//激活时间
  103. // var productName = item["productName"];//机具类型
  104. // var realname = SetSensitiveName(item["realname"].ToString());//创客姓名
  105. // int count = Convert.ToInt32(item["count"]);//创客本月开机
  106. // Dictionary<string, object> ob = new Dictionary<string, object>();
  107. // ob.Add("ActivationTime", ActivationTime);
  108. // ob.Add("productName", productName);
  109. // ob.Add("realname", realname);
  110. // ob.Add("count", count);
  111. // Obj.Add(ob);
  112. // }
  113. // list.Clear();
  114. // list = Obj.Skip((PageNum - 1) * PageSize).Take(PageSize).ToList();//分页的重点
  115. // OtherMySqlConn.connstr = "";
  116. // return list;
  117. // }
  118. #endregion
  119. #region 数据大屏-全国展业数据
  120. /// <summary>
  121. /// 全国展业数据
  122. /// </summary>
  123. /// <param name="value"></param>
  124. /// <returns></returns>
  125. [Authorize]
  126. public JsonResult ExhibitionData(string value)
  127. {
  128. value = DesDecrypt(value);
  129. JsonData data = JsonMapper.ToObject(value);
  130. List<Exhibitions> Obj = ExhibitionDataDo(value);
  131. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  132. }
  133. public List<Exhibitions> ExhibitionDataDo(string value)
  134. {
  135. JsonData data = JsonMapper.ToObject(value);
  136. List<Exhibitions> Obj = LargeDataScreenDbconn.Instance.GetExhibitionList();
  137. return Obj;
  138. }
  139. // public List<Dictionary<string, object>> ExhibitionDataDo(string value)
  140. // {
  141. // JsonData data = JsonMapper.ToObject(value);
  142. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  143. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  144. // //本年交易额
  145. // // 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");
  146. // 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");
  147. // foreach (DataRow item in dt.Rows)
  148. // {
  149. // var WithdrawAmount = item["WithdrawAmount"];//累计收益
  150. // var count = Convert.ToInt32(item["count"]);//分仓数
  151. // var yearsum = item["yearsum"];//本年交易额(元)
  152. // if (String.IsNullOrEmpty(item["yearsum"].ToString()))
  153. // {
  154. // yearsum = 0;
  155. // }
  156. // var yearcount = Convert.ToInt32(item["yearcount"]);//本年激活机具
  157. // var quartersum = item["quartersum"];//本季度交易额(元)
  158. // if (String.IsNullOrEmpty(item["quartersum"].ToString()))
  159. // {
  160. // quartersum = 0;
  161. // }
  162. // var quartercount = Convert.ToInt32(item["quartercount"]);//本季度激活机具
  163. // var monthsum = item["monthsum"];//本月交易额(元)
  164. // if (String.IsNullOrEmpty(item["monthsum"].ToString()))
  165. // {
  166. // monthsum = 0;
  167. // }
  168. // var monthcount = Convert.ToInt32(item["monthcount"]);//本月激活机具
  169. // var nowsum = item["nowsum"];//今日交易额(元)
  170. // if (String.IsNullOrEmpty(item["nowsum"].ToString()))
  171. // {
  172. // nowsum = 0;
  173. // }
  174. // var nowcount = item["nowcount"];//今日激活机具
  175. // if (String.IsNullOrEmpty(item["nowcount"].ToString()))
  176. // {
  177. // nowcount = 0;
  178. // }
  179. // Dictionary<string, object> ob = new Dictionary<string, object>();
  180. // ob.Add("WithdrawAmount", WithdrawAmount);
  181. // ob.Add("count", count);
  182. // ob.Add("yearsum", yearsum);
  183. // ob.Add("yearcount", yearcount);
  184. // ob.Add("quartersum", quartersum);
  185. // ob.Add("quartercount", quartercount);
  186. // ob.Add("monthsum", monthsum);
  187. // ob.Add("monthcount", monthcount);
  188. // ob.Add("nowsum", nowsum);
  189. // ob.Add("nowcount", nowcount);
  190. // Obj.Add(ob);
  191. // }
  192. // OtherMySqlConn.connstr = "";
  193. // return Obj;
  194. // }
  195. #endregion
  196. #region 数据大屏-本月创客排名-开机榜
  197. /// <summary>
  198. /// 本月创客排名--开机榜
  199. /// </summary>
  200. /// <param name="value"></param>
  201. /// <returns></returns>
  202. [Authorize]
  203. public JsonResult MakerSort(string value)
  204. {
  205. value = DesDecrypt(value);
  206. JsonData data = JsonMapper.ToObject(value);
  207. List<OpenMachines> Obj = MakerSortDo(value);
  208. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  209. }
  210. public List<OpenMachines> MakerSortDo(string value)
  211. {
  212. JsonData data = JsonMapper.ToObject(value);
  213. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  214. List<OpenMachines> Obj = LargeDataScreenDbconn.Instance.GetOpenMachinesList(UserId);
  215. return Obj;
  216. }
  217. // public List<Dictionary<string, object>> MakerSortDo(string value)
  218. // {
  219. // JsonData data = JsonMapper.ToObject(value);
  220. // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  221. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  222. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  223. // // 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");//本月数据统计
  224. // 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");//累计数据统计
  225. // foreach (DataRow item in dt.Rows)
  226. // {
  227. // var RealName = SetSensitiveName(item["RealName"].ToString());
  228. // var OpenCount = decimal.Parse(item["Sum"].ToString());
  229. // Dictionary<string, object> ob = new Dictionary<string, object>();
  230. // ob.Add("realName", RealName);
  231. // ob.Add("openCount", OpenCount);
  232. // Obj.Add(ob);
  233. // }
  234. // OtherMySqlConn.connstr = "";
  235. // return Obj;
  236. // }
  237. #endregion
  238. #region H5-开机榜
  239. /// <summary>
  240. /// 本月创客排名--开机榜
  241. /// </summary>
  242. /// <param name="value"></param>
  243. /// <returns></returns>
  244. [Authorize]
  245. public JsonResult MakerSorts(string value)
  246. {
  247. value = DesDecrypt(value);
  248. JsonData data = JsonMapper.ToObject(value);
  249. List<Dictionary<string, object>> Obj = MakerSortsDo(value);
  250. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  251. }
  252. public List<Dictionary<string, object>> MakerSortsDo(string value)
  253. {
  254. JsonData data = JsonMapper.ToObject(value);
  255. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  256. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  257. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  258. 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");
  259. foreach (DataRow item in dt.Rows)
  260. {
  261. var RealName = SetSensitiveName(item["RealName"].ToString());
  262. var OpenCount = decimal.Parse(item["Sum"].ToString());
  263. Dictionary<string, object> ob = new Dictionary<string, object>();
  264. ob.Add("realName", RealName);
  265. ob.Add("openCount", OpenCount);
  266. Obj.Add(ob);
  267. }
  268. OtherMySqlConn.connstr = "";
  269. return Obj;
  270. }
  271. #endregion
  272. #region 数据大屏-本月创客排名-流水榜
  273. /// <summary>
  274. /// 本月创客排名--流水榜
  275. /// </summary>
  276. /// <param name="value"></param>
  277. /// <returns></returns>
  278. [Authorize]
  279. public JsonResult MakerFlowingWaterSort(string value)
  280. {
  281. value = DesDecrypt(value);
  282. JsonData data = JsonMapper.ToObject(value);
  283. List<FlowingWater> Obj = MakerFlowingWaterSortDo(value);
  284. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  285. }
  286. public List<FlowingWater> MakerFlowingWaterSortDo(string value)
  287. {
  288. JsonData data = JsonMapper.ToObject(value);
  289. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  290. List<FlowingWater> Obj = LargeDataScreenDbconn.Instance.GetFlowingWaterList(UserId);
  291. return Obj;
  292. }
  293. // public List<Dictionary<string, object>> MakerFlowingWaterSortDo(string value)
  294. // {
  295. // JsonData data = JsonMapper.ToObject(value);
  296. // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  297. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  298. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  299. // // 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");//本月数据统计
  300. // 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");//累计数据统计
  301. // foreach (DataRow item in dt.Rows)
  302. // {
  303. // var RealName = SetSensitiveName(item["RealName"].ToString());
  304. // var Sum = decimal.Parse(item["Sum"].ToString());
  305. // Dictionary<string, object> ob = new Dictionary<string, object>();
  306. // ob.Add("UserId", UserId);
  307. // ob.Add("RealName", RealName);
  308. // ob.Add("Sum", Sum);
  309. // Obj.Add(ob);
  310. // }
  311. // OtherMySqlConn.connstr = "";
  312. // return Obj;
  313. // }
  314. #endregion
  315. #region H5-流水榜
  316. /// <summary>
  317. /// 本月创客排名--流水榜
  318. /// </summary>
  319. /// <param name="value"></param>
  320. /// <returns></returns>
  321. [Authorize]
  322. public JsonResult MakerFlowingWatersSort(string value)
  323. {
  324. value = DesDecrypt(value);
  325. JsonData data = JsonMapper.ToObject(value);
  326. List<Dictionary<string, object>> Obj = MakerFlowingWaterSortsDo(value);
  327. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  328. }
  329. public List<Dictionary<string, object>> MakerFlowingWaterSortsDo(string value)
  330. {
  331. JsonData data = JsonMapper.ToObject(value);
  332. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString()));
  333. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  334. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  335. 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");
  336. foreach (DataRow item in dt.Rows)
  337. {
  338. var RealName = SetSensitiveName(item["RealName"].ToString());
  339. var Sum = decimal.Parse(item["Sum"].ToString());
  340. Dictionary<string, object> ob = new Dictionary<string, object>();
  341. ob.Add("UserId", UserId);
  342. ob.Add("RealName", RealName);
  343. ob.Add("Sum", Sum);
  344. Obj.Add(ob);
  345. }
  346. OtherMySqlConn.connstr = "";
  347. return Obj;
  348. }
  349. #endregion
  350. #region 数据大屏-本月创客排名-收益榜
  351. /// <summary>
  352. /// 本月创客排名--收益榜
  353. /// </summary>
  354. /// <param name="value"></param>
  355. /// <returns></returns>
  356. [Authorize]
  357. public JsonResult MakerIncomeSort(string value)
  358. {
  359. value = DesDecrypt(value);
  360. JsonData data = JsonMapper.ToObject(value);
  361. List<InCome> Obj = MakerIncomeSortDo(value);
  362. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  363. }
  364. public List<InCome> MakerIncomeSortDo(string value)
  365. {
  366. JsonData data = JsonMapper.ToObject(value);
  367. List<InCome> Obj = LargeDataScreenDbconn.Instance.GetIncomeList();
  368. return Obj;
  369. }
  370. // public List<Dictionary<string, object>> MakerIncomeSortDo(string value)
  371. // {
  372. // JsonData data = JsonMapper.ToObject(value);
  373. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  374. // if (Obj.Count > 0)
  375. // {
  376. // return Obj;
  377. // }
  378. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  379. // // 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");//本月数据统计
  380. // 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");//累计数据统计
  381. // foreach (DataRow item in dt.Rows)
  382. // {
  383. // var RealName = SetSensitiveName(item["RealName"].ToString());
  384. // var Sum = decimal.Parse(item["Sum"].ToString());
  385. // Dictionary<string, object> ob = new Dictionary<string, object>();
  386. // ob.Add("RealName", RealName);
  387. // ob.Add("Sum", Sum);
  388. // Obj.Add(ob);
  389. // }
  390. // OtherMySqlConn.connstr = "";
  391. // return Obj;
  392. // }
  393. #endregion
  394. #region 数据大屏-交易额统计-本年每月
  395. /// <summary>
  396. /// 交易额统计--本年每月
  397. /// </summary>
  398. /// <param name="value"></param>
  399. /// <returns></returns>
  400. [Authorize]
  401. public JsonResult TradeYearMonth(string value)
  402. {
  403. value = DesDecrypt(value);
  404. JsonData data = JsonMapper.ToObject(value);
  405. List<Dictionary<string, object>> Obj = TradeYearMonthDo(value);
  406. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  407. }
  408. public List<Dictionary<string, object>> TradeYearMonthDo(string value)
  409. {
  410. JsonData data = JsonMapper.ToObject(value);
  411. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  412. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  413. 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)");
  414. foreach (DataRow item in dt.Rows)
  415. {
  416. var year = item["year"];
  417. var month = item["month"];
  418. var count = item["count"];
  419. double sumamount = Convert.ToDouble(item["sumamount"]) / 10000;
  420. Dictionary<string, object> ob = new Dictionary<string, object>();
  421. ob.Add("year", year);
  422. ob.Add("month", month);
  423. ob.Add("count", count);
  424. ob.Add("sumamount", sumamount);
  425. Obj.Add(ob);
  426. }
  427. OtherMySqlConn.connstr = "";
  428. return Obj;
  429. }
  430. #endregion
  431. #region 数据大屏-redis通过userId近一年每月交易额
  432. /// <summary>
  433. /// redis通过userId近一年每月交易额
  434. /// </summary>
  435. /// <param name="value"></param>
  436. /// <returns></returns>
  437. [Authorize]
  438. public JsonResult TeamPerformanceYear(string value)
  439. {
  440. value = DesDecrypt(value);
  441. JsonData data = JsonMapper.ToObject(value);
  442. List<Dictionary<string, object>> dataList = TeamPerformanceYearDo(value);
  443. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  444. }
  445. public List<Dictionary<string, object>> TeamPerformanceYearDo(string value)
  446. {
  447. JsonData data = JsonMapper.ToObject(value);
  448. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  449. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  450. for (int i = 0; i < 12; i++)
  451. {
  452. DateTime Month = DateTime.Now.AddMonths(-i);
  453. Dictionary<string, object> curData = new Dictionary<string, object>();
  454. curData.Add("TradeMonth", Month.ToString("yyyy-MM")); //交易月份
  455. curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(UserId, Month.ToString("yyyyMM"), "team")); //总交易额
  456. dataList.Add(curData);
  457. }
  458. return dataList;
  459. }
  460. #endregion
  461. #region 数据大屏-交易额统计-本年本月本天
  462. [Authorize]
  463. public JsonResult TradeMonthDay(string value)
  464. {
  465. value = DesDecrypt(value);
  466. JsonData data = JsonMapper.ToObject(value);
  467. List<Dictionary<string, object>> Obj = TradeMonthDayDo(value);
  468. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  469. }
  470. public List<Dictionary<string, object>> TradeMonthDayDo(string value)
  471. {
  472. value = DesDecrypt(value);
  473. JsonData data = JsonMapper.ToObject(value);
  474. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  475. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  476. 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)");
  477. foreach (DataRow item in dt.Rows)
  478. {
  479. var month = item["month"];
  480. double sumamount = Convert.ToDouble(item["sumamount"]) / 10000;
  481. Dictionary<string, object> ob = new Dictionary<string, object>();
  482. ob.Add("month", month);
  483. ob.Add("sumamount", sumamount);
  484. Obj.Add(ob);
  485. }
  486. OtherMySqlConn.connstr = "";
  487. return Obj;
  488. }
  489. #endregion
  490. // #region 交易额统计--近两周
  491. // /// <summary>
  492. // /// 交易额统计--近两周
  493. // /// </summary>
  494. // /// <param name="value"></param>
  495. // /// <returns></returns>
  496. // [Authorize]
  497. // public JsonResult TradeTwoWeeks(string value)
  498. // {
  499. // value = DesDecrypt(value);
  500. // JsonData data = JsonMapper.ToObject(value);
  501. // List<Dictionary<string, object>> Obj = TradeTwoWeeksDo(value);
  502. // return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  503. // }
  504. // public List<Dictionary<string, object>> TradeTwoWeeksDo(string value)
  505. // {
  506. // JsonData data = JsonMapper.ToObject(value);
  507. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  508. // 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)");
  509. // foreach(DataRow item in dt.Rows){
  510. // var day = item["day"];
  511. // double sumamount = Convert.ToDouble(item["sumamount"])/10000;
  512. // Dictionary<string,object> ob=new Dictionary<string, object>();
  513. // ob.Add("day",day);
  514. // ob.Add("sumamount",sumamount);
  515. // Obj.Add(ob);
  516. // }
  517. // return Obj;
  518. // }
  519. // #endregion
  520. #region 数据大屏-redis通过userId当前近两周交易额
  521. [Authorize]
  522. public JsonResult TradeTwoWeeks(string value)
  523. {
  524. value = DesDecrypt(value);
  525. JsonData data = JsonMapper.ToObject(value);
  526. List<Dictionary<string, object>> dataList = TradeTwoWeeksDo(value);
  527. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  528. }
  529. public List<Dictionary<string, object>> TradeTwoWeeksDo(string value)
  530. {
  531. JsonData data = JsonMapper.ToObject(value);
  532. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客
  533. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  534. DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00");
  535. for (int i = 0; i <= 14; i++)
  536. {
  537. DateTime date = start.AddDays(-i);
  538. if (date.ToString("yyyyMMdd") != start.ToString("yyyyMMdd"))
  539. {
  540. string Date = date.ToString("yyyyMMdd");
  541. Dictionary<string, object> curData = new Dictionary<string, object>();
  542. curData.Add("TradeDate", date.ToString("dd")); //交易日期
  543. curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetDateTrade(UserId, Date, "team")); //总交易额
  544. dataList.Add(curData);
  545. }
  546. }
  547. return dataList;
  548. }
  549. #endregion
  550. #region 数据大屏-交易额统计-近一天
  551. /// <summary>
  552. /// 交易额统计--近一天
  553. /// </summary>
  554. /// <param name="value"></param>
  555. /// <returns></returns>
  556. [Authorize]
  557. public JsonResult TradeOneDay(string value)
  558. {
  559. value = DesDecrypt(value);
  560. JsonData data = JsonMapper.ToObject(value);
  561. List<Dictionary<string, object>> Obj = TradeOneDayDo(value);
  562. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  563. }
  564. public List<Dictionary<string, object>> TradeOneDayDo(string value)
  565. {
  566. JsonData data = JsonMapper.ToObject(value);
  567. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  568. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  569. 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)");
  570. foreach (DataRow item in dt.Rows)
  571. {
  572. string hour = item["hour"].ToString();
  573. double sumamount = Convert.ToDouble(item["sumamount"]) / 10000;
  574. Dictionary<string, object> ob = new Dictionary<string, object>();
  575. ob.Add("hour", hour);
  576. ob.Add("sumamount", sumamount);
  577. Obj.Add(ob);
  578. }
  579. OtherMySqlConn.connstr = "";
  580. return Obj;
  581. }
  582. #endregion
  583. #region 数据大屏-redis通过userId当前近一天交易额
  584. [Authorize]
  585. public JsonResult TradeOneDays(string value)
  586. {
  587. value = DesDecrypt(value);
  588. JsonData data = JsonMapper.ToObject(value);
  589. List<Dictionary<string, object>> dataList = TradeOneDaysDo(value);
  590. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  591. }
  592. public List<Dictionary<string, object>> TradeOneDaysDo(string value)
  593. {
  594. JsonData data = JsonMapper.ToObject(value);
  595. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客
  596. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  597. DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
  598. for (int i = 0; i <= 24; i++)
  599. {
  600. DateTime date = start.AddHours(-i);
  601. if (date.ToString("yyyy-MM-dd hh:mm:ss") != start.ToString("yyyy-MM-dd hh:mm:ss"))
  602. {
  603. string Date = date.ToString("yyyy-MM-dd hh:mm:ss");
  604. Dictionary<string, object> curData = new Dictionary<string, object>();
  605. curData.Add("TradeDate", date.ToString("yyyy-MM-dd hh:mm:ss")); //交易时间
  606. curData.Add("TradeAmount", UserTradeDaySummaryDbconn.Instance.GetDateTrade(UserId, Date, "team")); //总交易额
  607. dataList.Add(curData);
  608. }
  609. }
  610. return dataList;
  611. }
  612. #endregion
  613. #region 数据大屏-交易额统计-本年本月本天
  614. [Authorize]
  615. public JsonResult TradeDayHour(string value)
  616. {
  617. value = DesDecrypt(value);
  618. JsonData data = JsonMapper.ToObject(value);
  619. List<Dictionary<string, object>> Obj = TradeDayHourDo(value);
  620. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  621. }
  622. public List<Dictionary<string, object>> TradeDayHourDo(string value)
  623. {
  624. JsonData data = JsonMapper.ToObject(value);
  625. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  626. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  627. 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)");
  628. foreach (DataRow item in dt.Rows)
  629. {
  630. string year = item["year"].ToString();
  631. string month = item["month"].ToString();
  632. string day = item["day"].ToString();
  633. string hour = item["hour"].ToString();
  634. string count = item["count"].ToString();
  635. double sumamount = Convert.ToDouble(item["sumamount"]) / 10000;
  636. Dictionary<string, object> ob = new Dictionary<string, object>();
  637. ob.Add("year", year);
  638. ob.Add("month", month);
  639. ob.Add("day", day);
  640. ob.Add("hour", hour);
  641. ob.Add("count", count);
  642. ob.Add("sumamount", sumamount);
  643. Obj.Add(ob);
  644. }
  645. OtherMySqlConn.connstr = "";
  646. return Obj;
  647. }
  648. #endregion
  649. #region 数据大屏-交易额统计-本年本月本天此时
  650. [Authorize]
  651. public JsonResult TradeHourMinute(string value)
  652. {
  653. value = DesDecrypt(value);
  654. JsonData data = JsonMapper.ToObject(value);
  655. List<Dictionary<string, object>> Obj = TradeHourMinuteDo(value);
  656. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  657. }
  658. public List<Dictionary<string, object>> TradeHourMinuteDo(string value)
  659. {
  660. JsonData data = JsonMapper.ToObject(value);
  661. List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  662. OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  663. 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)");
  664. foreach (DataRow item in dt.Rows)
  665. {
  666. string year = item["year"].ToString();
  667. string month = item["month"].ToString();
  668. string day = item["day"].ToString();
  669. string hour = item["hour"].ToString();
  670. string minute = item["minute"].ToString();
  671. string count = item["count"].ToString();
  672. double sumamount = Convert.ToDouble(item["sumamount"]) / 10000;
  673. Dictionary<string, object> ob = new Dictionary<string, object>();
  674. ob.Add("year", year);
  675. ob.Add("month", month);
  676. ob.Add("day", day);
  677. ob.Add("hour", hour);
  678. ob.Add("minute", minute);
  679. ob.Add("count", count);
  680. ob.Add("sumamount", sumamount);
  681. Obj.Add(ob);
  682. }
  683. OtherMySqlConn.connstr = "";
  684. return Obj;
  685. }
  686. #endregion
  687. #region 数据大屏-月度交易额环比
  688. /// <summary>
  689. /// 月度交易额环比
  690. /// </summary>
  691. /// <param name="value"></param>
  692. /// <returns></returns>
  693. [Authorize]
  694. public JsonResult MonthTradePercentage(string value)
  695. {
  696. value = DesDecrypt(value);
  697. JsonData data = JsonMapper.ToObject(value);
  698. List<Dictionary<string, object>> Obj = MonthTradePercentageDo(value);
  699. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  700. }
  701. public List<Dictionary<string, object>> MonthTradePercentageDo(string value)
  702. {
  703. JsonData data = JsonMapper.ToObject(value);
  704. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  705. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  706. IQueryable<Users> query = maindb.Users.Where(m => m.Id == UserId && m.AuthFlag == 1);
  707. foreach (var subdata in query.ToList())
  708. {
  709. Dictionary<string, object> curData = new Dictionary<string, object>();
  710. curData.Add("ThisMonthTrade", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(subdata.Id, DateTime.Now.ToString("yyyyMM"), "team")); //本月交易额
  711. curData.Add("LastMonthTrade", UserTradeDaySummaryDbconn.Instance.GetMonthTrade(subdata.Id, DateTime.Now.AddMonths(-1).ToString("yyyyMM"), "team")); //上月交易额
  712. dataList.Add(curData);
  713. }
  714. return dataList;
  715. }
  716. #endregion
  717. #region 数据大屏-月度新增创客环比
  718. /// <summary>
  719. /// 月度新增创客环比
  720. /// </summary>
  721. /// <param name="value"></param>
  722. /// <returns></returns>
  723. [Authorize]
  724. public JsonResult MonthMakerAddPercentages(string value)
  725. {
  726. value = DesDecrypt(value);
  727. JsonData data = JsonMapper.ToObject(value);
  728. List<Dictionary<string, object>> dataList = MonthMakerAddPercentagesDo(value);
  729. return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
  730. }
  731. public List<Dictionary<string, object>> MonthMakerAddPercentagesDo(string value)
  732. {
  733. // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  734. // List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  735. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  736. // 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");
  737. // foreach (DataRow item in dt.Rows)
  738. // {
  739. // var ThisMonthCount = int.Parse(item["ThisMonthCount"].ToString());
  740. // var LastMonthCount = int.Parse(item["LastMonthCount"].ToString());
  741. // Dictionary<string,object> ob = new Dictionary<string, object>();
  742. // ob.Add("ThisMonthCount",ThisMonthCount);
  743. // ob.Add("LastMonthCount",LastMonthCount);
  744. // dataList.Add(ob);
  745. // }
  746. JsonData data = JsonMapper.ToObject(value);
  747. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  748. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  749. IQueryable<Users> query = maindb.Users.Where(m => m.Id == UserId && m.AuthFlag == 1);
  750. foreach (var subdata in query.ToList())
  751. {
  752. Dictionary<string, object> curData = new Dictionary<string, object>();
  753. curData.Add("ThisMonthCount", LargeDataScreenDbconn.Instance.GetTeamMakerCountThisMonth(UserId)); //本月新增创客
  754. curData.Add("LastMonthCount", LargeDataScreenDbconn.Instance.GetTeamMakerCountLastMonth(UserId)); //上月新增创客
  755. dataList.Add(curData);
  756. }
  757. return dataList;
  758. // List<Dictionary<string, object>> Obj = RedisDbconn.Instance.GetList<Dictionary<string, object>>("AddMakerList");
  759. // if (Obj.Count > 0)
  760. // {
  761. // return Obj;
  762. // }
  763. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  764. // 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");
  765. // foreach (DataRow item in dt.Rows)
  766. // {
  767. // var ThisMonthCount = int.Parse(item["ThisMonthCount"].ToString());
  768. // var LastMonthCount = int.Parse(item["LastMonthCount"].ToString());
  769. // Dictionary<string,object> ob = new Dictionary<string, object>();
  770. // ob.Add("ThisMonthCount",ThisMonthCount);
  771. // ob.Add("LastMonthCount",LastMonthCount);
  772. // Obj.Add(ob);
  773. // }
  774. // foreach (var sub in Obj)
  775. // {
  776. // RedisDbconn.Instance.AddList("AddMakerList", sub);
  777. // }
  778. // return Obj;
  779. }
  780. #endregion
  781. #region 数据大屏-机型统计-机型占比统计
  782. /// <summary>
  783. /// 机型统计--机型占比统计
  784. /// </summary>
  785. /// <param name="value"></param>
  786. /// <returns></returns>
  787. [Authorize]
  788. public JsonResult ModelTypeCount(string value)
  789. {
  790. value = DesDecrypt(value);
  791. JsonData data = JsonMapper.ToObject(value);
  792. List<ModelType> Obj = ModelTypeCountDo(value);
  793. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  794. }
  795. public List<ModelType> ModelTypeCountDo(string value)
  796. {
  797. JsonData data = JsonMapper.ToObject(value);
  798. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  799. List<ModelType> Obj = LargeDataScreenDbconn.Instance.GetModelTypeList(UserId);
  800. return Obj;
  801. }
  802. // public List<Dictionary<string, object>> ModelTypeCountDo(string value)
  803. // {
  804. // // JsonData data = JsonMapper.ToObject(value);
  805. // // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  806. // // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  807. // // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  808. // // 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");
  809. // // foreach (DataRow item in dt.Rows)
  810. // // {
  811. // // var name = item["name"].ToString();
  812. // // var count = decimal.Parse(item["count"].ToString());
  813. // // Dictionary<string, object> ob = new Dictionary<string, object>();
  814. // // ob.Add("name", name);
  815. // // ob.Add("count", count);
  816. // // Obj.Add(ob);
  817. // // }
  818. // // return Obj;
  819. // JsonData data = JsonMapper.ToObject(value);
  820. // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  821. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  822. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  823. // 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");
  824. // foreach (DataRow item in dt.Rows)
  825. // {
  826. // var name = item["name"].ToString();
  827. // var count = decimal.Parse(item["count"].ToString());
  828. // Dictionary<string, object> ob = new Dictionary<string, object>();
  829. // ob.Add("name", name);
  830. // ob.Add("count", count);
  831. // Obj.Add(ob);
  832. // }
  833. // OtherMySqlConn.connstr = "";
  834. // return Obj;
  835. // }
  836. #endregion
  837. #region 数据大屏-机型统计-交易额统计
  838. /// <summary>
  839. /// 机型统计--交易额统计
  840. /// </summary>
  841. /// <param name="value"></param>
  842. /// <returns></returns>
  843. [Authorize]
  844. public JsonResult ModelTypeTradeCount(string value)
  845. {
  846. value = DesDecrypt(value);
  847. JsonData data = JsonMapper.ToObject(value);
  848. List<ModelTypeTrade> Obj = ModelTypeTradeCountDo(value);
  849. return Json(new AppResultJson() { Status = "1", Info = "", Data = Obj });
  850. }
  851. public List<ModelTypeTrade> ModelTypeTradeCountDo(string value)
  852. {
  853. JsonData data = JsonMapper.ToObject(value);
  854. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  855. List<ModelTypeTrade> Obj = LargeDataScreenDbconn.Instance.GetModelTypeTradeList(UserId);
  856. return Obj;
  857. }
  858. // public List<Dictionary<string, object>> ModelTypeTradeCountDo(string value)
  859. // {
  860. // // JsonData data = JsonMapper.ToObject(value);
  861. // // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  862. // // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  863. // // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  864. // // 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");
  865. // // foreach (DataRow item in dt.Rows)
  866. // // {
  867. // // var name = item["name"].ToString();
  868. // // var sum = decimal.Parse(item["sum"].ToString());
  869. // // Dictionary<string, object> ob = new Dictionary<string, object>();
  870. // // ob.Add("name", name);
  871. // // ob.Add("sum", sum);
  872. // // Obj.Add(ob);
  873. // // }
  874. // // return Obj;
  875. // JsonData data = JsonMapper.ToObject(value);
  876. // int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  877. // List<Dictionary<string, object>> Obj = new List<Dictionary<string, object>>();
  878. // OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
  879. // 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");
  880. // foreach (DataRow item in dt.Rows)
  881. // {
  882. // var name = item["name"].ToString();
  883. // var sum = decimal.Parse(item["sum"].ToString());
  884. // Dictionary<string, object> ob = new Dictionary<string, object>();
  885. // ob.Add("name", name);
  886. // ob.Add("sum", sum);
  887. // Obj.Add(ob);
  888. // }
  889. // OtherMySqlConn.connstr = "";
  890. // return Obj;
  891. // }
  892. #endregion
  893. #region 检查签名是否合法,合法返回1,不合法返回提示信息
  894. /// <summary>
  895. /// 检查签名是否合法,合法返回1,不合法返回提示信息
  896. /// </summary>
  897. /// <param name="value">请求的参数(json字符串)</param>
  898. /// <param name="signField">要签名的字段</param>
  899. /// <returns></returns>
  900. private string CheckSign(string value, string[] signField)
  901. {
  902. JsonData json = JsonMapper.ToObject(value);
  903. Dictionary<string, string> dic = new Dictionary<string, string>();
  904. for (int i = 0; i < signField.Length; i++)
  905. {
  906. dic.Add(signField[i], json[signField[i]].ToString());
  907. }
  908. string sign = json["sign"].ToString(); //客户端签名字符串
  909. return new Sign().sign(dic, sign);
  910. }
  911. #endregion
  912. #region 数据大屏-五一活动创客期望
  913. /// <summary>
  914. /// 五一活动创客期望
  915. /// </summary>
  916. /// <param name="value"></param>
  917. /// <returns></returns>
  918. [Authorize]
  919. public JsonResult UsersWish(string value)
  920. {
  921. value = DesDecrypt(value);
  922. JsonData data = JsonMapper.ToObject(value);
  923. AppResultJson result = UsersWishDo(value);
  924. return Json(new AppResultJson() { Status = result.Status, Info = result.Info, Data = result.Data });
  925. }
  926. public AppResultJson UsersWishDo(string value)
  927. {
  928. JsonData data = JsonMapper.ToObject(value);
  929. int UserId = int.Parse(function.CheckInt(data["UserId"].ToString())); //创客Id
  930. var ExpectAmount = function.CheckString(data["ExpectAmount"].ToString()); //期望
  931. var TargetAmount = function.CheckString(data["TargetAmount"].ToString());//目标
  932. string text = string.Format("UserId:{0},ExpectAmount:{1},TargetAmount:{2};", UserId, ExpectAmount, TargetAmount);
  933. function.WriteLog(text, "UsersWishs");
  934. return new AppResultJson() { Status = "1", Info = "", Data = text };
  935. }
  936. #endregion
  937. #region 姓名脱敏
  938. /// <summary>
  939. /// 姓名敏感处理
  940. /// </summary>
  941. /// <param name="fullName">姓名</param>
  942. /// <returns>脱敏后的姓名</returns>
  943. public static string SetSensitiveName(string fullName)
  944. {
  945. if (string.IsNullOrEmpty(fullName)) return string.Empty;
  946. string familyName = fullName.Substring(0, 1);
  947. string end = fullName.Substring(fullName.Length - 1, 1);
  948. string name = string.Empty;
  949. //长度为2
  950. if (fullName.Length <= 2) name = familyName + "*";
  951. //长度⼤于2
  952. else if (fullName.Length >= 3)
  953. {
  954. name = familyName.PadRight(fullName.Length - 1, '*') + end;
  955. }
  956. return name;
  957. }
  958. #endregion
  959. }
  960. }