Bladeren bron

清除推送以外的逻辑

lcl 5 maanden geleden
bovenliggende
commit
a6515d965a

BIN
.DS_Store


+ 20 - 0
AppStart/Helper/PosPushDataNewHelper.cs

@@ -33,6 +33,26 @@ namespace MySystem
                 function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString() + "\n\n", "推送绑定数据异常");
             }
         }
+        public static void Bind0(BindRecord mer)
+        {
+            try
+            {
+                Dictionary<string, object> dataContent = new Dictionary<string, object>();
+                dataContent.Add("pos_sn", mer.MerSnNo); //机具sn
+                dataContent.Add("mer_no", mer.MerNo); //商户号
+                dataContent.Add("id_card", ""); //商户身份证
+                dataContent.Add("mer_name", mer.MerName); //商户姓名
+                dataContent.Add("mer_mobile", mer.MerNo); //商户手机号
+                dataContent.Add("request_id", getRequestId(mer.Id, "bind")); //流水号
+                dataContent.Add("bind_time", mer.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); //绑定时间
+                dataContent.Add("brand", int.Parse(function.CheckInt(mer.ProductType))); //品牌
+                Push("bind", dataContent);
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString() + "\n\n", "推送绑定数据异常");
+            }
+        }
         public static void Bind2(MerchantRecord mer)
         {
             try

+ 4 - 265
AppStart/Helper/SycnSpServer/SycnSpActiveService.cs

@@ -38,273 +38,12 @@ namespace MySystem
                     IQueryable<ActivateRecord> acts = spdb.ActivateRecord.Where(m => m.Id >= StartId && m.CreateDate >= start && m.CreateDate < end && m.Status == 1).OrderByDescending(m => m.Id).Take(20);
                     foreach (ActivateRecord act in acts.ToList())
                     {
-                        // PxcModels.MachineForMerNo posFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == act.MerNo) ?? new PxcModels.MachineForMerNo();
                         PosPushDataNewHelper.Deposit(act);
-                        PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == act.SnNo && m.BindingTime != null);
-                        if (pos != null)
+                        
+                        ActivateRecord edit = spdb.ActivateRecord.FirstOrDefault(m => m.Id == act.Id);
+                        if (edit != null)
                         {
-                            if(Utils.Instance.IsHaoDa(pos.BrandId))
-                            {
-                                pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == act.SnNo && m.BindingTime != null);
-                            }
-                        }
-                        if (pos != null)
-                        {
-                            PxcModels.KqProducts kqproduct = db.KqProducts.FirstOrDefault(m => m.Id == pos.BrandId) ?? new PxcModels.KqProducts();
-                            if (kqproduct.SingleDepositApi == 1)
-                            {
-                                if(string.IsNullOrEmpty(pos.SeoKeyword) && decimal.Parse(function.CheckNum(act.SeoTitle)) > 0) Utils.Instance.SendActData(pos);
-                                pos.SeoKeyword = act.SeoTitle;
-                                decimal Deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                if(Deposit > 1000) Deposit = Deposit / 100;
-                                pos.PrizeParams = Deposit.ToString("f0");
-                                if(pos.BrandId == 15 || pos.BrandId == 16) //来客吧
-                                {
-                                    pos.Detail = ""; //清除激活奖励标记
-                                    RedisDbconn.Instance.AddList("OpenRewardQueue", pos.Id.ToString()); //发开机奖励
-                                }
-                                db.SaveChanges();
-                                PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
-                                if(!Utils.Instance.IsHaoDa(pos.BrandId)) //来客吧
-                                {
-                                    StatService.Instance.PreActPrize(db, pos, merchant, act.SeoTitle);
-                                }
-                            }
-
-                            if(pos.BrandId == 7 || pos.BrandId == 12 || pos.BrandId == 13 || pos.BrandId == 15 || pos.BrandId == 16 || pos.BrandId == 22)
-                            {
-                                decimal CheckMoney = kqproduct.ActTradeAmount > 0 ? kqproduct.ActTradeAmount : 1000;
-                                int CheckDays = 30;
-                                SycnSpTradeService.Instance.ActPos(db, pos, CheckMoney, CheckDays);
-                                if(pos.ActivationState == 1)
-                                {
-                                    decimal Deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                    DateTime now = DateTime.Now;
-
-                                    if(Deposit > 1000) Deposit = Deposit / 100;
-                                    pos.PrizeParams = Deposit.ToString("f0");
-
-                                    function.WriteLog("大盟主---Deposit:" + Deposit + ";LeaderUserId:" + pos.LeaderUserId + ";pos.IsFirst:" + pos.IsFirst + ";pos.BindingTime:" + pos.BindingTime + ";now.AddDays(-CheckDays):" + now.AddDays(-CheckDays) + ";", "押金推送发放奖励监控");
-                                    if (Deposit > 0 && pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > now.AddDays(-CheckDays) && pos.CardType < 100)
-                                    {
-                                        function.WriteLog("大盟主奖发放", "押金推送发放奖励监控");
-                                        RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
-                                    }
-                                    //发放运营中心奖励
-                                    if (Deposit > 0 && pos.BindingTime > now.AddDays(-CheckDays) && pos.CardType < 100)
-                                    {
-                                        function.WriteLog("运营中心奖发放", "押金推送发放奖励监控");
-                                        RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
-                                    }
-                                }
-                            }
-                            if(Utils.Instance.IsHaoDa(pos.BrandId))
-                            {
-                                int CheckDays = 30;
-                                DateTime now = string.IsNullOrEmpty(act.Field3) ? DateTime.Now : DateTime.Parse(act.Field3);
-                                PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
-                                if(pos.BindingTime > now.AddDays(-CheckDays))
-                                {
-                                    string SubjectType = act.Field2;
-                                    pos.PrizeParams = pos.SeoKeyword;
-                                    decimal Deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                    MpMainModels2.MerchantAddInfo merchantAddInfo = mpdb.MerchantAddInfo.FirstOrDefault(m => m.MchtNo == merchant.KqMerNo) ?? new MpMainModels2.MerchantAddInfo();
-                                    decimal Prize = 0;
-                                    bool PrizeFlag = true;
-                                    if(pos.BindingTime > DateTime.Parse("2024-07-02 00:00:00"))
-                                    {
-                                        if(Deposit == 198)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 0;
-                                            }
-                                            else
-                                            {
-                                                Prize = 120;
-                                            }
-                                        }
-                                        else if(Deposit == 249)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 50;
-                                                PrizeFlag = false;
-                                            }
-                                            else
-                                            {
-                                                Prize = 150;
-                                            }
-                                        }
-                                        else if(Deposit == 228)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 0;
-                                            }
-                                            else
-                                            {
-                                                Prize = 110;
-                                            }
-                                        }
-                                        else if(Deposit == 380)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 100;
-                                                PrizeFlag = false;
-                                            }
-                                            else
-                                            {
-                                                Prize = 200;
-                                            }
-                                        }
-                                        else if(Deposit == 299)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 0;
-                                            }
-                                            else
-                                            {
-                                                if(pos.BrandId == 29)
-                                                {
-                                                    Prize = 100;
-                                                }
-                                            }
-                                        }
-                                        else if(Deposit == 399)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 0;
-                                            }
-                                            else
-                                            {
-                                                if(pos.BrandId == 29)
-                                                {
-                                                    Prize = 200;
-                                                }
-                                                else
-                                                {
-                                                    Prize = 150;
-                                                }
-                                            }
-                                        }
-                                        else if(Deposit == 499)
-                                        {
-                                            if(SubjectType == "000001" || string.IsNullOrEmpty(SubjectType))
-                                            {
-                                                Prize = 0;
-                                            }
-                                            else
-                                            {
-                                                if(pos.BrandId == 29)
-                                                {
-                                                    Prize = 300;
-                                                }
-                                                else
-                                                {
-                                                    Prize = 150;
-                                                }
-                                            }
-                                        }
-                                    }
-                                    else
-                                    {
-                                        if(Deposit == 198) Prize = 70;
-                                        if(Deposit == 249) Prize = 100;
-                                        if(Deposit == 228) Prize = 61;
-                                        if(Deposit == 380) Prize = 151;
-                                        if(Deposit == 399) Prize = 100;
-                                    }
-
-                                    PxcModels.Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new PxcModels.Users();
-                                    int TopUserId = 0;
-                                    if (!string.IsNullOrEmpty(user.ParentNav))
-                                    {
-                                        TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
-                                    }
-                                    pos.ActivationState = 1;
-                                    pos.ActivationTime = now;
-                                    merchant.ActiveStatus = 1;
-                                    merchant.MerStandardDate = now;
-                                    db.SaveChanges();
-                                    if (!string.IsNullOrEmpty(act.Field1))
-                                    {
-                                        string PassDateString = act.Field1.Substring(0, 4) + "-" + act.Field1.Substring(4, 2) + "-" + act.Field1.Substring(6, 2);
-                                        if(DateTime.Parse(PassDateString).AddDays(30) < DateTime.Now)
-                                        {
-                                            Prize = 0;
-                                        }
-                                    }
-                                    if (Prize > 0)
-                                    {
-                                        if(pos.BrandId == 29 && act.Field4 == "3366")
-                                        {
-                                            bool chk = db.ActiveReward.Any(m => m.KqSnNo == pos.PosSn);
-                                            if(!chk)
-                                            {
-                                                StatService.Instance.doPrizeFunc(db, merchant, pos, pos.BuyUserId, user.ParentNav, TopUserId, Prize);
-                                                StatService.Instance.doPrizeFunc(db, merchant, pos, pos.BuyUserId, user.ParentNav, TopUserId, Prize, 140);
-                                            }
-                                        }
-                                        else
-                                        {
-                                            StatService.Instance.doActiveReward(db, merchant, pos, pos.BuyUserId, user.ParentNav, TopUserId, Prize);
-                                        }
-                                    }
-                                    if (pos.CardType < 100 && Prize > 0 && PrizeFlag)
-                                    {
-                                        RedisDbconn.Instance.AddList("OpenRewardQueue", pos.Id.ToString());
-                                    }
-                                    if (Deposit > 0 && pos.LeaderUserId > 0 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.CardType < 100 && Prize > 0 && PrizeFlag)
-                                    {
-                                        RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
-                                    }
-                                    //发放运营中心奖励
-                                    if (Deposit > 0 && pos.CardType < 100 && Prize > 0 && PrizeFlag)
-                                    {
-                                        RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
-                                    }
-
-                                    //发放奖励MQ
-                                    PrizeSetHelper.Do("5", pos.PosSn);
-                                }
-                                else
-                                {
-                                    pos.ActivationState = 1;
-                                    pos.ActivationTime = now;
-                                    merchant.ActiveStatus = 1;
-                                    merchant.MerStandardDate = now;
-                                    db.SaveChanges();
-                                }
-                            }
-                            else
-                            {
-                                //发放奖励MQ
-                                PrizeSetHelper.Do("1", pos.PosSn);
-                            }
-
-                            ActivateRecord edit = spdb.ActivateRecord.FirstOrDefault(m => m.Id == act.Id);
-                            if (edit != null)
-                            {
-                                edit.Status = 2;
-                            }
-                        }
-                        else
-                        {
-                            ActivateRecord edit = spdb.ActivateRecord.FirstOrDefault(m => m.Id == act.Id);
-                            if (edit != null)
-                            {
-                                edit.Status = 2;
-                            }
-                        }
-                        pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == act.SnNo && m.ActivationState == 1);
-                        if (pos != null)
-                        {
-                            //发放奖励MQ
-                            PrizeSetHelper.Do("1", pos.PosSn);
+                            edit.Status = 2;
                         }
                     }
                     spdb.SaveChanges();

