PrizeController.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 PrizeController : BaseController
  20. {
  21. public PrizeController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  22. {
  23. }
  24. #region 获取奖励日志
  25. [Route("/v1/pri/PriLog/getPriLogDetail")]
  26. public Dictionary<string, object> Set()
  27. {
  28. Dictionary<string, object> result = new Dictionary<string, object>();
  29. try
  30. {
  31. StreamReader sr = new StreamReader(Request.Body);
  32. string requestMes = sr.ReadToEnd();
  33. JsonData json = JsonMapper.ToObject(requestMes);
  34. string value = AesDecrypt(json["content"].ToString(), "kvS4TIRh7Yulg4nr");
  35. JsonData data = JsonMapper.ToObject(value);
  36. string DataNo = data["data_no"].ToString();
  37. string PrizeKind = data["prize_kind"].ToString();
  38. string content = function.PostWebRequest("/noauth/pri/logdetail", "value={\"data_no\":\"" + DataNo + "\",\"prize_kind\":\"" + PrizeKind + "\"}");
  39. result = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(content);
  40. }
  41. catch(Exception ex)
  42. {
  43. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "设置押金异常");
  44. result.Add("code", 1);
  45. result.Add("status", "fail");
  46. result.Add("msg", "异常");
  47. }
  48. return result;
  49. }
  50. public string AesDecrypt(string str, string key)
  51. {
  52. if (string.IsNullOrEmpty(str)) return null;
  53. byte[] toEncryptArray = Convert.FromBase64String(str);
  54. System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
  55. {
  56. Key = Encoding.UTF8.GetBytes(key),
  57. Mode = System.Security.Cryptography.CipherMode.ECB,
  58. Padding = System.Security.Cryptography.PaddingMode.PKCS7,
  59. };
  60. System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
  61. byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
  62. return Encoding.UTF8.GetString(resultArray);
  63. }
  64. #endregion
  65. }
  66. }