FeeController.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 FeeController : BaseController
  20. {
  21. public FeeController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  22. {
  23. }
  24. #region 设置费率
  25. public string Set()
  26. {
  27. string content = "";
  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(), "j7rKHxMIpz5w0XRU");
  34. JsonData data = JsonMapper.ToObject(value);
  35. string sn = data["sn"].ToString();
  36. string rate = data["rate"].ToString();
  37. // string fee = data["fee"].ToString();
  38. WebCMSEntities db = new WebCMSEntities();
  39. PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sn);
  40. if(pos != null)
  41. {
  42. int Kind = rate == "0.63" ? 1 : 2;
  43. string info = "{\"RecordId\":\"\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"" + rate + "\",\"Kind\": \"" + Kind + "\",\"OpMan\": \"创业帮\"}";
  44. RedisDbconn.Instance.AddList("SetDepositPostQueue", info);
  45. }
  46. }
  47. catch(Exception ex)
  48. {
  49. Utils.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "设置费率异常");
  50. }
  51. return content;
  52. }
  53. public string AesDecrypt(string str, string key)
  54. {
  55. if (string.IsNullOrEmpty(str)) return null;
  56. byte[] toEncryptArray = Convert.FromBase64String(str);
  57. System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
  58. {
  59. Key = Encoding.UTF8.GetBytes(key),
  60. Mode = System.Security.Cryptography.CipherMode.ECB,
  61. Padding = System.Security.Cryptography.PaddingMode.PKCS7,
  62. };
  63. System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
  64. byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
  65. return Encoding.UTF8.GetString(resultArray);
  66. }
  67. #endregion
  68. }
  69. }