+ 10 - 330
AppStart/Helper/SycnSpServer/SycnSpBindService.cs

@@ -34,7 +34,7 @@ namespace MySystem
                     PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
                     DateTime start = DateTime.Now.AddDays(-30);
                     int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/BindRecordId.txt")));
-                    var Binds = spdb.BindRecord.Select(m => new { m.Id, m.CreateTime, m.Status, m.MerNo, m.MerSnNo, m.ProductType, m.Remark, m.Field1, m.Field2, m.Field3, m.Field5, m.SeoTitle }).Where(m => m.Id >= StartId && m.CreateTime >= start && !BrandIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
+                    var Binds = spdb.BindRecord.Where(m => m.Id >= StartId && m.CreateTime >= start && !BrandIds.Contains(m.ProductType) && m.Status == 1).OrderByDescending(m => m.Id).Take(20).ToList();
                     foreach (var Bind in Binds)
                     {
                         var tran = db.Database.BeginTransaction();
@@ -48,50 +48,6 @@ namespace MySystem
                                     MerNo = Bind.MerNo,
                                     ProductType = Bind.ProductType,
                                 });
-                                // 删除对应商户,激活机具除外
-                                PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == Bind.MerSnNo) ?? new PxcModels.PosMachinesTwo();
-                                if(pos.ActivationState == 0)
-                                {
-                                    PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
-                                    if (forMerNo != null)
-                                    {
-                                        db.MachineForMerNo.Remove(forMerNo);
-                                        db.SaveChanges();
-                                    }
-                                    PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
-                                    if(merchant != null)
-                                    {
-                                        //备份解绑的商户信息
-                                        CustomerSqlConn.op("insert into PosMerchantInfoBak select * from PosMerchantInfo where Id=" + pos.BindMerchantId, MysqlConn.SqlConnStr);
-                                        db.SaveChanges();
-                                        pos.BindMerchantId = 0;
-                                        pos.BindingState = 0;
-                                        pos.BindingTime = null;
-                                        db.PosMerchantInfo.Remove(merchant);
-                                        db.SaveChanges();
-                                    }
-
-                                    string IdBrand = pos.BuyUserId + "_" + pos.BrandId;
-                                    PxcModels.UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
-                                    if (userData == null)
-                                    {
-                                        userData = db.UserMachineData.Add(new PxcModels.UserMachineData()
-                                        {
-                                            IdBrand = IdBrand,
-                                        }).Entity;
-                                        db.SaveChanges();
-                                    }
-                                    userData.BindCount -= 1;
-                                    userData.UnBindCount += 1;
-                                    db.SaveChanges();
-                                }
-
-                                BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 2;
-                                    spdb.SaveChanges();
-                                }
                             }
                             else
                             {
@@ -100,114 +56,18 @@ namespace MySystem
                                     RedisDbconn.Instance.Set("sppos:" + Bind.MerNo, Bind.MerSnNo);
                                     RedisDbconn.Instance.SetExpire("sppos:" + Bind.MerNo, 1800);
                                 }
