lcl 4 сар өмнө
parent
commit
22726e74b9

BIN
AppStart/Helper/.DS_Store


+ 344 - 0
AppStart/Helper/SycnSpServer/SycnSpTradeTmpService.cs

@@ -0,0 +1,344 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.SpModels;
+using Library;
+using LitJson;
+using System.Threading;
+
+namespace MySystem
+{
+    public class SycnSpTradeTmpService
+    {
+        public readonly static SycnSpTradeTmpService Instance = new SycnSpTradeTmpService();
+        private SycnSpTradeTmpService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    List<string> BrandIds = new List<string>();
+                    BrandIds.Add("14");
+                    BrandIds.Add("17");
+                    BrandIds.Add("23");
+                    BrandIds.Add("24");
+                    BrandIds.Add("25");
+                    BrandIds.Add("26");
+                    WebCMSEntities spdb = new WebCMSEntities();
+                    PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+                    DateTime root = DateTime.Parse("2025-01-01 00:00:00");
+                    DateTime start = DateTime.Now.AddDays(-30);
+                    DateTime end = DateTime.Now.AddMinutes(-3);
+                    int StartId = 133391021;
+                    // if(StartId == 0) StartId = 133391021;
+                    IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id > StartId && !BrandIds.Contains(m.ProductType) && m.CreateDate >= start && m.CreateDate >= root && m.Sort == 0).OrderBy(m => m.CreateDate).Take(20);
+                    foreach (TradeRecord trade in trades.ToList())
+                    {
+                        // StartId = trade.Id;
+                        string TradeSnNo = trade.TradeSnNo;
+
+                        bool op = true;
+                        if (trade.SerEntryMode == "N" && trade.ProductType == "1") //金控押金获取
+                        {
+                            if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
+                            {
+                                op = false;                                
+                            }
+                        }
+                        else if (trade.SerEntryMode == "1" && trade.ProductType == "27") //金控押金获取
+                        {
+                            if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
+                            {
+                                op = false;
+                            }
+                        }
+                        else if ((trade.ProductType == "4" || trade.ProductType == "8" || trade.ProductType == "9") && (trade.Field2 == "5200" || trade.Field2 == "5800")) //乐刷海科费率0.52,0.58的不入库
+                        {
+                            op = false;
+                        }
+                        else if (trade.SerEntryMode == "1" && trade.ProductType == "10") //联动押金获取
+                        {
+                            if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
+                            {
+                                op = false;
+                            }
+                        }
+                        else if (trade.SerEntryMode == "40" && trade.ProductType == "12") //盒易付押金获取
+                        {
+                            if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
+                            {
+                                op = false;
+                            }
+                        }
+                        else if (trade.TradeType == "40" && trade.ProductType == "15") //联客宝押金获取
+                        {
+                            if (trade.TradeAmount == 99 || trade.TradeAmount == 199 || trade.TradeAmount == 299)
+                            {
+                                op = false;
+                            }
+                        }
+                        else if (trade.SerEntryMode == "DEPOSIT" && trade.ProductType == "30") //拉卡拉押金获取
+                        {
+                            if (trade.TradeAmount == 9900 || trade.TradeAmount == 19900 || trade.TradeAmount == 29900)
+                            {
+                                op = false;
+                            }
+                        }
+                        if (trade.DiscountRateFlag == "True")
+                        {
+                            op = false;
+                        }
+                        if(trade.ProductType == "7" && trade.TradeStatus != "00")
+                        {
+                            op = false;
+                        }
+                        if (op)
+                        {
+                            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]);
+                                    }
+                                    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;
+                                    }
+                                    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;
+                                        }
+                                    }
+                                    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();
+                                    }
+                                }
+                            }
+                        }
+                        // function.WritePage("/SycnSp/", "TradeRecordIdForHelp.txt", StartId.ToString());
+                        TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
+                        if (edit != null)
+                        {
+                            edit.Sort = 1;
+                        }
+                        spdb.SaveChanges();   
+                    }
+                    spdb.Dispose();
+                    db.Dispose();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "同步SP交易数据到助利宝异常");
+                }
+                Thread.Sleep(5000);
+            }
+        }
+    }
+}

