OutApiController.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.AspNetCore.Http;
  3. using Microsoft.Extensions.Logging;
  4. using Microsoft.Extensions.Options;
  5. using System.Collections.Generic;
  6. using LitJson;
  7. using Library;
  8. using System.Linq;
  9. using System;
  10. using MySystem.MainModels;
  11. using System.IO;
  12. namespace MySystem.Areas.Api.Controllers.v1
  13. {
  14. public class OutApiController : BaseController
  15. {
  16. public OutApiController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  17. {
  18. }
  19. #region 设置服务费
  20. [Route("/api/v1/deposit/set")]
  21. public JsonResult SetDeposit()
  22. {
  23. StreamReader sr = new StreamReader(Request.Body);
  24. string requestMes = sr.ReadToEnd();
  25. JsonData data = JsonMapper.ToObject(requestMes);
  26. Dictionary<string, object> req = new Dictionary<string, object>();
  27. string PosSn = data["posSn"].ToString();
  28. req.Add("PosSn", PosSn);
  29. req.Add("BrandId", data["brandId"].ToString());
  30. req.Add("Deposit", data["deposit"].ToString());
  31. string UserId = "0";
  32. if(requestMes.Contains("\"userId\""))
  33. {
  34. UserId = data["userId"].ToString();
  35. }
  36. req.Add("UserId", UserId);
  37. string CallBackUrl = "";
  38. if(requestMes.Contains("\"callBackUrl\""))
  39. {
  40. CallBackUrl = data["callBackUrl"].ToString();
  41. }
  42. req.Add("CallBackUrl", CallBackUrl);
  43. RedisDbconn.Instance.AddList("ChangePosFeeQueue", Newtonsoft.Json.JsonConvert.SerializeObject(req));
  44. return Json(new AppResultJson() { Status = "1", Info = "" });
  45. }
  46. #endregion
  47. #region 设置费率
  48. [Route("/api/v1/fee/set")]
  49. public JsonResult SetFee()
  50. {
  51. StreamReader sr = new StreamReader(Request.Body);
  52. string requestMes = sr.ReadToEnd();
  53. JsonData data = JsonMapper.ToObject(requestMes);
  54. string PosSn = data["posSn"].ToString();
  55. string MerNo = data["mchNo"].ToString();
  56. int BrandId = int.Parse(data["brandId"].ToString());
  57. decimal FeeRate = decimal.Parse(data["feeRate"].ToString());
  58. int FeeExtra = int.Parse(data["feeExtra"].ToString());
  59. string CallBackUrl = "";
  60. if(requestMes.Contains("\"callBackUrl\""))
  61. {
  62. CallBackUrl = data["callBackUrl"].ToString();
  63. }
  64. int ChangeKind = 0;
  65. if(FeeRate == 0.63M && FeeExtra == 3)
  66. {
  67. ChangeKind = 1;
  68. }
  69. else if(FeeRate == 0.63M && FeeExtra == 0)
  70. {
  71. ChangeKind = 2;
  72. }
  73. else if(FeeRate == 0.6M && FeeExtra == 0)
  74. {
  75. ChangeKind = 3;
  76. }
  77. // PosId:机具Id
  78. // Kind:1或2,1为费率0.63+3,2为费率0.63,3为费率0.6
  79. // OpMan:操作人,app传创客编号,后台传SysUserName
  80. string info = "{\"RecordId\":\"0\",\"PosSn\":\"" + PosSn + "\",\"MerNo\":\"" + MerNo + "\",\"BrandId\":\"" + BrandId + "\",\"Fee\": \"" + FeeRate.ToString("f0").TrimEnd('0') + "\",\"Kind\": \"" + ChangeKind + "\",\"OpMan\": \"接口\",\"CallBackUrl\":\"" + CallBackUrl + "\"}";
  81. RedisDbconn.Instance.AddList("SetDepositPostQueue", info);
  82. return Json(new AppResultJson() { Status = "1", Info = "" });
  83. }
  84. #endregion
  85. // [Route("/api/v1/{c1}/{c2}")]
  86. // public JsonResult ToApServer(string c1, string c2, string value)
  87. // {
  88. // string apis = function.CheckNull(RedisDbconn.Instance.Get<string>("ToApServer"));
  89. // function.WriteLog(DateTime.Now.ToString() + "\n" + value, "接口转发日志");
  90. // string hasDo = "";
  91. // if (apis.Contains(c1 + "/" + c2))
  92. // {
  93. // value = dbconn.DesEncrypt(value, "*ga34|^7");
  94. // }
  95. // else
  96. // {
  97. // hasDo = "do";
  98. // }
  99. // function.WriteLog(value, "接口转发日志");
  100. // string url = AppConfig.Base.ApHost + "api/v1/" + c1 + "/" + c2 + hasDo;
  101. // function.WriteLog(url, "接口转发日志");
  102. // string result = function.PostWebRequest(url, "value=" + value);
  103. // function.WriteLog(str: result, "接口转发日志");
  104. // JsonData data = JsonMapper.ToObject(result);
  105. // if(result.Contains("\"status\""))
  106. // {
  107. // return Json(new AppResultJson() { Status = data["status"].ToString(), Data = data["data"].ToJson(), Info = data["info"].ToString(), Other = data["other"] == null ? "" : data["other"].ToJson(), Timestamp = int.Parse(function.CheckInt(data["timestamp"].ToString())) });
  108. // }
  109. // return Json(new AppResultJson() { Status = "1", Data = result, Info = "" });
  110. // }
  111. }
  112. }