-                                PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == Bind.MerSnNo) ?? new PxcModels.MachineForSnNo();
-                                PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId && m.BindingState == 0);
-                                if (pos != null)
-                                {
-                                    pos.BindingState = 1;
-                                    pos.BindingTime = Bind.CreateTime;
-                                    pos.Status = 0;
-
-                                    string MerNo = Bind.MerNo;
-                                    //wifi设备取sn
-                                    if(Utils.Instance.IsWifi(pos.BrandId))
-                                    {
-                                        MerNo = Bind.MerSnNo;
-                                    }
-                                    if(!string.IsNullOrEmpty(MerNo))
-                                    {
-                                        PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
-                                        if (merFor == null)
-                                        {
-                                            merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
-                                            {
-                                                MerNo = MerNo,
-                                                SnId = pos.Id,
-                                            }).Entity;
-                                        }
-                                        else
-                                        {
-                                            merFor.SnId = pos.Id;
-                                        }
-                                    }
-                                    db.SaveChanges();
-
-                                    BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                    if (edit != null)
-                                    {
-                                        edit.Status = 2;
-                                        spdb.SaveChanges();
-                                    }
-
-                                    string IdBrand = pos.UserId + "_" + pos.BrandId;
-                                    PxcModels.UserMachineData MachineData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
-                                    if (MachineData == null)
-                                    {
-                                        MachineData = db.UserMachineData.Add(new PxcModels.UserMachineData()
-                                        {
-                                            IdBrand = IdBrand,
-                                        }).Entity;
-                                        db.SaveChanges();
-                                    }
-                                    MachineData.BindCount += 1;
-                                    MachineData.UnBindCount -= 1;
-                                    db.SaveChanges();
-
-                                    if(pos.BuyUserId == 0 && pos.PreUserId > 0)
-                                    {
-                                        // RedisDbconn.Instance.Set("CheckUserBindPrePos:" + pos.PreUserId, "您的名下有已绑定的预发机 sn:" + pos.PosSn + " 尚未申请,绑定30分钟内申请即可免费自动补录,请前往客小爽产品中点击机具申请继续完成申请");
-
-                                        RedisDbconn.Instance.AddList("CheckUserBindPrePos:" + pos.PreUserId, pos.PosSn);
-                                        int ExpireTime = 60 * 25;
-                                        RedisDbconn.Instance.SetExpire("CheckUserBindPrePos:" + pos.PreUserId, ExpireTime);
-                                    }
-                                }
-                                else
+                                if(Utils.Instance.IsWifi(int.Parse(Bind.ProductType)))
                                 {
-                                    pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId && (m.BrandId == 12 || m.BrandId == 13) && m.BindingState == 1);
-                                    if (pos != null)
-                                    {
-                                        pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == Bind.MerSnNo && m.BindingState == 1);
-                                        if (pos != null)
-                                        {
-                                            string MerNo = Bind.MerNo;
-                                            if(!string.IsNullOrEmpty(MerNo))
-                                            {
-                                                PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
-                                                if (merFor == null)
-                                                {
-                                                    merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
-                                                    {
-                                                        MerNo = MerNo,
-                                                        SnId = pos.Id,
-                                                    }).Entity;
-                                                }
-                                                else
-                                                {
-                                                    merFor.SnId = pos.Id;
-                                                }
-                                            }
-                                            db.SaveChanges();
-
-                                            BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                            if (edit != null)
-                                            {
-                                                edit.Status = 2;
-                                                spdb.SaveChanges();
-                                            }
-                                        }
-                                    }
-                                    else
-                                    {
-                                        BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                        if (edit != null)
-                                        {
-                                            edit.Status = 0;
-                                            spdb.SaveChanges();
-                                        }
-                                    }
+                                    Bind.MerNo = Bind.MerSnNo;
+                                    PosPushDataNewHelper.Bind0(Bind);
                                 }
                             }
+                            BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
+                            if (edit != null)
+                            {
+                                edit.Status = 2;
+                                spdb.SaveChanges();
+                            }
                             tran.Commit();
                         }
                         catch (Exception ex)
@@ -270,186 +130,6 @@ namespace MySystem
                                     Field2 = Bind.Field5,
                                 });
                             }
