|
|
@@ -104,220 +104,226 @@ namespace MySystem
|
|
|
}
|
|
|
if (op)
|
|
|
{
|
|
|
- PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == TradeSnNo);
|
|
|
- if (pos != null)
|
|
|
+ string check = RedisDbconn.Instance.Get<string>("helpprofit:" + trade.TradeSerialNo);
|
|
|
+ if(string.IsNullOrEmpty(check))
|
|
|
{
|
|
|
- PxcModels.KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new PxcModels.KqProducts();
|
|
|
- if (pos.BindMerchantId > 0)
|
|
|
+ RedisDbconn.Instance.Set("helpprofit:" + trade.TradeSerialNo, trade.TradeSerialNo);
|
|
|
+ RedisDbconn.Instance.SetExpire("helpprofit:" + trade.TradeSerialNo, 10);
|
|
|
+ PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == TradeSnNo);
|
|
|
+ if (pos != null)
|
|
|
{
|
|
|
- PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.UserId) ?? new PxcModels.Users();
|
|
|
- int TopUserId = 0;
|
|
|
- if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
+ PxcModels.KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new PxcModels.KqProducts();
|
|
|
+ if (pos.BindMerchantId > 0)
|
|
|
{
|
|
|
- TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
- }
|
|
|
- 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")
|
|
|
+ PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.UserId) ?? new PxcModels.Users();
|
|
|
+ int TopUserId = 0;
|
|
|
+ if (!string.IsNullOrEmpty(user.ParentNav))
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
}
|
|
|
- else
|
|
|
+ decimal TradeAmount = trade.TradeAmount;
|
|
|
+ int BankCardType = -1;
|
|
|
+ int QrPayFlag = 0;
|
|
|
+ int VipFlag = 0;
|
|
|
+ int PayType = 0;
|
|
|
+ if (pos.BrandId == 1 || pos.BrandId == 3)
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ 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;
|
|
|
}
|
|
|
- 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")
|
|
|
+ else if (pos.BrandId == 2)
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ if (trade.TradeType == "CREDIT_BY_CARD")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
+ if (trade.TradeType == "CLOUD_PAY") QrPayFlag = 1;
|
|
|
}
|
|
|
- else
|
|
|
+ else if (pos.BrandId == 4 || pos.BrandId == 5)
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ 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 == 7)
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "OA" || trade.BankCardType == "CC" || trade.BankCardType == "SCC")
|
|
|
+ else if (pos.BrandId == 6 || pos.BrandId == 22)
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ TradeAmount = TradeAmount / 100;
|
|
|
+ if (trade.BankCardType == "02" || trade.BankCardType == "12")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ else if (pos.BrandId == 7)
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ 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")
|
|
|
+ else if (pos.BrandId == 8 || pos.BrandId == 9)
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ 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 (trade.BankCardType == "200")
|
|
|
+ else if (pos.BrandId == 10 || pos.BrandId == 11)
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ if (trade.BankCardType == "01")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else if (trade.BankCardType == "00")
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
+ if (trade.TradeType == "F010") QrPayFlag = 1;
|
|
|
}
|
|
|
- if (trade.TradeType == "200") QrPayFlag = 1;
|
|
|
- if (trade.Field1 == "1") VipFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 10 || pos.BrandId == 11)
|
|
|
- {
|
|
|
- if (trade.BankCardType == "01")
|
|
|
+ else if (pos.BrandId == 12 || pos.BrandId == 13) //盒易付
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ if (trade.BankCardType == "C")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else if (trade.BankCardType == "D")
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
+ if (trade.Field3 == "1") QrPayFlag = 1;
|
|
|
}
|
|
|
- else if (trade.BankCardType == "00")
|
|
|
+ else if (pos.BrandId == 15 || pos.BrandId == 16) //联客宝
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ TradeAmount = TradeAmount / 100;
|
|
|
+ // 支付类型
|
|
|
+ // 01-内卡借记卡
|
|
|
+ // 02-内卡贷记卡
|
|
|
+ // 03-银联二维码
|
|
|
+ // 11-外卡借记卡
|
|
|
+ // 12-外卡贷记卡
|
|
|
+ // 30-微信
|
|
|
+ // 31-支付宝
|
|
|
+ // M3-扫码(银联二维码、微信、支付宝)
|
|
|
+ if (trade.BankCardType == "02")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
}
|
|
|
- if (trade.TradeType == "F010") QrPayFlag = 1;
|
|
|
- }
|
|
|
- else if (pos.BrandId == 12 || pos.BrandId == 13) //盒易付
|
|
|
- {
|
|
|
- if (trade.BankCardType == "C")
|
|
|
+ else if (pos.BrandId == 30 || pos.BrandId == 31) //拉卡拉
|
|
|
{
|
|
|
- BankCardType = 1;
|
|
|
+ TradeAmount = TradeAmount / 100;
|
|
|
+ if (trade.BankCardType == "01" || trade.BankCardType == "61")
|
|
|
+ {
|
|
|
+ BankCardType = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BankCardType = 0;
|
|
|
+ }
|
|
|
}
|
|
|
- else if (trade.BankCardType == "D")
|
|
|
+ int BrandId = pos.BrandId;
|
|
|
+ decimal SourceTradeAmount = TradeAmount;
|
|
|
+ decimal CheckMoney = brand.ActTradeAmount > 0 ? brand.ActTradeAmount : 1000;
|
|
|
+ //判断激活条件并激活
|
|
|
+ if (TradeAmount > 0)
|
|
|
{
|
|
|
- BankCardType = 0;
|
|
|
+ ulong 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;
|
|
|
+ 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();
|
|
|
}
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (pos.BrandId == 30 || pos.BrandId == 31) //拉卡拉
|
|
|
- {
|
|
|
- TradeAmount = TradeAmount / 100;
|
|
|
- if (trade.BankCardType == "01" || trade.BankCardType == "61")
|
|
|
- {
|
|
|
- BankCardType = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- BankCardType = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- int BrandId = pos.BrandId;
|
|
|
- decimal SourceTradeAmount = TradeAmount;
|
|
|
- decimal CheckMoney = brand.ActTradeAmount > 0 ? brand.ActTradeAmount : 1000;
|
|
|
- //判断激活条件并激活
|
|
|
- if (TradeAmount > 0)
|
|
|
- {
|
|
|
- ulong 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;
|
|
|
- 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();
|
|
|
}
|
|
|
}
|
|
|
}
|