OutApiController.cs 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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().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. #region WIFI解绑
  86. [HttpPost]
  87. [Route("/kxs/unbind/wifi")]
  88. public Dictionary<string, object> UnBindWifi()
  89. {
  90. StreamReader sr = new StreamReader(Request.Body);
  91. string requestMes = sr.ReadToEnd();
  92. if (string.IsNullOrEmpty(requestMes))
  93. {
  94. return new Dictionary<string, object>();
  95. }
  96. string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
  97. Utils.WriteLog(content, "WIFI解绑推送消息");
  98. string fileName = function.MD5_16(Guid.NewGuid().ToString());
  99. RedisDbconn.Instance.AddList("kxs_unbindwifi_list", content + "#cut#" + fileName);
  100. Dictionary<string, object> obj = new Dictionary<string, object>();
  101. obj.Add("resCode", 200);
  102. obj.Add("resMsg", "success");
  103. return obj;
  104. }
  105. #endregion
  106. #region WIFI换绑
  107. [HttpPost]
  108. [Route("/kxs/changebind/wifi")]
  109. public Dictionary<string, object> ChangeBindWifi()
  110. {
  111. StreamReader sr = new StreamReader(Request.Body);
  112. string requestMes = sr.ReadToEnd();
  113. if (string.IsNullOrEmpty(requestMes))
  114. {
  115. return new Dictionary<string, object>();
  116. }
  117. string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
  118. Utils.WriteLog(content, "WIFI换绑推送消息");
  119. string fileName = function.MD5_16(Guid.NewGuid().ToString());
  120. RedisDbconn.Instance.AddList("kxs_changebindwifi_list", content + "#cut#" + fileName);
  121. Dictionary<string, object> obj = new Dictionary<string, object>();
  122. obj.Add("resCode", 200);
  123. obj.Add("resMsg", "success");
  124. return obj;
  125. }
  126. #endregion
  127. #region 同行奖同步
  128. [Route("/leader/prize/do/{month:minlength(6)}")]
  129. public string LeaderPrize(string month)
  130. {
  131. if(RedisDbconn.Instance.Get<string>("LeaderTxjPrizeFlag" + month) == "1")
  132. {
  133. return "请勿频繁操作";
  134. }
  135. RedisDbconn.Instance.Set("LeaderTxjPrizeFlag" + month, "1");
  136. RedisDbconn.Instance.SetExpire("LeaderTxjPrizeFlag" + month, 60);
  137. RedisDbconn.Instance.AddList("TxjQueue", month);
  138. return "ok";
  139. }
  140. #endregion
  141. #region 获取更新过期身份证链接
  142. [Route("/api/v1/ls/idcardurl")]
  143. public JsonResult LsIdCardUrl()
  144. {
  145. StreamReader sr = new StreamReader(Request.Body);
  146. string requestMes = sr.ReadToEnd();
  147. requestMes = requestMes.Replace("\"", "");
  148. Utils.WriteLog(requestMes, "获取更新过期身份证链接");
  149. requestMes = PublicImportDataService.Instance.AesDecryptForIv(requestMes);
  150. Utils.WriteLog(requestMes + "\n\n", "获取更新过期身份证链接");
  151. JsonData data = JsonMapper.ToObject(requestMes);
  152. string merNo = data["merNo"].ToString();
  153. string content = PublicImportDataService.Instance.LePassGetExpiredIdCardUrl(merNo);
  154. JsonData jsonObj = JsonMapper.ToObject(content);
  155. if(jsonObj["error_code"].ToString() == "0")
  156. {
  157. return Json(new AppResultJson() { Status = "1", Info = jsonObj["error_msg"].ToString(), Data = jsonObj["data"].ToString() });
  158. }
  159. return Json(new AppResultJson() { Status = "-1", Info = jsonObj["error_msg"].ToString() });
  160. }
  161. #endregion
  162. #region 更新小程序版本
  163. [Route("/api/v1/mini/addver")]
  164. public string MiniAddVesion(string id)
  165. {
  166. RedisDbconn.Instance.AddList("MiniSetVersionQueue", id);
  167. return "ok";
  168. }
  169. #endregion
  170. // [Route("/api/v1/{c1}/{c2}")]
  171. // public JsonResult ToApServer(string c1, string c2, string value)
  172. // {
  173. // string apis = function.CheckNull(RedisDbconn.Instance.Get<string>("ToApServer"));
  174. // Utils.WriteLog(DateTime.Now.ToString() + "\n" + value, "接口转发日志");
  175. // string hasDo = "";
  176. // if (apis.Contains(c1 + "/" + c2))
  177. // {
  178. // value = dbconn.DesEncrypt(value, "*ga34|^7");
  179. // }
  180. // else
  181. // {
  182. // hasDo = "do";
  183. // }
  184. // Utils.WriteLog(value, "接口转发日志");
  185. // string url = AppConfig.Base.ApHost + "api/v1/" + c1 + "/" + c2 + hasDo;
  186. // Utils.WriteLog(url, "接口转发日志");
  187. // string result = function.PostWebRequest(url, "value=" + value);
  188. // Utils.WriteLog(str: result, "接口转发日志");
  189. // JsonData data = JsonMapper.ToObject(result);
  190. // if(result.Contains("\"status\""))
  191. // {
  192. // 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())) });
  193. // }
  194. // return Json(new AppResultJson() { Status = "1", Data = result, Info = "" });
  195. // }
  196. }
  197. }