+ 0 - 11
AppStart/Helper/SycnSpServer/SycnSpTradeWifiService.cs

@@ -110,17 +110,6 @@ namespace MySystem
                                 Id = trade.Id,
                                 Id = trade.Id,
                             });
                             });
                         }
                         }
-                        else if(trade.BankCardNo.StartsWith("8986"))
-                        {
-                            PosPushDataNewHelper.Deposit(new ActivateRecord()
-                            {
-                                SeoTitle = "0.00",
-                                ProductType = trade.ProductType,
-                                SnNo = trade.TradeSnNo,
-                                MerNo = trade.TradeSnNo,
-                                Id = trade.Id,
-                            });
-                        }
                         TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                         TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
                         if (edit != null)
                         if (edit != null)
                         {
                         {

+ 2 - 1
Startup.cs

@@ -173,7 +173,8 @@ namespace MySystem
                 SycnSpBindService.Instance.StartSim(); //同步SP广电卡绑定数据
                 SycnSpBindService.Instance.StartSim(); //同步SP广电卡绑定数据
                 SycnSpMerchantService.Instance.Start(); //同步SP商户数据
                 SycnSpMerchantService.Instance.Start(); //同步SP商户数据
                 SycnSpActiveService.Instance.Start(); //同步SP激活数据
                 SycnSpActiveService.Instance.Start(); //同步SP激活数据
-                SycnSpTradeService.Instance.Start(); //同步SP交易数据
+                SycnSpTradeService.Instance.Start(); //同步SP交易数据                
+                SycnSpTradeTmpService.Instance.Start(); //同步SP交易数据
                 SycnSpTradeWifiService.Instance.Start(); //同步WIFISP交易数据
                 SycnSpTradeWifiService.Instance.Start(); //同步WIFISP交易数据
                 SycnSpTradeZkbService.Instance.Start(); //同步吱客宝SP交易数据
                 SycnSpTradeZkbService.Instance.Start(); //同步吱客宝SP交易数据
                 SycnSpTradeService.Instance.StartSim(); //同步SP广电卡交易数据
                 SycnSpTradeService.Instance.StartSim(); //同步SP广电卡交易数据

+ 1 - 1
appsettings.json

@@ -21,7 +21,7 @@
     "Pxc1SqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsProfitServer;charset=utf8;DefaultCommandTimeout=600;",
     "Pxc1SqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsProfitServer;charset=utf8;DefaultCommandTimeout=600;",
     "ReadSqlConnStr": "server=rr-2vc53lrwpwm1ewscogo.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsProfitServer;charset=utf8;DefaultCommandTimeout=600;",
     "ReadSqlConnStr": "server=rr-2vc53lrwpwm1ewscogo.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsProfitServer;charset=utf8;DefaultCommandTimeout=600;",
     "MainSqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsStatServer;charset=utf8;",
     "MainSqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsStatServer;charset=utf8;",
-    "SpSqlConnStr": "server=jumpserver.kexiaoshuang.com;port=33061;user=f7da22b0-cf0d-4280-83fe-c492d9429f1a;password=lmCGF36Yh8EMUVbY;database=KxsSpServer;charset=utf8;",
+    "SpSqlConnStr": "server=jumpserver.kexiaoshuang.com;port=33061;user=e566294d-6a0d-4e08-ade7-4a979398ada5;password=Q5AR67o7Nz5awBbf;database=KxsSpServer;charset=utf8;",
     "OpSqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsOpServer;charset=utf8;",
     "OpSqlConnStr": "server=rm-2vcs4j67tla603c9d5o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=KxsProfitServer;password=FrW8ZfxlcaVdm1r0;database=KxsOpServer;charset=utf8;",
     "MpSqlConnStr": "server=rm-2vc27k81v217qs1t55o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer;charset=utf8;",
     "MpSqlConnStr": "server=rm-2vc27k81v217qs1t55o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer;charset=utf8;",
     "MpSqlConnStr2": "server=rm-2vc27k81v217qs1t55o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer2;charset=utf8;",
     "MpSqlConnStr2": "server=rm-2vc27k81v217qs1t55o.mysql.cn-chengdu.rds.aliyuncs.com;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateMainServer2;charset=utf8;",