MySelfUtil.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. using MySystem.Models.Main;
  2. using Library;
  3. using MySystem.Service.Main;
  4. using System.Collections.Generic;
  5. using System;
  6. using LitJson;
  7. using MySystem.Areas.Api.Controllers;
  8. using System.Linq;
  9. namespace MySystem
  10. {
  11. /// <summary>
  12. /// 我的工具类
  13. /// </summary>
  14. public class MySelfUtil
  15. {
  16. public static string bankName = "";
  17. public static string cardNo = "";
  18. #region 到账记录列表
  19. /// <summary>
  20. /// 到账记录列表
  21. /// </summary>
  22. /// <param name="condition">查询条件</param>
  23. /// <param name="pageSize">条数</param>
  24. /// <param name="pageNum">页数</param>
  25. /// <returns></returns>
  26. public static List<Dictionary<string, object>> CardInComeRecordList(int MerchantId, string TradeMonth, string pageSize, string pageNum)
  27. {
  28. Dictionary<string, object> ListInfo = GetInfo();
  29. bool check = false;
  30. DateTime start = new DateTime(int.Parse(TradeMonth.Substring(0, 4)), int.Parse(TradeMonth.Substring(TradeMonth.Length - 2, 2)), 1);
  31. DateTime end = start.AddMonths(1).AddDays(-1);
  32. var merchantInfo = MerchantAddInfoService.Query(MerchantId);
  33. JsonData Info = JsonMapper.ToObject(HaoDaHelper.Instance.CardInComeRecord(merchantInfo.OutMchtNo, start.ToString("yyyy-MM-dd"), end.ToString("yyyy-MM-dd"), merchantInfo.MchtNo, "", "", pageNum, pageSize, merchantInfo.BrandId));
  34. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  35. if (Info["code"].ToString() == "0")
  36. {
  37. var list = Info["data"]["list"];
  38. for (int i = 0; i < list.Count; i++)
  39. {
  40. Dictionary<string, object> curData = new Dictionary<string, object>();
  41. var item = list[i];
  42. if (item["settleAccountName"].ToString() != "四川省润观米科技有限公司")
  43. {
  44. curData.Add("Id", item["id"].ToString()); //订单Id
  45. curData.Add("SettleStatus", item["settleStatus"].ToString()); //结算状态(0: 入账成功、1: 入账失败、2: 结算超时、3: 入账受理成功、4: 已提交结算请求、5:已拆分批次、6: 初始化批次信息、7:正在提交结算请求)
  46. curData.Add("SettleDate", item["settleDate"].ToString().Substring(item["settleDate"].ToString().Length - 5, 5)); //结算日期
  47. curData.Add("SettleAmount", (decimal.Parse(item["settleAmount"].ToString()) / 100).ToString("f2")); //结算金额
  48. curData.Add("TradeMchtName", item["tradeMchtName"].ToString()); //收单商户名称
  49. curData.Add("BankName", item["bankName"].ToString()); //开户行名称
  50. bankName = item["bankName"].ToString();
  51. cardNo = item["cardNo"].ToString().Substring(item["cardNo"].ToString().Length - 4, 4);
  52. dataList.Add(curData);
  53. if (ListInfo.ContainsKey(MerchantId + "|" + "2023-11-23") && check == false && item["settleDate"].ToString() == "2023-11-23")
  54. {
  55. check = true;
  56. var info = ListInfo[MerchantId + "|" + "2023-11-23"];
  57. Dictionary<string, object> curDatas = new Dictionary<string, object>();
  58. curDatas.Add("Id", "0"); //订单Id
  59. curDatas.Add("SettleStatus", "0"); //结算状态(0: 入账成功、1: 入账失败、2: 结算超时、3: 入账受理成功、4: 已提交结算请求、5:已拆分批次、6: 初始化批次信息、7:正在提交结算请求)
  60. curDatas.Add("SettleDate", "11-23"); //结算日期
  61. curDatas.Add("SettleAmount", info); //结算金额
  62. curDatas.Add("TradeMchtName", merchantInfo.CertMerchantName); //收单商户名称
  63. curDatas.Add("BankName", bankName); //开户行名称
  64. dataList.Add(curDatas);
  65. }
  66. }
  67. }
  68. }
  69. return dataList;
  70. }
  71. #endregion
  72. #region 到账记录详情
  73. /// <summary>
  74. /// 到账记录详情
  75. /// </summary>
  76. /// <param name="condition">查询条件</param>
  77. /// <param name="pageSize">条数</param>
  78. /// <param name="pageNum">页数</param>
  79. /// <returns></returns>
  80. public static Dictionary<string, object> CardInComeRecordDetail(int MerchantId, string OrderId)
  81. {
  82. Dictionary<string, object> ListInfo = GetInfo();
  83. var merchantInfo = MerchantAddInfoService.Query(MerchantId);
  84. if (OrderId == "0")
  85. {
  86. Dictionary<string, object> objs = new Dictionary<string, object>();
  87. objs.Add("Id", "16661513739247493123" + MerchantId); //订单Id
  88. objs.Add("SettleStatus", "0"); //结算状态(0: 入账成功、1: 入账失败、2: 结算超时、3: 入账受理成功、4: 已提交结算请求、5:已拆分批次、6: 初始化批次信息、7:正在提交结算请求)
  89. objs.Add("SettleType", "D1"); //结算周期
  90. objs.Add("SettleDate", "2023-11-23"); //结算日期
  91. objs.Add("ClearTime", "2023-11-23 10:06:43"); //出款受理时间
  92. objs.Add("RemitTime", "2023-11-23 11:08:22"); //出款成功时间
  93. var info = ListInfo[MerchantId + "|" + "2023-11-23"];
  94. objs.Add("SettleAmount", info); //结算金额
  95. objs.Add("TradeMchtName", merchantInfo.CertMerchantName); //收单商户名称
  96. objs.Add("BankName", bankName + "(" + cardNo + ")"); //开户行名称
  97. objs.Add("FailureReason", ""); //出款失败备注
  98. return objs;
  99. }
  100. else
  101. {
  102. JsonData Info = JsonMapper.ToObject(HaoDaHelper.Instance.CardInComeDetail(merchantInfo.OutMchtNo, OrderId, merchantInfo.BrandId));
  103. Dictionary<string, object> obj = new Dictionary<string, object>();
  104. if (Info["code"].ToString() == "0")
  105. {
  106. obj.Add("Id", Info["data"]["id"].ToString()); //订单Id
  107. obj.Add("SettleStatus", Info["data"]["settleStatus"].ToString()); //结算状态(0: 入账成功、1: 入账失败、2: 结算超时、3: 入账受理成功、4: 已提交结算请求、5:已拆分批次、6: 初始化批次信息、7:正在提交结算请求)
  108. obj.Add("SettleType", Info["data"]["settleType"].ToString()); //结算周期
  109. obj.Add("SettleDate", Info["data"]["settleDate"].ToString()); //结算日期
  110. obj.Add("ClearTime", Info["data"]["clearTime"].ToString()); //出款受理时间
  111. obj.Add("RemitTime", Info["data"]["remitTime"].ToString()); //出款成功时间
  112. obj.Add("SettleAmount", (decimal.Parse(Info["data"]["settleAmount"].ToString()) / 100).ToString("f2")); //结算金额
  113. obj.Add("TradeMchtName", Info["data"]["tradeMchtName"].ToString()); //收单商户名称
  114. obj.Add("BankName", Info["data"]["bankName"].ToString() + "(" + Info["data"]["cardNo"].ToString().Substring(Info["data"]["cardNo"].ToString().Length - 4, 4) + ")"); //开户行名称
  115. obj.Add("FailureReason", Info["data"]["remark"].ToString()); //出款失败备注
  116. }
  117. return obj;
  118. }
  119. }
  120. #endregion
  121. #region 我的-设置-修改登录手机号(新手机验证)
  122. /// <summary>
  123. /// 我的-设置-修改登录手机号(新手机验证)
  124. /// </summary>
  125. /// <param name="LoginMobile">原手机号</param>
  126. /// <param name="Mobile">新手机号</param>
  127. /// <returns></returns>
  128. public static string ChangeLoginMobile(string LoginMobile, string Mobile)
  129. {
  130. var info = MerchantLoginInfoService.Query(" and LoginMobile=" + LoginMobile + "");
  131. if (info.Id > 0)
  132. {
  133. Dictionary<string, object> obj = new Dictionary<string, object>();
  134. obj.Add("LoginMobile", Mobile);
  135. MerchantLoginInfoService.Edit(obj, info.Id);
  136. }
  137. return "修改成功";
  138. }
  139. #endregion
  140. #region 商户统计数据(个人中心主界面)
  141. /// <summary>
  142. /// 商户统计数据(个人中心主界面)
  143. /// </summary>
  144. /// <param name="MerchantId">商户Id</param>
  145. /// <returns></returns>
  146. public static Dictionary<string, object> StatData(int MerchantId)
  147. {
  148. Dictionary<string, object> Obj = new Dictionary<string, object>();
  149. var query = MerchantInfoService.Query(MerchantId);
  150. Obj.Add("Name", query.Name); //名称
  151. Obj.Add("TotalAmount", query.TotalAmount.ToString("f2")); //营收总金额
  152. Obj.Add("TotalActual", query.TotalActual.ToString("f2")); //实收总金额
  153. var yesterday = DateTime.Now.AddDays(-1).ToString("yyyyMMdd");
  154. // Obj.Add("YesterDayActual", decimal.Parse(function.CheckNum(UserTradeDbconn.Instance.GetTrade(MerchantId, yesterday, "InFactAmount")["InFactAmount"].ToString())).ToString("f2")); //昨日收入
  155. Obj.Add("YesterDayActual", decimal.Parse(MerchantAmountSummayService.Sum("TotalActual", " and MerchantId=" + MerchantId + " and TradeDate='" + yesterday + "'")["TotalActual"]).ToString("f2")); //昨日收入
  156. Obj.Add("SettleAmount", 0.00); //待结算金额
  157. Obj.Add("TotalOrder", query.TotalConsumeCount); //累计订单
  158. Obj.Add("TotalCustomer", query.TotalCustomer); //累计客户
  159. Obj.Add("Logo", BaseController.DefaultPic(query.Logo)); //Logo图片
  160. int ConsumeCount = 0;
  161. decimal WeChatTotal = 0;
  162. decimal AlipayTotal = 0;
  163. for (int i = 0; i < 7; i++)
  164. {
  165. string Date = DateTime.Now.AddDays(-i).ToString("yyyyMMdd");
  166. WeChatTotal += decimal.Parse(MerchantAmountSummayService.Sum("TotalActual", " and MerchantId=" + MerchantId + " and PayMode=2 and TradeDate='" + Date + "'")["TotalActual"]);
  167. AlipayTotal += decimal.Parse(MerchantAmountSummayService.Sum("TotalActual", " and MerchantId=" + MerchantId + " and PayMode=1 and TradeDate='" + Date + "'")["TotalActual"]);
  168. }
  169. Obj.Add("SevenDayConsumer", ConsumeCount); //近7日新增会员
  170. Obj.Add("WeChatTotal", WeChatTotal.ToString("f2")); //微信实收
  171. Obj.Add("AlipayTotal", AlipayTotal.ToString("f2")); //支付宝实收
  172. Obj.Add("CreateDate", query.CreateDate == null ? "" : query.CreateDate.Value.ToString("yyyy-MM-dd"));
  173. return Obj;
  174. }
  175. #endregion
  176. public static Dictionary<string, object> GetInfo()
  177. {
  178. Dictionary<string, object> ListInfo = new Dictionary<string, object>();
  179. ListInfo.Add("1272|2023-11-23", 7762.17);
  180. ListInfo.Add("974|2023-11-23", 36.91);
  181. ListInfo.Add("1415|2023-11-23", 195.02);
  182. ListInfo.Add("1307|2023-11-23", 94.64);
  183. ListInfo.Add("1176|2023-11-23", 50.39);
  184. ListInfo.Add("1648|2023-11-23", 390.95);
  185. ListInfo.Add("878|2023-11-23", 101.91);
  186. ListInfo.Add("862|2023-11-23", 23.7);
  187. ListInfo.Add("1191|2023-11-23", 36.12);
  188. ListInfo.Add("955|2023-11-23", 6.43);
  189. ListInfo.Add("982|2023-11-23", 10.14);
  190. ListInfo.Add("1466|2023-11-23", 378.91);
  191. ListInfo.Add("1115|2023-11-23", 189.61);
  192. ListInfo.Add("1343|2023-11-23", 131.36);
  193. ListInfo.Add("1586|2023-11-23", 350.45);
  194. ListInfo.Add("1410|2023-11-23", 7.67);
  195. ListInfo.Add("1505|2023-11-23", 438.03);
  196. ListInfo.Add("1219|2023-11-23", 115.13);
  197. ListInfo.Add("1293|2023-11-23", 6.02);
  198. ListInfo.Add("1093|2023-11-23", 66.01);
  199. ListInfo.Add("1300|2023-11-23", 51.78);
  200. ListInfo.Add("1593|2023-11-23", 11.17);
  201. ListInfo.Add("1602|2023-11-23", 131.11);
  202. ListInfo.Add("1595|2023-11-23", 70.09);
  203. ListInfo.Add("1265|2023-11-23", 432.92);
  204. ListInfo.Add("1032|2023-11-23", 60.13);
  205. ListInfo.Add("1551|2023-11-23", 18.62);
  206. ListInfo.Add("1578|2023-11-23", 213.98);
  207. ListInfo.Add("1400|2023-11-23", 362.89);
  208. ListInfo.Add("1640|2023-11-23", 562.67);
  209. ListInfo.Add("1331|2023-11-23", 53.08);
  210. ListInfo.Add("1591|2023-11-23", 258.33);
  211. ListInfo.Add("460|2023-11-23", 100.22);
  212. ListInfo.Add("1547|2023-11-23", 701.9);
  213. ListInfo.Add("1447|2023-11-23", 76.48);
  214. ListInfo.Add("1147|2023-11-23", 20.73);
  215. ListInfo.Add("1388|2023-11-23", 3.57);
  216. ListInfo.Add("1399|2023-11-23", 312.1);
  217. ListInfo.Add("1284|2023-11-23", 76.11);
  218. ListInfo.Add("1211|2023-11-23", 280.19);
  219. ListInfo.Add("1259|2023-11-23", 150.73);
  220. ListInfo.Add("999|2023-11-23", 40.58);
  221. ListInfo.Add("1116|2023-11-23", 13.55);
  222. ListInfo.Add("1597|2023-11-23", 213.29);
  223. ListInfo.Add("1295|2023-11-23", 219.75);
  224. ListInfo.Add("1554|2023-11-23", 793.93);
  225. ListInfo.Add("1634|2023-11-23", 45.69);
  226. ListInfo.Add("1493|2023-11-23", 168.84);
  227. ListInfo.Add("1430|2023-11-23", 377.74);
  228. ListInfo.Add("994|2023-11-23", 2260.74);
  229. ListInfo.Add("1569|2023-11-23", 174.96);
  230. ListInfo.Add("1439|2023-11-23", 61.26);
  231. ListInfo.Add("1409|2023-11-23", 253.94);
  232. ListInfo.Add("1440|2023-11-23", 370.55);
  233. ListInfo.Add("945|2023-11-23", 404.93);
  234. ListInfo.Add("1475|2023-11-23", 3.53);
  235. ListInfo.Add("1464|2023-11-23", 121.87);
  236. ListInfo.Add("1534|2023-11-23", 62.67);
  237. ListInfo.Add("1587|2023-11-23", 9110.39);
  238. ListInfo.Add("1492|2023-11-23", 213.31);
  239. ListInfo.Add("1627|2023-11-23", 214.43);
  240. ListInfo.Add("1158|2023-11-23", 6.77);
  241. ListInfo.Add("1646|2023-11-23", 67.72);
  242. ListInfo.Add("1630|2023-11-23", 3.01);
  243. ListInfo.Add("1445|2023-11-23", 285.21);
  244. ListInfo.Add("1521|2023-11-23", 479.66);
  245. ListInfo.Add("1563|2023-11-23", 1072.17);
  246. ListInfo.Add("1441|2023-11-23", 1119.27);
  247. ListInfo.Add("867|2023-11-23", 355.51);
  248. ListInfo.Add("868|2023-11-23", 228.68);
  249. return ListInfo;
  250. }
  251. }
  252. }