using Library; using System.Collections.Generic; using System; using System.Linq; using LitJson; using MySystem.PxcModels; namespace MySystem { /// /// 调整机具服务费工具类 /// public class ChangePosFeeUtil { #region 金控-设置押金 public static string SetJKDeposit(string SnIds, string DepositId) { // string DepositId = "299"; string check = RedisDbconn.Instance.Get("SetJKPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetJKPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetJKPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { //判断是否存在关联数据 string content = ""; function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "金控-设置押金-返回报文"); content = PublicImportDataService.Instance.LkbSetDeposit(PosSn, decimal.Parse(DepositId)); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "金控-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "000000") { return jsonObj["message"].ToString(); } content = jsonObj["data"].ToString(); content = PublicImportDataService.Instance.LkbDecrypt(content); JsonData contentObj = JsonMapper.ToObject(content); if (contentObj["respCode"].ToString() != "00") { return contentObj["respMsg"].ToString(); } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "金控-设置押金-返回报文"); } return "设置成功"; } #endregion #region 开店宝-设置押金 public static string SetKDBDeposit(string SnIds, string DepositId) { // string DepositId = "473"; string check = RedisDbconn.Instance.Get("SetKDBPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetKDBPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetKDBPosDepositWait:" + SnIds, 10); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "开店宝-设置押金-返回报文"); string content = PublicImportDataService.Instance.ModifyDeposit(PosSn, DepositId); if (content == "fail") { return "机具" + PosSn + "设置失败"; } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "开店宝-设置押金-返回报文"); } return "设置成功"; } #endregion #region 乐刷-设置押金 public static string SetLSDeposit(string SnIds, string DepositId, string BrandId = "4") { // string DepositId = "300"; string check = RedisDbconn.Instance.Get("SetLSPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetLSPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetLSPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { string OldId = "", NewId = ""; if (DepositId == "100") { NewId = "704067039039856640"; } else if (DepositId == "200") { NewId = "709820183485095936"; } else if (DepositId == "300") { NewId = "709820390742437888"; } string content = PublicImportDataService.Instance.QueryActiveForConfig(PosSn, int.Parse(BrandId)); JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() == "0") { OldId = jsonObj["data"]["posMarket"]["id"].ToString(); } jsonObj = JsonMapper.ToObject(content); function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + OldId + ":" + NewId, "乐刷-设置押金-返回报文"); content = PublicImportDataService.Instance.SetDepositForLS(PosSn, OldId, NewId, int.Parse(BrandId)); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "乐刷-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "0") { return jsonObj["msg"].ToString(); } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "乐刷-设置押金-返回报文"); } return "设置成功"; } #endregion #region 立刷-设置押金 public static string SetLISDeposit(string SnIds, string DepositId, string BrandId = "6") { string check = RedisDbconn.Instance.Get("SetLISPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetLISPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetLISPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "立刷-设置押金-返回报文"); string content = ""; if(BrandId == "6") { content = PublicImportDataService.Instance.SetLiSDeposit(PosSn, int.Parse(DepositId)); } else { content = PublicImportDataService.Instance.SetLiSWeDeposit(PosSn, int.Parse(DepositId)); } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "立刷-设置押金-返回报文"); JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["ret_code"].ToString() != "00") { return jsonObj["ret_msg"].ToString(); } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "立刷-设置押金-返回报文"); } return "设置成功"; } #endregion #region 盛付通-设置押金 public static string SetSFTDeposit(string SnIds, string DepositId) { string check = RedisDbconn.Instance.Get("SetSFTPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetSFTPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetSFTPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "盛付通-设置押金-返回报文"); string DepositIdString = DepositId; if(DepositIdString == "0") DepositIdString = "000"; // if(DepositId == "0") // { // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo(); // if(!string.IsNullOrEmpty(merchant.KqMerNo)) // { // string back = PublicImportDataService.Instance.SftSnBindOrUnbind(PosSn, merchant.KqMerNo); // function.WriteLog("back:" + back, "盛付通-设置押金-返回报文"); // } // } string content = PublicImportDataService.Instance.SetDepositForSft(PosSn, "2024POS" + DepositIdString); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "盛付通-设置押金-返回报文"); JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["respCode"].ToString() != "00") { return jsonObj["errorMsg"].ToString(); } } return "设置成功"; } #endregion #region 海科-设置押金 public static string SetHKDeposit(string SnIds, string DepositId, string BrandId = "8") { // string DepositId = "300"; string check = RedisDbconn.Instance.Get("SetHKPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetHKPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetHkPosDepositWait:" + SnIds, 10); WebCMSEntities db = new WebCMSEntities(); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { string OldId = "", NewId = ""; if (DepositId == "100") { NewId = BrandId == "8" ? "202207011718129" : "202207011718197"; } else if (DepositId == "200") { NewId = BrandId == "8" ? "747200504467566592" : "747199934126108672"; } else if (DepositId == "300") { NewId = BrandId == "8" ? "747193472108732416" : "747193820156276736"; } string content = PublicImportDataService.Instance.QueryActiveForConfigHK(PosSn, int.Parse(BrandId)); JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() == "0") { OldId = jsonObj["data"]["posMarket"]["id"].ToString(); } jsonObj = JsonMapper.ToObject(content); function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + OldId + ":" + NewId, "海科-设置押金-返回报文"); content = PublicImportDataService.Instance.SetDepositForHK(PosSn, OldId, NewId, int.Parse(BrandId)); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "海科-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "0") { return jsonObj["msg"].ToString(); } } return "设置成功"; } #endregion #region 联动-设置押金 public static string SetLDDeposit(string SnIds, string DepositId, string BrandId = "10") { // string DepositId = "299"; string check = RedisDbconn.Instance.Get("SetLDPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetLDPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetLDPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "联动-设置押金-返回报文"); string content = PublicImportDataService.Instance.LDServiceFee(PosSn, int.Parse(DepositId), int.Parse(BrandId)); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "联动-设置押金-返回报文"); JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "000000") { return jsonObj["msg"].ToString(); } } return "设置成功"; } #endregion #region 盒易付-设置押金 public static string SetHYFDeposit(string SnIds, string DepositId, string UserId = "0") { // string DepositId = "299"; string check = RedisDbconn.Instance.Get("SetHYFPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetHYFPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetHYFPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "盒易付-设置押金-返回报文"); string content = PublicImportDataService.Instance.BoxServiceFee(PosSn, DepositId, int.Parse(UserId)); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "盒易付-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["resultCode"].ToString() != "1") { return jsonObj["errorDesc"].ToString(); } } return "设置成功"; } #endregion #region POSP-设置押金 public static string SetPosPDeposit(string SnIds, string DepositId) { string policy_code = ""; string policy_name = ""; if(DepositId == "0") { policy_code = "LKB_000"; policy_name = "联客宝"; } else if(DepositId == "99") { policy_code = "LKB_99"; policy_name = "联客宝"; } else if(DepositId == "199") { policy_code = "LKB_199"; policy_name = "联客宝"; } else if(DepositId == "299") { policy_code = "LKB_299"; policy_name = "联客宝299押金"; } string check = RedisDbconn.Instance.Get("SetPosPDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetPosPDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetPosPDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "POSP-设置押金-返回报文"); List PosList = new List(); PosList.Add(PosSn); string content = PublicImportDataService.Instance.PospServiceFee(PosList, policy_code, policy_name); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "POSP-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "200") { return "设置失败"; } } return "设置成功"; } #endregion #region 拉卡拉-设置押金 public static string SetLKLDeposit(string SnIds, string DepositId, int BrandId) { string check = RedisDbconn.Instance.Get("SetLKLPosDepositWait:" + SnIds); if (!string.IsNullOrEmpty(check)) { return "操作频繁,请稍后再试"; } RedisDbconn.Instance.Set("SetLKLPosDepositWait:" + SnIds, SnIds); RedisDbconn.Instance.SetExpire("SetLKLPosDepositWait:" + SnIds, 10); Dictionary Obj = new Dictionary(); string[] SnIdList = SnIds.Split(','); foreach (string PosSn in SnIdList) { //判断是否存在关联数据 string content = ""; function.WriteLog(DateTime.Now.ToString() + ":请求参数," + PosSn + ":" + DepositId, "拉卡拉-设置押金-返回报文"); content = PublicImportDataService.Instance.LkLSetDeposit(PosSn, decimal.Parse(DepositId), BrandId); function.WriteLog(DateTime.Now.ToString() + "\n" + content, "拉卡拉-设置押金-返回报文"); if (content == "fail") { return "机具" + PosSn + "设置失败"; } JsonData jsonObj = JsonMapper.ToObject(content); if (jsonObj["code"].ToString() != "000000") { return jsonObj["message"].ToString(); } content = jsonObj["data"].ToString(); content = PublicImportDataService.Instance.LklDecrypt(content); if (!content.ToLower().Contains("success")) { return content; } function.WriteLog(DateTime.Now.ToString() + "\n" + content, "拉卡拉-设置押金-返回报文"); } return "设置成功"; } #endregion } }