DepositController.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.AspNetCore.Http;
  6. using Microsoft.Extensions.Logging;
  7. using Microsoft.Extensions.Options;
  8. using Microsoft.AspNetCore.Authorization;
  9. using System.Web;
  10. using MySystem.MainModels;
  11. using LitJson;
  12. using Library;
  13. using System.IO;
  14. using System.Text;
  15. namespace MySystem.Areas.Api.Controllers.v1
  16. {
  17. [Area("Api")]
  18. [Route("Api/[controller]/[action]")]
  19. public class DepositController : BaseController
  20. {
  21. public DepositController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  22. {
  23. }
  24. #region 设置押金
  25. public Dictionary<string, object> Set()
  26. {
  27. Dictionary<string, object> result = new Dictionary<string, object>();
  28. try
  29. {
  30. StreamReader sr = new StreamReader(Request.Body);
  31. string requestMes = sr.ReadToEnd();
  32. JsonData json = JsonMapper.ToObject(requestMes);
  33. string value = AesDecrypt(json["content"].ToString(), "kvS4TIRh7Yulg4nr");
  34. JsonData data = JsonMapper.ToObject(value);
  35. string sn = data["sn"].ToString();
  36. string serviceFee = data["serviceFee"].ToString();
  37. Dictionary<string, object> req = new Dictionary<string, object>();
  38. string PosSn = data["sn"].ToString();
  39. req.Add("PosSn", PosSn);
  40. req.Add("BrandId", "12");
  41. req.Add("Deposit", data["serviceFee"].ToString());
  42. string UserId = "0";
  43. if(requestMes.Contains("\"userId\""))
  44. {
  45. UserId = data["userId"].ToString();
  46. }
  47. req.Add("UserId", UserId);
  48. string CallBackUrl = "";
  49. if(requestMes.Contains("\"callBackUrl\""))
  50. {
  51. CallBackUrl = data["callBackUrl"].ToString();
  52. }
  53. req.Add("CallBackUrl", CallBackUrl);
  54. RedisDbconn.Instance.AddList("ChangePosFeeQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req));
  55. result.Add("code", 0);
  56. result.Add("status", "success");
  57. result.Add("msg", "成功");
  58. // WebCMSEntities db = new WebCMSEntities();
  59. // PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sn);
  60. // if(pos != null)
  61. // {
  62. // Dictionary<string, object> req = new Dictionary<string, object>();
  63. // req.Add("PosSnId", pos.Id);
  64. // req.Add("BrandId", 12);
  65. // req.Add("Deposit", serviceFee);
  66. // RedisDbconn.Instance.AddList("ChangePosFeeQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req));
  67. // result.Add("code", 0);
  68. // result.Add("status", "success");
  69. // result.Add("msg", "成功");
  70. // }
  71. // else
  72. // {
  73. // result.Add("code", 1);
  74. // result.Add("status", "fail");
  75. // result.Add("msg", "机具号不存在");
  76. // }
  77. }
  78. catch(Exception ex)
  79. {
  80. Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "设置押金异常");
  81. result.Add("code", 1);
  82. result.Add("status", "fail");
  83. result.Add("msg", "异常");
  84. }
  85. return result;
  86. }
  87. public string AesDecrypt(string str, string key)
  88. {
  89. if (string.IsNullOrEmpty(str)) return null;
  90. byte[] toEncryptArray = Convert.FromBase64String(str);
  91. System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
  92. {
  93. Key = Encoding.UTF8.GetBytes(key),
  94. Mode = System.Security.Cryptography.CipherMode.ECB,
  95. Padding = System.Security.Cryptography.PaddingMode.PKCS7,
  96. };
  97. System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
  98. byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
  99. return Encoding.UTF8.GetString(resultArray);
  100. }
  101. #endregion
  102. }
  103. }