-                            PxcModels.MachineForSnNo posFor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == Bind.MerSnNo) ?? new PxcModels.MachineForSnNo();
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == posFor.SnId);
-                            if (pos != null)
-                            {
-                                pos.BindingState = 1;
-                                pos.BindingTime = Bind.CreateTime;
-                                pos.Status = 0;
-                                pos.IsFirst = 1;
-                                if(Name == "激活后补卡")
-                                {
-                                    PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
-                                    if(forMerNo != null)
-                                    {
-                                        PxcModels.PosMachinesTwo oldpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forMerNo.SnId);
-                                        if(oldpos != null)
-                                        {
-                                            oldpos.IsFirst = 0;
-                                            pos.BindingState = oldpos.BindingState;
-                                            pos.BindingTime = oldpos.BindingTime;
-                                            pos.ActivationState = oldpos.ActivationState;
-                                            pos.ActivationTime = oldpos.ActivationTime;
-                                        }
-                                    }
-                                }
-
-                                string ActStatus = Bind.Field5; //激活状态名称
-                                string CheckCard = function.CheckNull(RedisDbconn.Instance.Get<string>("SimCheckCard"));
-                                if (KindName == "基础套餐" && function.CheckNull(Name).Contains("双百") && ActStatus == "已激活" && ActualAmount >= 100)
-                                {
-                                    pos.Detail = "0";
-                                }
-                                else if (CheckCard.Contains("," + Name + ",") && ActStatus == "已激活" && ActualAmount >= 100)
-                                {
-                                    pos.Detail = "0";
-                                }
-                                else
-                                {
-                                    pos.Detail = "1";
-                                }
-
-                                PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Bind.MerNo);
-                                if (merFor == null)
-                                {
-                                    merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
-                                    {
-                                        MerNo = Bind.MerNo,
-                                        SnId = pos.Id,
-                                    }).Entity;
-                                }
-                                else
-                                {
-                                    merFor.SnId = pos.Id;
-                                }
-
-                                PxcModels.PosMerchantInfo add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo && m.KqSnNo == Bind.MerSnNo);
-                                if (add == null)
-                                {
-                                    add = db.PosMerchantInfo.Add(new PxcModels.PosMerchantInfo()
-                                    {
-                                        CreateDate = Bind.CreateTime,
-                                        KqMerNo = Bind.MerNo,
-                                        KqSnNo = Bind.MerSnNo,
-                                        MerchantNo = Bind.MerNo.Length > 16 ? Bind.MerNo.Substring(0, 16) : Bind.MerNo,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                string json = Bind.SeoDescription;
-                                string ProductName = ""; //商品名称
-                                string ActivityName = ""; //促销活动名称
-                                string ProductTypeName = ""; //商品类型名称
-                                string ActStatusName = ""; //激活状态名称
-                                string ActAmount = ""; //实付金额
-                                string EmployeeNo = ""; //员工工号
-                                string EmployeeName = ""; //员工姓名
-                                if(!string.IsNullOrEmpty(json))
-                                {
-                                    JsonData jsonObj = JsonMapper.ToObject(json);
-                                    ProductName = jsonObj["ProductName"].ToString();
-                                    ActivityName = jsonObj["ActiveName"].ToString();
-                                    ProductTypeName = jsonObj["ProductType"].ToString();
-                                    ActAmount = jsonObj["ActualAmount"].ToString();
-                                    ActStatusName = jsonObj["ActStatus"].ToString();
-                                    EmployeeNo = jsonObj["WorkNo"].ToString();
-                                    EmployeeName = jsonObj["AccountName"].ToString();
-                                }
-                                PxcModels.SimposMerchantInfo sim = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Bind.MerNo);
-                                if (sim == null)
-                                {                                    
-                                    sim = db.SimposMerchantInfo.Add(new PxcModels.SimposMerchantInfo()
-                                    {
-                                        Id = add.Id,
-                                        CreateDate = Bind.CreateTime,
-                                        KqMerNo = Bind.MerNo,
-                                        MerchantNo = Bind.MerNo.Length > 16 ? Bind.MerNo.Substring(0, 16) : Bind.MerNo,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                sim.KqSnNo = Bind.MerSnNo;
-                                sim.ProductName = ProductName;
-                                sim.ActivityName = ActivityName;
-                                sim.ProductTypeName = ProductTypeName;
-                                sim.ActStatusName = ActStatusName;
-                                sim.ActAmount = decimal.Parse(function.CheckNum(ActAmount));
-                                sim.EmployeeNo = EmployeeNo;
-                                sim.EmployeeName = EmployeeName;
-                                pos.BindMerchantId = add.Id;
-                                pos.LastMerchantId = add.Id;
-                                if(pos.CardType < 2)
-                                {
-                                    pos.IsPurchase = 1;
-                                }
-
-                                sim.UpdateDate = Bind.UpdateTime;
-                                sim.TopUserId = 1;
-                                sim.BrandId = pos.BrandId;
-                                sim.SnStoreId = pos.StoreId;
-                                if(ActStatus == "已激活")
-                                {
-                                    sim.MerStandardDate = DateTime.Now;
-                                    sim.ActiveStatus = 1;
-                                }
-                                sim.UserId = pos.UserId;
-                                sim.MgrName = Bind.MerName;
-                                sim.MerStatus = 1;
-                                sim.KqSnNo = pos.PosSn;
-                                sim.MerRealName = Bind.MerName;
-                                sim.MerchantMobile = Bind.MerNewSnNo;
-                                sim.MerchantName = Bind.MerName;
-                                sim.Type = pos.CardType + 1;
-                                db.SaveChanges();
-
-                                BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 2;
-                                    spdb.SaveChanges();
-                                }
-
-                                string IdBrand = pos.UserId + "_" + pos.BrandId;
-                                PxcModels.UserMachineData MachineData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
-                                if (MachineData == null)
-                                {
-                                    MachineData = db.UserMachineData.Add(new PxcModels.UserMachineData()
-                                    {
-                                        IdBrand = IdBrand,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                MachineData.BindCount += 1;
-                                MachineData.UnBindCount -= 1;
-
-                                Utils.Instance.PrizeRecord(1, pos.PosSn, "广电卡,激活状态:" + Bind.Field5);
-                                if(Bind.Field5 == "已激活")
-                                {
-                                    bool PrizeFlag = pos.CardType > 0 && ActualAmount >= 100;
-                                    //电渠卡判断报备时间超过30天不发奖励
-                                    if(pos.PosSn.StartsWith("CS") && !string.IsNullOrEmpty(Bind.SeoDescription))
-                                    {
-                                        JsonData jsonObj = JsonMapper.ToObject(Bind.SeoDescription);
-                                        DateTime reportTime = DateTime.Parse(jsonObj["CreateDate"].ToString());
-                                        if(reportTime.AddDays(30) < Bind.CreateDate)
-                                        {
-                                            PrizeFlag = false;
-                                            pos.Detail = "1";
-                                        }
-                                    }
-                                    else
-                                    {
-                                        PrizeFlag = pos.CardType > 0 && ActualAmount >= 100 && function.CheckNull(Name).Contains("双百");
-                                    }
-                                    SycnSpTradeService.Instance.ActPos(db, pos, 0, 30, PrizeFlag, Bind.SeoKeyword);
-
-                                    if(PrizeFlag)
-                                    {
-                                        //发放奖励MQ
-                                        PrizeSetHelper.Do("4", pos.PosSn);
-                                    }
-                                }
-                                db.SaveChanges();
-                            }
                         }
                         catch (Exception ex)
                         {

+ 1 - 98
AppStart/Helper/SycnSpServer/SycnSpChangeBindService.cs

@@ -37,104 +37,7 @@ namespace MySystem
                         try
                         {
                             PosPushDataNewHelper.ChangeBind(Bind);
-                            string OldSnNum = Bind.MerSnNo;
-                            string NewSnNum = Bind.MerNewSnNo;
-                            string MerNo = Bind.MerNo;
-                            PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PxcModels.PosMerchantInfo();
-                            PxcModels.MachineForSnNo oldForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == OldSnNum) ?? new PxcModels.MachineForSnNo();
-                            PxcModels.MachineForSnNo newForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == NewSnNum) ?? new PxcModels.MachineForSnNo();
-                            PxcModels.PosMachinesTwo oldpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == oldForSnNo.SnId);
-                            PxcModels.PosMachinesTwo newpos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == newForSnNo.SnId);
-                            PxcModels.StoreHouse BackStore = db.StoreHouse.FirstOrDefault(m => m.Id == oldpos.StoreId) ?? new PxcModels.StoreHouse();
-                            PxcModels.StoreHouse OutStore = db.StoreHouse.FirstOrDefault(m => m.Id == newpos.StoreId) ?? new PxcModels.StoreHouse();
-                            string ChangeNo = "BMC" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(3);
-                            PxcModels.MachineChange add = db.MachineChange.Add(new PxcModels.MachineChange()
-                            {
-                                CreateDate = DateTime.Now,
-                                UpdateDate = DateTime.Now,
-                                ChangeNo = ChangeNo, //转换单号
-                                UserId = 0, //创客
-                                ChangeTime = DateTime.Now, //转换时间
-                                BackStoreId = BackStore.Id, //退回仓库
-                                BackStoreName = BackStore.StoreName, //退回仓库名称
-                                Remark = "机具更换", //订单备注
-                                BackStoreUserId = BackStore.UserId, //退回仓库归属人
-                                OutProductType = int.Parse(OutStore.BrandId), //出库产品类型
-                                OutProductName = OutStore.ProductName, //出库产品名称
-                                OutStoreId = OutStore.Id, //出库仓库
-                                OutStoreName = OutStore.StoreName, //出库仓库名称
-                                OutStoreAreas = OutStore.Areas, //出库仓库所在地区
-                                OutStoreAddress = OutStore.Address, //出库仓库地址
-                                OutStoreManager = "", //出库仓库联系人
-                                OutStoreManagerMobile = OutStore.ManageMobile, //出库仓库联系人手机号
-                            }).Entity;
-                            db.SaveChanges();
-                            int BackProductType = 0;
-                            string BackProductName = "";
-                            string ChangeDeviceName = "";
-                            string ChangeSnExpand = "";
-                            PxcModels.KqProducts oldPosBrand = db.KqProducts.FirstOrDefault(m => m.Id == oldpos.BrandId) ?? new PxcModels.KqProducts();
-                            PxcModels.KqProducts newPosBrand = db.KqProducts.FirstOrDefault(m => m.Id == newpos.BrandId) ?? new PxcModels.KqProducts();
-                            newpos.BindMerchantId = merchant.Id;
-                            newpos.BuyUserId = oldpos.BuyUserId;
-                            newpos.UserId = oldpos.UserId;
-                            newpos.RecycEndDate = oldpos.RecycEndDate;
-                            newpos.ScanQrTrade = oldpos.ScanQrTrade;
-                            newpos.DebitCardTrade = oldpos.DebitCardTrade;
-                            newpos.CreditTrade = oldpos.CreditTrade;
-                            newpos.PosSnType = oldpos.PosSnType;
-                            newpos.TransferTime = oldpos.TransferTime;
-                            newpos.IsPurchase = oldpos.IsPurchase;
-                            newpos.BindingState = oldpos.BindingState;
-                            newpos.ActivationState = oldpos.ActivationState;
-                            newpos.BindingTime = oldpos.BindingTime;
-                            newpos.ActivationTime = oldpos.ActivationTime;
-                            newpos.IsFirst = oldpos.IsFirst;
-                            // bool checkActReward = db.ActiveReward.Any(m => m.KqMerNo == merchant.KqMerNo);
-                            // if (!checkActReward)
-                            // {
-                            newpos.SeoKeyword = Utils.Instance.TransferDeposit(newpos, oldpos.SeoKeyword);
-                            newpos.PrizeParams = oldpos.PrizeParams;
-                            newpos.LeaderUserId= oldpos.LeaderUserId;
-                            // }
-                            // oldpos.BuyUserId = 0;
-                            // oldpos.UserId = 0;
-                            oldpos.Status = -1;
-                            PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == merchant.KqMerNo);
-                            if (forMerNo != null)
-                            {
-                                forMerNo.SnId = newpos.Id;
-                            }
-                            merchant.KqSnNo = NewSnNum;
-                            db.MachineChangeDetail.Add(new PxcModels.MachineChangeDetail()
-                            {
-                                CreateDate = DateTime.Now,
-                                UpdateDate = DateTime.Now,
-                                ChangeNo = ChangeNo, //订单号
-                                ChangeId = add.Id, //订单Id
-                                BackProductType = oldpos.BrandId, //退回产品类型
-                                BackProductName = oldPosBrand.Name, //退回产品名称
-                                UserId = oldpos.BuyUserId, //创客
-                                BackSnNo = oldpos.PosSn, //设备SN编号
-                                OutProductType = newpos.BrandId, //出库产品类型
-                                OutProductName = newPosBrand.Name, //出库产品名称
-                                OutSnNo = newpos.PosSn, //出库设备SN编号
-                                OutSnType = newpos.PosSnType, //出库SN机具类型
-                                Remark = "机具更换", //备注
-                                BackSnType = oldpos.PosSnType, //退回SN机具类型
-                            });
-                            db.SaveChanges();
-                            BackProductType = oldpos.BrandId;
-                            BackProductName = newPosBrand.Name;
-                            ChangeDeviceName = oldpos.DeviceName;
-                            ChangeSnExpand = oldpos.PosSn;                            
-                            add.BackProductType = BackProductType; //退回产品类型
-                            add.BackProductName = BackProductName; //退回产品名称
-                            add.ChangeDeviceName = ChangeDeviceName; //转换机具名称
-                            add.ChangeDeviceNum = 1; //转换机具数量
-                            add.ChangeSnExpand = ChangeSnExpand; //机具SN
-                            db.SaveChanges();
-
+                            
                             ChangeBindRecord edit = spdb.ChangeBindRecord.FirstOrDefault(m => m.Id == Bind.Id);
                             if (edit != null)
                             {

+ 1 - 68
AppStart/Helper/SycnSpServer/SycnSpMerchantRecordService.cs

@@ -51,74 +51,7 @@ namespace MySystem
                                     db.SaveChanges();
                                 }
                             }
-                            PosPushDataNewHelper.Bind2(Mer);
-                            int PosId = 0;
-                            PxcModels.MachineForMerNo machineForMerNo = new PxcModels.MachineForMerNo();
-                            if(Mer.ProductType == "12")
-                            {
-                                machineForMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Mer.MerNo) ?? new PxcModels.MachineForMerNo();
-                                PosId = machineForMerNo.SnId;
-                            }
-                            else
-                            {
-                                machineForMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == Mer.Field3);
-                                if (machineForMerNo != null)
-                                {
-                                    PosId = machineForMerNo.SnId;
-                                    db.MachineForMerNo.Remove(machineForMerNo);
-                                    db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
-                                    {
-                                        MerNo = Mer.MerNo,
-                                        SnId = PosId,
-                                    });
-                                }
-                                else
-                                {
-                                    machineForMerNo = new PxcModels.MachineForMerNo();
-                                }
-                                db.SaveChanges();
-                            }
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForMerNo.SnId) ?? new PxcModels.PosMachinesTwo();
-                            
-                            PxcModels.PosMerchantInfo merinfo = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
-                            if(merinfo != null)
-                            {
-                                merinfo.MerIdcardNo = Mer.LegalIdCard;
-                                merinfo.MerchantName = Mer.LegalName;
-                                if(Mer.ProductType == "30")
-                                {
-                                    merinfo.KqMerNo = Mer.MerNo;
-                                    merinfo.MerchantNo = Mer.MerNo.Length > 16 ? Mer.MerNo.Substring(0, 16) : Mer.MerNo;
-                                }
-                                merinfo.MgrNo = Mer.AgentNo; //代理商号
-                                merinfo.MgrName = Mer.Field2; //终端类型
-                                db.SaveChanges();
-                            }
-                            int IsFirst = 1;
-                            if(!string.IsNullOrEmpty(Mer.LegalIdCard))
-                            {
-                                string startNo = Mer.LegalIdCard.Substring(0, 6);
-                                string endNo = Mer.LegalIdCard.Substring(Mer.LegalIdCard.Length - 4, 4).ToUpper();
-                                string Name = Mer.MerName;
-                                Name = Name.Replace("个体户", "");
-                                Name = Name.Replace("个体商户", "");
-                                Name = Name.Replace("企业户", "");
-                                Name = Name.Replace("企业商户", "");
-                                function.WriteLog(DateTime.Now.ToString() + "-----startNo:" + startNo + ",endNo:" + endNo + ",Name:" + Name, "监控机具是否互斥");
-                                PxcModels.PosMerchantInfo check = db.PosMerchantInfo.FirstOrDefault(m => m.MerIdcardNo.StartsWith(startNo) && m.MerIdcardNo.EndsWith(endNo) && m.MerchantName.Contains(Name) && m.Id != pos.BindMerchantId);
-                                if(check != null)
-                                {
-                                    function.WriteLog("互斥机具---sn:" + check.KqSnNo + ",merno:" + check.KqMerNo + ",name:" + check.MerchantName, "监控机具是否互斥");
-                                    IsFirst = 0;
-
-                                    int RecordId = PublicFunction.FeeSetRecord(db, pos, check, 0.63M);
-                                    string info = "{\"RecordId\":\"" + RecordId + "\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"0.63\",\"Kind\": \"2\",\"OpMan\": \""+"系统"+"\"}";
-                                    RedisDbconn.Instance.AddList("SetDepositQueue", info);
-                                }
-                            }
-                            pos.IsFirst = IsFirst;
-                            db.SaveChanges();
-                            
+                            PosPushDataNewHelper.Bind2(Mer);                            
                             MerchantRecord edit = spdb.MerchantRecord.FirstOrDefault(m => m.Id == Mer.Id);
                             if (edit != null)
                             {

+ 4 - 266
AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

@@ -46,273 +46,11 @@ namespace MySystem
                                 }
                                 PosPushDataNewHelper.Bind(Mer);
                             }
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == Mer.SnNo) ?? new PxcModels.PosMachinesTwo();
-                            if (pos.BindingState == 1 && Mer.Field2 != "解绑" && Mer.Field2 != "UNBIND")
+                            Merchants edit = spdb.Merchants.FirstOrDefault(m => m.Id == Mer.Id);
+                            if (edit != null)
                             {
-                                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]);
-                                }
-                                int BrandId = pos.BrandId;
-                                if (BrandId == 12 || BrandId == 13 || BrandId == 30 || BrandId == 31)
-                                {
-                                    MerchantRecord merinfo = spdb.MerchantRecord.FirstOrDefault(m => m.MerNo == Mer.MerNo);
-                                    if(merinfo != null)
-                                    {
-                                        Mer.MerIdcardNo = merinfo.LegalIdCard;
-                                        Mer.MerName = merinfo.LegalName;
-                                    }
-                                }
-
-                                PxcModels.PosMerchantInfo add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mer.MerNo);
-                                //防盒易付重推判断
-                                if(pos.BrandId == 12 || pos.BrandId == 13)
-                                {
-                                    add = db.PosMerchantInfo.FirstOrDefault(m => m.KqSnNo == Mer.SnNo && m.MerIdcardNo == Mer.MerIdcardNo && m.MerchantName == Mer.MerName);
-                                }
-                                //如果是好哒和WIFI品牌需要和SN一起判断
-                                if(Utils.Instance.IsHaoDa(pos.BrandId))
-                                {
-                                    add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mer.MerNo && m.KqSnNo == Mer.SnNo);
-                                }
-                                if(Utils.Instance.IsWifi(pos.BrandId))
-                                {
-                                    add = db.PosMerchantInfo.FirstOrDefault(m => m.KqSnNo == Mer.SnNo);
-                                }
-                                if (add == null)
-                                {
-                                    int IsFirst = 1;
-                                    if(!string.IsNullOrEmpty(Mer.MerIdcardNo))
-                                    {
-                                        string startNo = Mer.MerIdcardNo.Substring(0, 6);
-                                        string endNo = Mer.MerIdcardNo.Substring(Mer.MerIdcardNo.Length - 4, 4).ToUpper();
-                                        string Name = Mer.MerName;
-                                        if (Mer.ProductType == "2")
-                                        {
-                                            if (Name.Contains("-"))
-                                            {
-                                                Name = Name.Split('-')[1];
-                                            }
-                                            else if (Name.Contains("_"))
-                                            {
-                                                Name = Name.Split('_')[1];
-                                            }
-                                        }
-                                        else if (Mer.ProductType == "4" || Mer.ProductType == "8" || Mer.ProductType == "9")
-                                        {
-                                            Name = Mer.SeoTitle;
-                                        }
-                                        else if (Mer.ProductType == "10")
-                                        {
-                                            Name = Name.Replace("*", "");
-                                        }
-                                        Name = Name.Replace("个体户", "");
-                                        Name = Name.Replace("个体商户", "");
-                                        Name = Name.Replace("企业户", "");
-                                        Name = Name.Replace("企业商户", "");
-                                        function.WriteLog(DateTime.Now.ToString() + "-----startNo:" + startNo + ",endNo:" + endNo + ",Name:" + Name, "监控机具是否互斥");
-                                        PxcModels.PosMerchantInfo check = db.PosMerchantInfo.FirstOrDefault(m => m.MerIdcardNo.StartsWith(startNo) && m.MerIdcardNo.EndsWith(endNo) && m.MerchantName.Contains(Name));
-                                        if(check != null)
-                                        {
-                                            function.WriteLog("互斥机具---sn:" + check.KqSnNo + ",merno:" + check.KqMerNo + ",name:" + check.MerchantName, "监控机具是否互斥");
-                                            IsFirst = 0;
-                                            int RecordId = PublicFunction.FeeSetRecord(db, pos, check, 0.63M);
-                                            string info = "{\"RecordId\":\"" + RecordId + "\",\"PosId\":\"" + pos.Id + "\",\"Fee\": \"0.63\",\"Kind\": \"2\",\"OpMan\": \""+"系统"+"\"}";
-                                            RedisDbconn.Instance.AddList("SetDepositQueue", info);
-                                        }
-                                    }
-                                    string KqMerNo = Mer.MerNo;
-                                    string MerchantNo = "";
-                                    if(!string.IsNullOrEmpty(KqMerNo))
-                                    {
-                                        MerchantNo = KqMerNo.Length > 16 ? KqMerNo.Substring(0, 16) : KqMerNo;
-                                    }
-                                    add = db.PosMerchantInfo.Add(new PxcModels.PosMerchantInfo()
-                                    {
-                                        CreateDate = Mer.CreateTime,
-                                        KqMerNo = KqMerNo,
-                                        MerchantNo = MerchantNo,
-                                    }).Entity;
-                                    //查询商户备份表,如果有记录则继承之前的商户Id
-                                    if(Mer.ProductType == "1") //判断是否金控
-                                    {
-                                        function.WriteLog(DateTime.Now.ToString(), "监控金控换绑机具日志");
-                                        function.WriteLog("Mer.MerNo:" + Mer.MerNo, "监控金控换绑机具日志");
-                                        PxcModels.PosMerchantInfoBak MerBak = db.PosMerchantInfoBak.FirstOrDefault(m => m.KqMerNo == Mer.MerNo);
-                                        if(MerBak != null)
-                                        {
-                                            function.WriteLog("有备份商户-机具SN:" + MerBak.KqSnNo, "监控金控换绑机具日志");
-                                            PxcModels.PosMachinesTwo OldPos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == MerBak.KqSnNo);
-                                            if(OldPos != null)
-                                            {
-                                                function.WriteLog("首台机标记:新机具" + pos.IsFirst + ",老机具" + OldPos.IsFirst, "监控金控换绑机具日志");
-                                                pos.IsFirst = OldPos.IsFirst;
-                                            }
-                                            add.Id = MerBak.Id;
-                                            db.PosMerchantInfoBak.Remove(MerBak);
-                                        }
-                                        else
-                                        {
-                                            function.WriteLog("无备份商户", "监控金控换绑机具日志");
-                                            pos.IsFirst = IsFirst;
-                                        }
-                                        function.WriteLog("\n\n", "监控金控换绑机具日志");
-                                    }
-                                    else
-                                    {
-                                        pos.IsFirst = IsFirst;
-                                    }
-                                    db.SaveChanges();
-                                    function.WriteLog("MerNo:" + Mer.MerNo + ",PosSn:" + pos.PosSn + ",IsFirst:" + IsFirst + "\n\n", "监控机具是否互斥");
-                                }
-                                else
-                                {
-                                    if(pos.BrandId == 12 || pos.BrandId == 13)
-                                    {
-                                        add.KqMerNo = Mer.MerNo;
-                                        add.MerchantNo = Mer.MerNo.Length > 16 ? Mer.MerNo.Substring(0, 16) : Mer.MerNo;
-                                    }
-                                }
-                                if(Utils.Instance.IsWifi(pos.BrandId))
-                                {
-                                    add.KqMerNo = Mer.SnNo;
-                                }
-                                add.UpdateDate = Mer.UpdateTime;
-                                add.TopUserId = TopUserId;
-                                add.BrandId = BrandId;
-                                add.SnStoreId = pos.StoreId;
-                                add.SnType = pos.PosSnType;
-                                add.UserId = pos.UserId;
-                                add.MgrName = Mer.AgentName;
-                                add.MerStatus = 1;
-                                add.KqSnNo = Mer.SnNo;
-                                string CertId = function.CheckNull(Mer.MerIdcardNo).ToUpper();
-                                if(BrandId == 15 || BrandId == 16)
-                                {
-                                    CertId = CertId.Substring(0, 6) + "********" + CertId.Substring(CertId.Length - 4);
-                                }
-                                add.MerIdcardNo = CertId;
-                                add.MerRealName = Mer.MerRealName;
-                                add.MerchantMobile = Mer.MerMobile;
-                                add.MerchantName = Mer.MerName;
-                                pos.BindMerchantId = add.Id;
-                                pos.LastMerchantId = add.Id;
-                                db.SaveChanges();
-                                PxcModels.Users buser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new PxcModels.Users();
-                                if(buser.BusinessFlag == 1)
-                                {
-                                    bool checkMer = db.BusinessPartnerMerchant.Any(m => m.MerchantId == add.Id);
-                                    if(!checkMer)
-                                    {
-                                        PxcModels.BusinessPartnerPos bpos = db.BusinessPartnerPos.FirstOrDefault(m => m.PosId == pos.Id) ?? new PxcModels.BusinessPartnerPos();
-                                        db.BusinessPartnerMerchant.Add(new PxcModels.BusinessPartnerMerchant()
-                                        {
-                                            CreateDate = DateTime.Now,
-                                            MerNo = Mer.MerNo,
-                                            MerchantId = add.Id,
-                                            PartnerId = bpos.PartnerId,
-                                            UserId = pos.BuyUserId,
-                                        });
-                                        db.SaveChanges();
-                                    }
-                                }
-
-                                //WIFI设备默认设置押金
-                                if(Utils.Instance.IsWifi(pos.BrandId) && pos.ActivationState == 0)
-                                {
-                                    if(Mer.Field1 != "v2")
-                                    {
-                                        if(pos.BrandId == 23)
-                                        {
-                                            pos.SeoKeyword = "30";
-                                            pos.PrizeParams = "30";
-                                        }
-                                        if(pos.BrandId == 24)
-                                        {
-                                            pos.SeoKeyword = "120";
-                                            pos.PrizeParams = "120";
-                                        }
-                                        if(pos.BrandId == 25)
-                                        {
-                                            pos.SeoKeyword = "200";
-                                            pos.PrizeParams = "200";
-                                        }
-                                        if(pos.BrandId == 26)
-                                        {
-                                            pos.SeoKeyword = "750";
-                                            pos.PrizeParams = "750";
-                                        }
-
-                                        pos.ActivationState = 1;
-                                        pos.ActivationTime = DateTime.Now;
-                                        add.ActiveStatus = 1;
-                                        add.MerStandardDate = DateTime.Now;
-                                        db.SaveChanges();
-
-                                        //检查交易状态,并发奖励
-                                        WifiSendPrize(db, pos, add);
-
-                                        //发放奖励MQ
-                                        PrizeSetHelper.Do("6", pos.PosSn);
-                                    }
-
-                                    //推送激活数据给MQ
-                                    Utils.Instance.SendActData(pos);
-
-                                    //wifi预扣款处理
-                                    RedisDbconn.Instance.AddList("WifiWithholdBackQueue", "{\"UserId\":\"" + pos.BuyUserId + "\",\"SnNo\":\"" + pos.PosSn + "\"}");
-                                }
-
-                                Merchants edit = spdb.Merchants.FirstOrDefault(m => m.Id == Mer.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 2;
-                                    spdb.SaveChanges();
-                                }
-                            }
-                            else if (Mer.Field2 == "解绑" && Mer.ProductType == "23")
-                            {
-                                //备份解绑的商户信息
-                                CustomerSqlConn.op("insert into PosMerchantInfoBak select * from PosMerchantInfo where Id=" + pos.BindMerchantId, MysqlConn.SqlConnStr);
-                                PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mer.MerNo);
-                                if(merchant != null)
-                                {
-                                    PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == merchant.KqMerNo);
-                                    if (forMerNo != null)
-                                    {
-                                        db.MachineForMerNo.Remove(forMerNo);
-                                    }
-                                    pos.BindMerchantId = 0;
-                                    pos.BindingState = 0;
-                                    pos.BindingTime = null;
-                                    db.PosMerchantInfo.Remove(merchant);
-                                    PxcModels.WifiTradeRecord trade = db.WifiTradeRecord.FirstOrDefault(m => m.SnNo == pos.PosSn);
-                                    if(trade != null)
-                                    {
-                                        trade.DoMonths = trade.Duration;
-                                    }
-                                    db.SaveChanges();
-                                }
-                                else
-                                {
-                                    Merchants edit = spdb.Merchants.FirstOrDefault(m => m.Id == Mer.Id);
-                                    if (edit != null)
-                                    {
-                                        edit.Status = 0;
-                                        spdb.SaveChanges();
-                                    }
-                                }
-                            }
-                            else
-                            {
-                                Merchants edit = spdb.Merchants.FirstOrDefault(m => m.Id == Mer.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 2;
-                                    spdb.SaveChanges();
-                                }
+                                edit.Status = 2;
+                                spdb.SaveChanges();
                             }
                             tran.Commit();
                         }

