123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Options;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Http;
- using System.IO;
- using Library;
- using LitJson;
- using System.Threading.Tasks;
- namespace MySystem.Areas.Api.Controllers
- {
- [Area("Api")]
- [Route("Api/v1/[controller]/[action]")]
- public class Kq2Controller : Admin.Controllers.BaseController
- {
- public Kq2Controller(IHttpContextAccessor accessor, ILogger<Admin.Controllers.BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
- {
- }
- #region 接收绑定记录
- [HttpPost]
- [Route("/kxs2/bind/{BrandId:int}")]
- public string Bind(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "绑定", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_bind_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_bind_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收激活记录
- [HttpPost]
- [Route("/kxs2/active/{BrandId:int}")]
- public string Active(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "激活", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_active_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_active_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收商户记录
- [HttpPost]
- [Route("/kxs2/merchant/{BrandId:int}")]
- public string Merchant(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- RedisDbconn.Instance.AddList("kxs_merchant_list_" + BrandId, requestMes);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收交易记录
- [HttpPost]
- [Route("/kxs2/trade/{BrandId:int}")]
- public string Trade(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "交易", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_trade_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_trade_list_" + BrandId + "/", fileName + ".txt", content);
- Dictionary<string, object> obj = new Dictionary<string, object>();
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收分润记录
- [HttpPost]
- [Route("/kxs2/profit/{BrandId:int}")]
- public string Profit(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "分润", content);
- RedisDbconn.Instance.AddList("kxs_profit_list_" + BrandId, requestMes);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收流量卡分佣交易记录
- [HttpPost]
- [Route("/kxs2/flux/{BrandId:int}")]
- public string Flux(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "流量卡交易", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_flux_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_flux_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收商终关系变更通知
- [HttpPost]
- [Route("/kxs2/changebind/{BrandId:int}")]
- public string ChangeBind(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "商终关系变更", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_changebind_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_changebind_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 终端费率模板变更记录
- [HttpPost]
- [Route("/kxs2/tempchange/{BrandId:int}")]
- public string TempChange(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "终端费率模板变更", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_tempchange_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_tempchange_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 首刷达标数据
- [HttpPost]
- [Route("/kxs2/first/{BrandId:int}")]
- public string First(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "首刷达标", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_first_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_first_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 换绑数据
- [HttpPost]
- [Route("/kxs2/changebinddata/{BrandId:int}")]
- public string ChangeBindData(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "换绑", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_changebinddata_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_changebinddata_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 商户SVIP会员开通和续费数据
- [HttpPost]
- [Route("/kxs2/svip/{BrandId:int}")]
- public string SVip(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "商户SVIP会员开通和续费", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_svip_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_svip_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 解绑数据
- [HttpPost]
- [Route("/kxs2/unbind/{BrandId:int}")]
- public string UnBind(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "解绑", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_unbind_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_unbind_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 修改结算卡数据
- [HttpPost]
- [Route("/kxs2/modifybankcard/{BrandId:int}")]
- public string ModifyBankCard(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "修改结算卡", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_modifybankcard_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_modifybankcard_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 提现通知
- [HttpPost]
- [Route("/kxs2/cash/{BrandId:int}")]
- public string Cash(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "提现", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_cash_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_cash_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 结算通知业务
- [HttpPost]
- [Route("/kxs2/settle/{BrandId:int}")]
- public string Settle(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "结算业务", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_settle_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_settle_list_" + BrandId + "/", fileName + ".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 手续费和秒到费
- [HttpPost]
- [Route("/kxs2/rate/{BrandId:int}")]
- public string Rate(int BrandId = 1)
- {
- StreamReader sr = new StreamReader(Request.Body);
- string requestMes = sr.ReadToEnd();
- if (string.IsNullOrEmpty(requestMes))
- {
- return "fail";
- }
- string content = Newtonsoft.Json.JsonConvert.SerializeObject(Request.Headers) + "#cut#" + requestMes;
- SaveLog(BrandId, "手续费和秒到费", content);
- string fileName = function.MD5_16(Guid.NewGuid().ToString());
- RedisDbconn.Instance.AddList("kxs_rate_list_" + BrandId, content + "#cut#" + fileName);
- // function.WritePage("/redis/kxs_rate_list_" + BrandId + "/", fileName+".txt", content);
- return BackInfo(BrandId);
- }
- #endregion
- #region 接收参数日志
- private void SaveLog(int BrandId, string KindName, string content)
- {
- if (BrandId == 2)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "开店宝" + KindName + "推送消息");
- }
- else if (BrandId == 4)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "乐刷" + KindName + "推送消息");
- }
- else if (BrandId == 6)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "立刷" + KindName + "推送消息");
- }
- else if (BrandId == 22)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "立刷微电签" + KindName + "推送消息");
- }
- else if (BrandId == 7)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "盛付通" + KindName + "推送消息");
- }
- else if (BrandId == 8)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "海科电签" + KindName + "推送消息");
- }
- else if (BrandId == 9)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "海科大POS" + KindName + "推送消息");
- }
- else if (BrandId == 10 || BrandId == 11)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "联动" + KindName + "推送消息");
- }
- else if (BrandId == 12)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "盒易付电签" + KindName + "推送消息");
- }
- else if (BrandId == 15)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "联客宝" + KindName + "推送消息");
- }
- else if (BrandId == 23)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "WIFI" + KindName + "推送消息");
- }
- else if (BrandId == 34)
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "联动掌中宝" + KindName + "推送消息");
- }
- else
- {
- LogHelper.Instance.WriteLog(DateTime.Now.ToString() + content, "金控" + KindName + "推送消息");
- }
- }
- #endregion
- #region 返回报文
- private string BackInfo(int BrandId)
- {
- if(BrandId == 34)
- {
- return "OK";
- }
- return "SUCCESS";
- }
- #endregion
- #region 解析get请求键值对
- private Dictionary<string, string> GetParams(string data)
- {
- Dictionary<string, string> result = new Dictionary<string, string>();
- string[] datalist = data.Split('&');
- foreach (string sub in datalist)
- {
- string[] subdatalist = sub.Split('=');
- result.Add(subdatalist[0], subdatalist[1]);
- }
- return result;
- }
- #endregion
- }
- }
|