|
@@ -60,23 +60,6 @@ namespace MySystem
|
|
|
if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
PosPushDataNewHelper.Deposit(trade);
|
|
|
}
|
|
|
}
|
|
@@ -85,58 +68,18 @@ namespace MySystem
|
|
|
if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
PosPushDataNewHelper.Deposit(trade);
|
|
|
}
|
|
|
}
|
|
|
else if ((trade.ProductType == "4" || trade.ProductType == "8" || trade.ProductType == "9") && (trade.Field2 == "5200" || trade.Field2 == "5800")) //乐刷海科费率0.52,0.58的不入库
|
|
|
{
|
|
|
op = false;
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
}
|
|
|
else if (trade.SerEntryMode == "1" && trade.ProductType == "10") //联动押金获取
|
|
|
{
|
|
|
if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
PosPushDataNewHelper.Deposit(trade);
|
|
|
}
|
|
|
}
|
|
@@ -145,34 +88,6 @@ namespace MySystem
|
|
|
if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
|
|
|
- db.MerchantDepositRecord.Add(new PxcModels.MerchantDepositRecord()
|
|
|
- {
|
|
|
- CreateDate = DateTime.Now,
|
|
|
- SnNo = pos.PosSn,
|
|
|
- MerNo = function.CheckNull(merchant.KqMerNo),
|
|
|
- DepositAmount = trade.TradeAmount,
|
|
|
- UserId = pos.BuyUserId,
|
|
|
- AgentNo = function.CheckNull(merchant.MgrNo),
|
|
|
- OrderId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
|
|
|
- });
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
PosPushDataNewHelper.Deposit(trade);
|
|
|
}
|
|
|
}
|
|
@@ -181,34 +96,6 @@ namespace MySystem
|
|
|
if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
|
|
|
- db.MerchantDepositRecord.Add(new PxcModels.MerchantDepositRecord()
|
|
|
- {
|
|
|
- CreateDate = DateTime.Now,
|
|
|
- SnNo = pos.PosSn,
|
|
|
- MerNo = merchant.KqMerNo,
|
|
|
- DepositAmount = trade.TradeAmount,
|
|
|
- UserId = pos.BuyUserId,
|
|
|
- AgentNo = function.CheckNull(merchant.MgrNo),
|
|
|
- OrderId = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
|
|
|
- });
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
PosPushDataNewHelper.Deposit(trade);
|
|
|
}
|
|
|
}
|
|
@@ -217,23 +104,6 @@ namespace MySystem
|
|
|
if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
|
|
|
{
|
|
|
op = false;
|
|
|
- PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new PxcModels.MachineForSnNo();
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- if(string.IsNullOrEmpty(pos.SeoKeyword)) Utils.Instance.SendActData(pos);
|
|
|
- pos.SeoKeyword = trade.TradeAmount.ToString("f2");
|
|
|
- db.SaveChanges();
|
|
|
- isDeposit = true;
|
|
|
- function.WriteLog("押金监控:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
-
|
|
|
if(trade.ProductType == "30")
|
|
|
{
|
|
|
PxcModels.LklMerNo mer = db.LklMerNo.FirstOrDefault(m => m.ExtMerNo == trade.MerNo);
|
|
@@ -248,22 +118,10 @@ namespace MySystem
|
|
|
if (trade.DiscountRateFlag == "True")
|
|
|
{
|
|
|
op = false;
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
}
|
|
|
if(trade.ProductType == "7" && trade.TradeStatus != "00")
|
|
|
{
|
|
|
op = false;
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
}
|
|
|
if (op)
|
|
|
{
|
|
@@ -276,435 +134,13 @@ namespace MySystem
|
|
|
}
|
|
|
PosPushDataNewHelper.Trade(trade);
|
|
|
}
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == TradeSnNo);
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- PxcModels.KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new PxcModels.KqProducts();
|
|
|
- if (pos.BindMerchantId > 0)
|
|
|
- {
|
|
|
- PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.UserId) ?? new PxcModels.Users();
|
|
|
- int TopUserId = 0;
|
|
|
- if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
- {
|
|
|
- TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
- }
|
|
|
- if (!check)
|
|
|
- {
|
|
|
- decimal TradeAmount = trade.TradeAmount;
|
|
|
- int BankCardType = -1;
|
|
|
- int QrPayFlag = 0;
|
|
|
- int VipFlag = 0;
|
|
|
- int PayType = 0;
|
|
|
- if (pos.BrandId == 1 || pos.BrandId == 3)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- BankCardType = int.Parse(trade.BankCardType);
|
|
|
- if (trade.TradeType == "02") QrPayFlag = 1;
|
|
|
- else if (trade.TradeType == "NQ") PayType = 1;
|
|
|
- if (trade.SettleMethod == "E") VipFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 2)
|
|
|
- {
|
|
|
- if (trade.TradeType == "CREDIT_BY_CARD")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- if (trade.TradeType == "CLOUD_PAY") QrPayFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 4 || pos.BrandId == 5)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "100")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else if (trade.BankCardType == "200")
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- if (trade.TradeType == "200") QrPayFlag = 1;
|
|
|
- if (trade.Field1 == "1") VipFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 6 || pos.BrandId == 22)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "02" || trade.BankCardType == "12")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (pos.BrandId == 7)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "OA" || trade.BankCardType == "CC" || trade.BankCardType == "SCC")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (pos.BrandId == 8 || pos.BrandId == 9)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "100")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else if (trade.BankCardType == "200")
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- if (trade.TradeType == "200") QrPayFlag = 1;
|
|
|
- if (trade.Field1 == "1") VipFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 10 || pos.BrandId == 11)
|
|
|
- {
|
|
|
- if (trade.BankCardType == "01")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else if (trade.BankCardType == "00")
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- if (trade.TradeType == "F010") QrPayFlag = 1;
|
|
|
- PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
|
|
|
- if(merchant != null)
|
|
|
- {
|
|
|
- bool flag = false;
|
|
|
- if(function.CheckNull(merchant.MerchantName).Contains("*")) merchant.MerchantName = trade.MerName;
|
|
|
- if(string.IsNullOrEmpty(merchant.MerIdcardNo) && !string.IsNullOrEmpty(trade.Field2))
|
|
|
- {
|
|
|
- merchant.MerIdcardNo = trade.Field2.ToUpper(); //商户身份证号
|
|
|
- flag = true;
|
|
|
- }
|
|
|
- if(!string.IsNullOrEmpty(trade.Field1))
|
|
|
- {
|
|
|
- merchant.MerchantMobile = trade.Field1; //商户手机号
|
|
|
- }
|
|
|
- if(flag)
|
|
|
- {
|
|
|
- string startNo = merchant.MerIdcardNo.Substring(0, 6);
|
|
|
- string endNo = merchant.MerIdcardNo.Substring(merchant.MerIdcardNo.Length - 4, 4).ToUpper();
|
|
|
- string Name = merchant.MerchantName;
|
|
|
- Name = Name.Replace("*", "");
|
|
|
- function.WriteLog(DateTime.Now.ToString() + "-----startNo:" + startNo + ",endNo:" + endNo + ",Name:" + Name, "监控机具是否互斥");
|
|
|
- PxcModels.PosMerchantInfo chk = db.PosMerchantInfo.FirstOrDefault(m => m.MerIdcardNo.StartsWith(startNo) && m.MerIdcardNo.EndsWith(endNo) && m.MerchantName.Contains(Name));
|
|
|
- if(chk != null)
|
|
|
- {
|
|
|
- function.WriteLog("互斥机具---sn:" + chk.KqSnNo + ",merno:" + chk.KqMerNo + ",name:" + chk.MerchantName, "监控机具是否互斥");
|
|
|
- pos.IsFirst = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- }
|
|
|
- else if (pos.BrandId == 12 || pos.BrandId == 13) //盒易付
|
|
|
- {
|
|
|
- if (trade.BankCardType == "C")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else if (trade.BankCardType == "D")
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- if (trade.Field3 == "1") QrPayFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 15 || pos.BrandId == 16) //联客宝
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- // 支付类型
|
|
|
- // 01-内卡借记卡
|
|
|
- // 02-内卡贷记卡
|
|
|
- // 03-银联二维码
|
|
|
- // 11-外卡借记卡
|
|
|
- // 12-外卡贷记卡
|
|
|
- // 30-微信
|
|
|
- // 31-支付宝
|
|
|
- // M3-扫码(银联二维码、微信、支付宝)
|
|
|
- if (trade.BankCardType == "02")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- // if (trade.SerEntryMode == "1") QrPayFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 30 || pos.BrandId == 31) //拉卡拉
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "01" || trade.BankCardType == "61")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- // if (trade.SerEntryMode == "1") QrPayFlag = 1;
|
|
|
- }
|
|
|
- int BrandId = pos.BrandId;
|
|
|
- // int BrandId = int.Parse(trade.ProductType);
|
|
|
- // if (BrandId == 1 && trade.MerNo.StartsWith("M900"))
|
|
|
- // {
|
|
|
- // BrandId = 3;
|
|
|
- // }
|
|
|
- // if (BrandId == 4 && trade.DeviceType == "200")
|
|
|
- // {
|
|
|
- // BrandId = 5;
|
|
|
- // }
|
|
|
- decimal SourceTradeAmount = TradeAmount;
|
|
|
- if (pos.Sort == 0 && pos.BrandId == 7)
|
|
|
- {
|
|
|
- decimal deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
|
|
|
- if (deposit > 0)
|
|
|
- {
|
|
|
- int SftStartId = RedisDbconn.Instance.Get<int>("SftTradeChkId");
|
|
|
- PxcModels.TradeRecord chk = db.TradeRecord.FirstOrDefault(m => m.Id > SftStartId && m.SnNo == pos.PosSn);
|
|
|
- if(chk == null)
|
|
|
- {
|
|
|
- TradeAmount -= deposit;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- chk.TradeAmount -= deposit;
|
|
|
- }
|
|
|
- pos.Sort = 1;
|
|
|
- }
|
|
|
- }
|
|
|
- decimal CheckMoney = brand.ActTradeAmount > 0 ? brand.ActTradeAmount : 1000;
|
|
|
- int CheckDays = 30;
|
|
|
- //联动
|
|
|
- if(BankCardType == 1 && trade.TradeType == "M015" && (pos.BrandId == 10 || pos.BrandId == 11))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //盒易付
|
|
|
- else if(BankCardType == 1 && trade.TradeType == "0" && trade.SerEntryMode != "40" && (pos.BrandId == 12 || pos.BrandId == 13))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //联客宝
|
|
|
- else if(BankCardType == 1 && trade.TradeType != "40" && (pos.BrandId == 15 || pos.BrandId == 16))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //金控
|
|
|
- else if((BankCardType == 1 || BankCardType == 2) && (pos.BrandId == 1 || pos.BrandId == 3))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //开店宝
|
|
|
- else if (BankCardType == 1 && pos.BrandId == 2)
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //乐刷or海科
|
|
|
- else if (BankCardType == 1 && (trade.TradeType == "100" || trade.TradeType == "200" || trade.TradeType == "300" || trade.TradeType == "400" || trade.TradeType == "500" || trade.TradeType == "600") && (pos.BrandId == 4 || pos.BrandId == 5 || pos.BrandId == 8 || pos.BrandId == 9))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //立刷
|
|
|
- else if(BankCardType == 1 && trade.Field2 == "0104" && (pos.BrandId == 6 || pos.BrandId == 22))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //盛付通
|
|
|
- else if(BankCardType == 1 && pos.BrandId == 7)
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //拉卡拉
|
|
|
- else if(BankCardType == 1 && (pos.BrandId == 30 || pos.BrandId == 31))
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- //广电卡
|
|
|
- else if(pos.BrandId == 14)
|
|
|
- {
|
|
|
- pos.CreditTrade += SourceTradeAmount;
|
|
|
- }
|
|
|
- else if (BankCardType == 0)
|
|
|
- {
|
|
|
- pos.DebitCardTrade += TradeAmount;
|
|
|
- }
|
|
|
- //判断激活条件并激活
|
|
|
- ActPos(db, pos, CheckMoney, CheckDays);
|
|
|
- if (TradeAmount > 0)
|
|
|
- {
|
|
|
- ulong MerHelpFlag = 0;
|
|
|
- decimal DepositAmt = decimal.Parse(function.CheckNum(pos.SeoKeyword));
|
|
|
- if (pos.DownFeeFlag == 1)
|
|
|
- {
|
|
|
- if (pos.DownFee == 0.6M)
|
|
|
- {
|
|
|
- MerHelpFlag = 3;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MerHelpFlag = 2;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (pos.IsFirst == 1 || pos.BrandId == 14)
|
|
|
- {
|
|
|
- string DayString = RedisDbconn.Instance.Get<string>("pobjrule:1:HelpPolicy:Days");
|
|
|
- int Days = int.Parse(DayString); //天数
|
|
|
- if (pos.BindingTime != null)
|
|
|
- {
|
|
|
- DateTime CheckTime = pos.BindingTime.Value.AddDays(Days);
|
|
|
- if(pos.BrandId == 7)
|
|
|
- {
|
|
|
- CheckTime = DateTime.Parse(pos.BindingTime.Value.AddDays(Days + 1).ToString("yyyy-MM-dd") + " 03:00:00");
|
|
|
- }
|
|
|
- if (CheckTime > DateTime.Now)
|
|
|
- {
|
|
|
- MerHelpFlag = 1;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if((pos.BrandId == 12 || pos.BrandId == 13) && pos.UpFeeFlag == 1 && pos.DownFeeFlag == 0)
|
|
|
- {
|
|
|
- MerHelpFlag = 2;
|
|
|
- }
|
|
|
- if((pos.BrandId == 10 || pos.BrandId == 11) && trade.TradeType == "T015" && MerHelpFlag == 1)
|
|
|
- {
|
|
|
- MerHelpFlag = 0;
|
|
|
- }
|
|
|
- int CapFlag = 0;
|
|
|
- if(BankCardType == 0 && TradeAmount >= 1666.67M)
|
|
|
- {
|
|
|
- CapFlag = 1;
|
|
|
- }
|
|
|
- string HelpProfitFlag = "";
|
|
|
- bool checkHelpProfit = db.HelpProfitMerchantForUser.Any(m => m.MerchantId == pos.BindMerchantId);
|
|
|
- if(checkHelpProfit)
|
|
|
- {
|
|
|
- HelpProfitFlag = "HelpProfit";
|
|
|
- }
|
|
|
- int ActStatus = pos.ActivationState;
|
|
|
- // if(BrandId == 4 || BrandId == 5 || BrandId == 8 || BrandId == 9)
|
|
|
- // {
|
|
|
- // ActStatus = GetLeShuaHaiKe(pos.UserId, BrandId);
|
|
|
- // }
|
|
|
- int Version = 0;
|
|
|
- if(MerHelpFlag == 2) Version = 1;
|
|
|
- if(MerHelpFlag == 3) Version = 2;
|
|
|
- //盒易付和来客吧电签,稳定期自动转到稳定期A
|
|
|
- if((pos.BrandId == 12 || pos.BrandId == 13) && MerHelpFlag == 0 && Version == 0)
|
|
|
- {
|
|
|
- Version = 1;
|
|
|
- }
|
|
|
- if(Utils.Instance.IsWifi(pos.BrandId))
|
|
|
- {
|
|
|
- MerHelpFlag = 1;
|
|
|
- Version = 0;
|
|
|
- }
|
|
|
- decimal SettleFee = trade.SettleFee * 100;
|
|
|
- PxcModels.TradeRecord add = db.TradeRecord.Add(new PxcModels.TradeRecord()
|
|
|
- {
|
|
|
- ParentNav = user.ParentNav,
|
|
|
- CreateDate = trade.CreateDate,
|
|
|
- UpdateDate = trade.UpdateDate,
|
|
|
- RecordNo = trade.TradeSerialNo, //单号
|
|
|
- UserId = pos.UserId, //创客
|
|
|
- MerchantId = pos.BindMerchantId, //商户
|
|
|
- MerNo = trade.MerNo, //渠道商户编号
|
|
|
- MerHelpFlag = MerHelpFlag >= 2 ? 1 : MerHelpFlag, //1扶持周,0稳定期,2盈利期
|
|
|
- HelpMonthCount = 0, //扶持第几个月
|
|
|
- MerBuddyType = user.MerchantType, //商户创客类型
|
|
|
- SnNo = TradeSnNo, //渠道SN号
|
|
|
- TradeSerialNo = trade.ChannelSerial, //交易流水号
|
|
|
- TradeAmount = TradeAmount, //交易金额
|
|
|
- BankCardType = BankCardType, //银行卡类型
|
|
|
- QrPayFlag = QrPayFlag, //云闪付标识
|
|
|
- CapFlag = CapFlag, //借记卡是否封顶
|
|
|
- VipFlag = VipFlag, //会员标记
|
|
|
- PayType = PayType, //支付方式
|
|
|
- BrandId = BrandId, //品牌
|
|
|
- Remark = trade.TradeType == "2" && trade.ProductType == "12" ? "吱码SN:" + trade.TradeSnNo : trade.Remark, //备注
|
|
|
- TopUserId = TopUserId, //顶级创客
|
|
|
- MerUserId = pos.UserId, //商户直属创客M
|
|
|
- SeoTitle = HelpProfitFlag,
|
|
|
- Version = Version,
|
|
|
- ActStatus = ActStatus,
|
|
|
- CreateMan = trade.AgentNo,
|
|
|
- UpdateMan = trade.BankCardType,
|
|
|
- SeoKeyword = trade.SerEntryMode,
|
|
|
- SeoDescription = trade.TradeType,
|
|
|
- Sort = (int)SettleFee,
|
|
|
- TradeDate = pos.BindingTime,
|
|
|
- }).Entity;
|
|
|
- db.SaveChanges();
|
|
|
- string TradeMonth = trade.CreateDate == null ? DateTime.Now.ToString("yyyyMM") : trade.CreateDate.Value.ToString("yyyyMM");
|
|
|
- PublicFunction.SplitTradeRecord(add, TradeMonth);
|
|
|
-
|
|
|
- //统计商户交易额
|
|
|
- string TradeDate = trade.CreateDate == null ? DateTime.Now.ToString("yyyyMMdd") : trade.CreateDate.Value.ToString("yyyyMMdd");
|
|
|
- RedisDbconn.Instance.AddList("StatMerTradeAmountQueue", "{\"TradeDate\":\"" + TradeDate + "\",\"TradeAmount\":\"" + TradeAmount + "\",\"MerchantId\":\"" + pos.BindMerchantId + "\",\"BrandId\":\"" + BrandId + "\"}");
|
|
|
- }
|
|
|
- db.SpOrderNos.Add(new PxcModels.SpOrderNos()
|
|
|
- {
|
|
|
- OrderNo = trade.TradeSerialNo
|
|
|
- });
|
|
|
- db.SaveChanges();
|
|
|
-
|
|
|
- // 推荐王逻辑(交易)
|
|
|
- // if(TradeAmount > 0)
|
|
|
- // {
|
|
|
- // string Send = "{\"Kind\":\"4\",\"Data\":{\"PosId\":\"" + pos.Id + "\",\"TradeMonth\":\"" + trade.CreateDate.Value.ToString("yyyyMM") + "\",\"TradeAmount\":\"" + TradeAmount + "\"}}";
|
|
|
- // RedisDbconn.Instance.AddList("RecommendActStatQueue", Send);
|
|
|
- // }
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 0;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
+
|
|
|
+ TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
+ if (edit != null)
|
|
|
{
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 0;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
+ edit.Status = 2;
|
|
|
}
|
|
|
- }
|
|
|
- if(isDeposit)
|
|
|
- {
|
|
|
- // function.WriteLog("押金收到:" + trade.MerNo, "服务费奖励发放日志");
|
|
|
- // PxcModels.MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == trade.MerNo) ?? new PxcModels.MachineForMerNo();
|
|
|
- // function.WriteLog("MachineForMerNo:" + posFor.MerNo, "服务费奖励发放日志");
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == TradeSnNo) ?? new PxcModels.PosMachinesTwo();
|
|
|
- function.WriteLog("PosMachinesTwo:" + pos.PosSn, "服务费奖励发放日志");
|
|
|
- PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
|
|
|
- function.WriteLog("PosMerchantInfo:" + merchant.KqMerNo, "服务费奖励发放日志");
|
|
|
- StatService.Instance.PreActPrize(db, pos, merchant, pos.SeoKeyword);
|
|
|
+ spdb.SaveChanges();
|
|
|
}
|
|
|
}
|
|
|
spdb.Dispose();
|
|
@@ -741,121 +177,14 @@ namespace MySystem
|
|
|
bool op = true;
|
|
|
if (op)
|
|
|
{
|
|
|
- // PxcModels.MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == trade.MerNo) ?? new PxcModels.MachineForMerNo();
|
|
|
PosPushDataNewHelper.Trade(trade);
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == trade.TradeSnNo);
|
|
|
- if (pos == null)
|
|
|
- {
|
|
|
- PxcModels.PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == trade.MerNo && m.BrandId == 14 && m.KqSnNo.StartsWith("CS")) ?? new PxcModels.PosMerchantInfo();
|
|
|
- pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == mer.KqSnNo);
|
|
|
- }
|
|
|
- if (pos != null)
|
|
|
- {
|
|
|
- PxcModels.KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new PxcModels.KqProducts();
|
|
|
- if (pos.BindMerchantId > 0)
|
|
|
- {
|
|
|
- PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.UserId) ?? new PxcModels.Users();
|
|
|
- int TopUserId = 0;
|
|
|
- if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
- {
|
|
|
- TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
- }
|
|
|
- bool check = db.SpOrderNos.Any(m => m.OrderNo == trade.TradeSerialNo);
|
|
|
- if (!check)
|
|
|
- {
|
|
|
- decimal TradeAmount = trade.TradeAmount;
|
|
|
- int BankCardType = -1;
|
|
|
- int QrPayFlag = 0;
|
|
|
- int VipFlag = 0;
|
|
|
- int PayType = 0;
|
|
|
- BankCardType = int.Parse(trade.BankCardType);
|
|
|
- int BrandId = pos.BrandId;
|
|
|
- decimal SourceTradeAmount = TradeAmount;
|
|
|
- if (TradeAmount > 0)
|
|
|
- {
|
|
|
- ulong MerHelpFlag = 0;
|
|
|
- string DayString = RedisDbconn.Instance.Get<string>("pobjrule:" + pos.BrandId + ":HelpPolicy:Days");
|
|
|
- int Days = int.Parse(DayString); //天数
|
|
|
- if (pos.BindingTime != null)
|
|
|
- {
|
|
|
- if (pos.BindingTime.Value.AddDays(Days) > DateTime.Now)
|
|
|
- {
|
|
|
- MerHelpFlag = 1;
|
|
|
- }
|
|
|
- }
|
|
|
- int ActStatus = pos.ActivationState;
|
|
|
- decimal SettleFee = trade.SettleFee * 100;
|
|
|
- PxcModels.TradeRecord add = db.TradeRecord.Add(new PxcModels.TradeRecord()
|
|
|
- {
|
|
|
- ParentNav = user.ParentNav,
|
|
|
- CreateDate = trade.CreateDate,
|
|
|
- UpdateDate = trade.UpdateDate,
|
|
|
- RecordNo = trade.TradeSerialNo, //单号
|
|
|
- UserId = pos.UserId, //创客
|
|
|
- MerchantId = pos.BindMerchantId, //商户
|
|
|
- MerNo = trade.MerNo, //渠道商户编号
|
|
|
- MerHelpFlag = MerHelpFlag >= 2 ? 1 : MerHelpFlag, //1扶持周,0稳定期,2盈利期
|
|
|
- HelpMonthCount = 0, //扶持第几个月
|
|
|
- MerBuddyType = user.MerchantType, //商户创客类型
|
|
|
- SnNo = trade.TradeSnNo, //渠道SN号
|
|
|
- TradeSerialNo = trade.ChannelSerial, //交易流水号
|
|
|
- TradeAmount = TradeAmount, //交易金额
|
|
|
- BankCardType = BankCardType, //银行卡类型
|
|
|
- QrPayFlag = QrPayFlag, //云闪付标识
|
|
|
- VipFlag = VipFlag, //会员标记
|
|
|
- PayType = PayType, //支付方式
|
|
|
- BrandId = BrandId, //品牌
|
|
|
- Remark = trade.Remark, //备注
|
|
|
- TopUserId = TopUserId, //顶级创客
|
|
|
- MerUserId = pos.UserId, //商户直属创客
|
|
|
- ActStatus = ActStatus,
|
|
|
- CreateMan = trade.AgentNo,
|
|
|
- UpdateMan = trade.BankCardType,
|
|
|
- SeoKeyword = trade.SerEntryMode,
|
|
|
- SeoDescription = trade.TradeType,
|
|
|
- Sort = (int)SettleFee,
|
|
|
- TradeDate = pos.BindingTime,
|
|
|
- }).Entity;
|
|
|
- db.SaveChanges();
|
|
|
- string TradeMonth = trade.CreateDate == null ? DateTime.Now.ToString("yyyyMM") : trade.CreateDate.Value.ToString("yyyyMM");
|
|
|
- PublicFunction.SplitTradeRecord(add, TradeMonth);
|
|
|
-
|
|
|
- //统计商户交易额
|
|
|
- string TradeDate = trade.CreateDate == null ? DateTime.Now.ToString("yyyyMMdd") : trade.CreateDate.Value.ToString("yyyyMMdd");
|
|
|
- RedisDbconn.Instance.AddList("StatMerTradeAmountQueue", "{\"TradeDate\":\"" + TradeDate + "\",\"TradeAmount\":\"" + TradeAmount + "\",\"MerchantId\":\"" + pos.BindMerchantId + "\",\"BrandId\":\"" + BrandId + "\"}");
|
|
|
- }
|
|
|
- db.SpOrderNos.Add(new PxcModels.SpOrderNos()
|
|
|
- {
|
|
|
- OrderNo = trade.TradeSerialNo
|
|
|
- });
|
|
|
- db.SaveChanges();
|
|
|
- }
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 2;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 0;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
+
|
|
|
+ TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
+ if (edit != null)
|
|
|
{
|
|
|
- TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
|
|
|
- if (edit != null)
|
|
|
- {
|
|
|
- edit.Status = 0;
|
|
|
- }
|
|
|
- spdb.SaveChanges();
|
|
|
+ edit.Status = 2;
|
|
|
}
|
|
|
+ spdb.SaveChanges();
|
|
|
}
|
|
|
}
|
|
|
spdb.Dispose();
|