+ 10 - 681
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -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();

+ 10 - 98
AppStart/Helper/SycnSpServer/SycnSpTradeWifiService.cs

@@ -35,8 +35,6 @@ namespace MySystem
                     IQueryable<TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id >= StartId && m.ProductType == "23" && m.CreateDate >= start && m.Status == 1).OrderBy(m => m.CreateDate).Take(20);
                     foreach (TradeRecord trade in trades.ToList())
                     {
-                        //推送数据给java
-                        // PosPushDataNewHelper.Trade(trade);
                         bool check = db.SpOrderNos.Any(m => m.OrderNo == trade.TradeSerialNo);
                         if (!check && trade.SerEntryMode != "1")
                         {
@@ -45,7 +43,6 @@ namespace MySystem
                             if(trade.SeoTitle != "v2") TradeAmount = TradeAmount / 100;
                             bool statFlag = false;
                             PxcModels.WifiTradeRecord add = new PxcModels.WifiTradeRecord();
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == trade.TradeSnNo) ?? new PxcModels.PosMachinesTwo();
                             statFlag = db.WifiTradeRecord.Any(m => m.SnNo == trade.TradeSnNo);
                             add = db.WifiTradeRecord.Add(new PxcModels.WifiTradeRecord()
                             {
@@ -67,33 +64,10 @@ namespace MySystem
 
                             if(trade.SeoTitle == "v2")
                             {
-                                if(trade.SerEntryMode == "1") //判断是否是押金
-                                {
-                                    pos.SeoKeyword = trade.TradeAmount.ToString("f2");
-                                    pos.PrizeParams = trade.TradeAmount.ToString("f2");
-                                    db.SaveChanges();
-                                }
-                                else
-                                {
-                                    string duration = trade.Field2; //设备套餐时长
-                                    string unit = trade.Field3; //套餐单位 0:按天 1:按月
-                                    if(unit == "1") Months = int.Parse(function.CheckInt(duration));
-                                    else Months = int.Parse(function.CheckInt(duration)) / 30;
-
-                                    pos.ActivationState = 1;
-                                    pos.ActivationTime = DateTime.Now;
-
-                                    PxcModels.PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
-                                    mer.ActiveStatus = 1;
-                                    mer.MerStandardDate = DateTime.Now;
-                                    db.SaveChanges();
-
-                                    //检查交易状态,并发奖励
-                                    SycnSpMerchantService.Instance.WifiSendPrize(db, pos, mer);
-
-                                    //发放奖励MQ
-                                    PrizeSetHelper.Do("6", pos.PosSn);
-                                }
+                                string duration = trade.Field2; //设备套餐时长
+                                string unit = trade.Field3; //套餐单位 0:按天 1:按月
+                                if(unit == "1") Months = int.Parse(function.CheckInt(duration));
+                                else Months = int.Parse(function.CheckInt(duration)) / 30;
                             }
                             else
                             {
@@ -120,55 +94,9 @@ namespace MySystem
                             string TradeMonth = DateTime.Now.ToString("yyyyMM");
 
                             add.Duration = Months;
-                            // add.LastMonth = TradeMonth;
-                            // add.DoMonths = 1;
                             add.Unit = "m";
-                            WifiTradeHelper.Instance.DoOne(db, add.Id, DateTime.Now.ToString("yyyy-MM"));
-                            db.SaveChanges();
-
-
-                            // if(Months > 0)
-                            // {
-                                // decimal TradeAmt = TradeAmount / Months;
-                                // TradeAmt = PublicFunction.NumberFormat(TradeAmt);
-                                // if(statFlag)
-                                // {
-                                //     PxcModels.TradeDaySummary stat = db.TradeDaySummary.Where(m => m.UserId == pos.BuyUserId && m.BrandId == pos.BrandId).OrderByDescending(m => m.Id).FirstOrDefault() ?? new PxcModels.TradeDaySummary();
-                                //     TradeMonth = string.IsNullOrEmpty(stat.TradeMonth) ? DateTime.Now.AddMonths(-1).ToString("yyyyMM") : stat.TradeMonth;
-                                // }
-                                // DateTime StartMonth = DateTime.Parse(TradeMonth.Substring(0, 4) + "-" + TradeMonth.Substring(4, 2) + "-01 00:00:00");
-                                // for (int i = 1; i <= Months; i++)
-                                // {
-                                    // StartMonth = StartMonth.AddMonths(1);
-                                    // StatTrade(db, pos.BuyUserId, pos.BrandId, TradeMonth, TradeAmt);
-                                    // if (pos.BindingTime < DateTime.Now.AddMonths(-9))
-                                    // {
-                                    //     StatTradeBefore(db, pos.BuyUserId, pos.BrandId, TradeMonth, TradeAmt);
-                                    // }
-                                    // else
-                                    // {
-                                    //     StatTradeAfter(db, pos.BuyUserId, pos.BrandId, TradeMonth, TradeAmt);
-                                    // }
-                                    //推送延时队列
-                                    // TimeSpan ts = DateTime.Now - StartMonth;
-                                    // RabbitMQClientV2.Instance.SendMsg("{\"pos_sn\":\"" + pos.PosSn + "\",\"amt\":\"" + TradeAmt + "\"}", "KXS_WIFI_TRADE_QUEUE", (uint)ts.TotalMilliseconds);
-                                // }
-                            // }
-
-                            //检查交易状态,并发奖励
-                            if(pos.ActivationState == 1)
-                            {
-                                PxcModels.PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
-                                SycnSpMerchantService.Instance.WifiSendPrize(db, pos, mer);
-                            }
-
-                            TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                            if (edit != null)
-                            {
-                                edit.Status = 2;
-                                spdb.SaveChanges();
-                            }
-                            
+                            WifiTradeHelper.Instance.DoOne(db, add.Id, DateTime.Now.ToString("yyyy-MM"), true);
+                            db.SaveChanges();                            
                         }
                         if(trade.SerEntryMode == "1")
                         {
@@ -180,28 +108,12 @@ namespace MySystem
                                 MerNo = trade.TradeSnNo,
                                 Id = trade.Id,
                             });
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == trade.TradeSnNo);
-                            if (pos != null)
-                            {
-                                pos.SeoKeyword = trade.TradeAmount.ToString();
-                                pos.PrizeParams = trade.TradeAmount.ToString();
-                                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)
                         {
-                            TradeRecord edit = spdb.TradeRecord.FirstOrDefault(m => m.Id == trade.Id);
-                            if (edit != null)
-                            {
-                                edit.Status = 2;
-                                spdb.SaveChanges();
-                            }
+                            edit.Status = 2;
+                            spdb.SaveChanges();
                         }
                     }           
                     spdb.Dispose();

+ 5 - 72
AppStart/Helper/SycnSpServer/SycnSpUnBindService.cs

@@ -36,80 +36,13 @@ namespace MySystem
                         var tran = db.Database.BeginTransaction();
                         try
                         {
-                            PosPushDataNewHelper.UnBind(Bind);
-                            string PosSn = Bind.MerSnNo;
-                            string MerNo = Bind.MerNo;
-                            PxcModels.MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new PxcModels.MachineForSnNo();
-                            PxcModels.MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo) ?? new PxcModels.MachineForMerNo();
-                            PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId) ?? new PxcModels.PosMachinesTwo();
-                            if (pos.ActivationState == 0 && pos.BuyUserId > 0)
-                            {
-                                string BrandName = RelationClass.GetKqProductsInfo(pos.BrandId);
-                                if (forMerNo != null)
-                                {
-                                    // 删除对应商户
-                                    PxcModels.MachineForMerNo MerEdit = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
-                                    if (MerEdit != null)
-                                    {
-                                        db.MachineForMerNo.Remove(MerEdit);
-                                        db.SaveChanges();
-                                    }
-                                    PxcModels.PosMachinesTwo EditPos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == PosSn) ?? new PxcModels.PosMachinesTwo();
-                                    PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == EditPos.BindMerchantId);
-                                    if(merchant != null)
-                                    {
-                                        pos.BindMerchantId = 0;
-                                        pos.BindingState = 0;
-                                        pos.BindingTime = null;
-                                        db.PosMerchantInfo.Remove(merchant);
-                                        db.SaveChanges();
-                                    }
-                                }
-                                db.MachineUnBind.Add(new PxcModels.MachineUnBind()
-                                {
-                                    CreateDate = DateTime.Now,
-                                    MerchantId = pos.BindMerchantId,
-                                    AuditDate = DateTime.Now,
-                                    AuditDesc = BrandName + "推送解绑",
-                                    AuditStatus = 1,
-                                    SnNo = pos.PosSn,
-                                    BrandId = pos.BrandId,
-                                    UserId = pos.BuyUserId,
-                                    ApplyNo = "U" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8),
-                                });
-                                pos.BindMerchantId = 0;
-                                pos.BindingState = 0;
-                                pos.BindingTime = DateTime.Parse("1900-01-01");
-                                pos.UserId = pos.BuyUserId;
-                                string IdBrand = pos.BuyUserId + "_" + pos.BrandId;
-                                PxcModels.UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
-                                if (userData == null)
-                                {
-                                    userData = db.UserMachineData.Add(new PxcModels.UserMachineData()
-                                    {
-                                        IdBrand = IdBrand,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                userData.BindCount -= 1;
-                                userData.UnBindCount += 1;
-                                db.SaveChanges();
+                            PosPushDataNewHelper.UnBind(Bind);                            
 
-                                UnBindRecord edit = spdb.UnBindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 2;
-                                    spdb.SaveChanges();
-                                }
-                            }
-                            else
+                            UnBindRecord edit = spdb.UnBindRecord.FirstOrDefault(m => m.Id == Bind.Id);
+                            if (edit != null)
                             {
-                                UnBindRecord edit = spdb.UnBindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                if (edit != null)
-                                {
-                                    edit.Status = 0;
-                                    spdb.SaveChanges();
-                                }
+                                edit.Status = 2;
+                                spdb.SaveChanges();
                             }
                             tran.Commit();
                         }

+ 2 - 2
AppStart/WifiTradeHelper.cs

@@ -155,7 +155,7 @@ public class WifiTradeHelper
         db.Dispose();
     }
 
-    public void DoOne(WebCMSEntities db, int Id, string Month)
+    public void DoOne(WebCMSEntities db, int Id, string Month, bool time = false)
     {
         WifiTradeRecord edit = db.WifiTradeRecord.FirstOrDefault(m => m.Id == Id);
         if(edit != null)
@@ -175,7 +175,7 @@ public class WifiTradeHelper
                     MerNo = edit.SnNo,
                     TradeAmount = TradeAmt,
                     TradeSerialNo = Guid.NewGuid().ToString(),
-                    CreateDate = DateTime.Parse(Month + "-01 00:00:00"),
+                    CreateDate = time ? DateTime.Now : DateTime.Parse(Month + "-01 01:00:00"),
                     ProductType = edit.BrandId.ToString(),
                     ErrorMsg = edit.DoMonths == 1 ? edit.TradeAmount.ToString() : "0",
                 });